public class CompactTriangleMesh_6n extends CompactTriangleMesh
Constructor and Description |
---|
CompactTriangleMesh_6n(int n) |
Modifier and Type | Method and Description |
---|---|
int |
getEdge(int v)
Return an edge incident to vertex v
|
int |
getLeftBack(int e)
Return the 'LeftBack' edge, neighbor of 'e'
|
int |
getLeftFront(int e)
Return the 'LeftFront' edge of the input edge 'e'.
|
float[] |
getNormalFloat(int v)
Return the normal to a vertex in the mesh (simple float precision)
Fast version with simple Float precision, with no use of Point_ interface
|
int |
getRightBack(int e)
Return the 'RightBack' edge, neighbor of 'e'
|
int |
getRightFront(int e)
Return the 'RightFront' edge, neighbor of 'e'
|
int |
getSource(int e)
Return the vertex source 'u' of edge 'e'=(u, v)
|
int |
getTarget(int e)
Return the vertex target of 'e'
|
boolean |
isOutgoing(int e,
int v)
Check whether edge e is outgoing from vertex v
|
java.lang.String |
name()
Return the name of the data structure
|
void |
setLefServiceBit(int e) |
void |
setLeft(int e,
int eLeft) |
void |
setRight(int e,
int eRight) |
void |
setRightServiceBit(int e) |
int |
sizeOfEdges() |
int |
sizeOfVertices()
Return the number of vertices in the triangulation
|
java.lang.String |
toString()
Return a String which represents the reference table encoding of the data structure
|
int |
vertexDegree(int v)
Return the degree of a given vertex (cw direction)
|
int |
vertexDegreeFast(int v)
Return the degree of a given vertex (cw direction)
|
getPoint, getX, getY, getZ, nextColor, prevColor, setPoint, vectorToString
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
computeFaceNormal, crossProduct
public void setLeft(int e, int eLeft)
public void setRight(int e, int eRight)
public void setLefServiceBit(int e)
public void setRightServiceBit(int e)
public int sizeOfVertices()
TriangulationInterface
public int sizeOfEdges()
public int getLeftFront(int e)
Every integer is encoded on 32 bits and stores two informations:
-) a reference on 30 bits (the index of the edge 'e')
-) 2 service bits (the two rightmost bits: less significant bits)
getLeftFront
in interface WingededgeInterface
getLeftFront
in class CompactTriangleMesh
e
- the index of the input edge 'e'public int getRightFront(int e)
CompactTriangleMesh
getRightFront
in interface WingededgeInterface
getRightFront
in class CompactTriangleMesh
e
- an edgepublic int getLeftBack(int e)
CompactTriangleMesh
getLeftBack
in interface WingededgeInterface
getLeftBack
in class CompactTriangleMesh
e
- an edgepublic int getRightBack(int e)
CompactTriangleMesh
getRightBack
in interface WingededgeInterface
getRightBack
in class CompactTriangleMesh
e
- an edgepublic int getSource(int e)
The 3 outgoing edges of vertex 'u' have numbers: 3u, 3u+1, 3u+2
getSource
in interface TriangulationInterface
getSource
in class CompactTriangleMesh
e
- the index of an edge (a number between 0..3n-1)public int getTarget(int e)
CompactTriangleMesh
getTarget
in interface TriangulationInterface
getTarget
in class CompactTriangleMesh
e
- an edgepublic int getEdge(int v)
CompactTriangleMesh
getEdge
in interface TriangulationInterface
getEdge
in class CompactTriangleMesh
v
- the index of the vertexpublic boolean isOutgoing(int e, int v)
isOutgoing
in interface WingededgeInterface
isOutgoing
in class CompactTriangleMesh
e
- an edgev
- the index of a vertexpublic int vertexDegree(int v)
public int vertexDegreeFast(int v)
To check
public float[] getNormalFloat(int v)
public java.lang.String toString()
toString
in class java.lang.Object
public java.lang.String name()