public class MinPlanarTriSchnyderWood extends MinEdgeOrientation
Modifier and Type | Field and Description |
---|---|
MinHalfedge<Jcg.geometry.Point_> |
rootEdge
half-edge (v_0, v_1) oriented toward v_1, assuming the ccw orientation of faces
|
MinVertex<Jcg.geometry.Point_> |
v0 |
MinVertex<Jcg.geometry.Point_> |
v1 |
MinVertex<Jcg.geometry.Point_> |
v2 |
edgeColor, isWellOriented, polyhedron
Constructor and Description |
---|
MinPlanarTriSchnyderWood(MinPolyhedron_3<Jcg.geometry.Point_> polyhedron,
MinHalfedge<Jcg.geometry.Point_> rootEdge)
Construct the cut-border starting from the root edge (v0, v1)
At the beginning the cut-border contains edges (v2, v0) and (v1, v2)
Edges are ccw oriented around faces
|
Modifier and Type | Method and Description |
---|---|
void |
addToCutBorder(MinHalfedge<Jcg.geometry.Point_> e,
Jcg.util.DListNode<MinHalfedge<Jcg.geometry.Point_>> node)
Add a half-edge to the cut-border, at a given position (in the cut-border)
Update all concerned information (colors, existent chords, boundary vertices, ...)
|
java.lang.String[] |
encodeSchnyderWood()
Return the parenthesis encoding of the Schnyder wood, consisting of two words
balanced parenthesis words.
|
MinHalfedge<Jcg.geometry.Point_> |
getFirstIncomingRedEdge(MinVertex<Jcg.geometry.Point_> v)
Return the first (half)edge oriented toward vertex v and having color 0 (red)
Edges (v0, v1) and (v2, v0) are assumed to be red colored
Return null, if such an edge does not exist
|
MinHalfedge<Jcg.geometry.Point_> |
getNextIncomingRedEdge(MinHalfedge<Jcg.geometry.Point_> e)
Return the next edge of color 0, after edge e (turning in ccw direction), oriented toward its target vertex (denoted by v).
|
int[] |
getOriginalVertexOrdering()
Return an array of indices representing the original vertex ordering
|
java.lang.String[] |
originalVertexOrderingToString() |
void |
performTraversal()
Perform all steps of the vertex conquest, computing the Schnyder wood
|
java.lang.String |
SchnyderWoodToString()
Return a string representing the Schnyder wood
|
void |
setToCutBorder(MinHalfedge<Jcg.geometry.Point_> e)
Add a half-edge to the cut-border, at a given position (in the cut-border)
Update all concerned information (colors, existent chords, boundary vertices, ...)
|
java.lang.String |
toString() |
Jcg.util.DListNode<MinHalfedge<Jcg.geometry.Point_>> |
vertexRemoval(Jcg.util.DListNode<MinHalfedge<Jcg.geometry.Point_>> node)
It removes a vertex from the cut-border (vertex conquest)
It updates the cut-border, assigning color and orientation to edges
|
getEdgeColoration, getEdgeColors, getEdgeOrientation, orientationToString
public MinHalfedge<Jcg.geometry.Point_> rootEdge
public MinVertex<Jcg.geometry.Point_> v0
public MinVertex<Jcg.geometry.Point_> v1
public MinVertex<Jcg.geometry.Point_> v2
public MinPlanarTriSchnyderWood(MinPolyhedron_3<Jcg.geometry.Point_> polyhedron, MinHalfedge<Jcg.geometry.Point_> rootEdge)
public Jcg.util.DListNode<MinHalfedge<Jcg.geometry.Point_>> vertexRemoval(Jcg.util.DListNode<MinHalfedge<Jcg.geometry.Point_>> node)
node
- The node in the list storing the given half-edge (whose vertex will be removed)public void addToCutBorder(MinHalfedge<Jcg.geometry.Point_> e, Jcg.util.DListNode<MinHalfedge<Jcg.geometry.Point_>> node)
public void setToCutBorder(MinHalfedge<Jcg.geometry.Point_> e)
public void performTraversal()
public int[] getOriginalVertexOrdering()
public MinHalfedge<Jcg.geometry.Point_> getFirstIncomingRedEdge(MinVertex<Jcg.geometry.Point_> v)
public MinHalfedge<Jcg.geometry.Point_> getNextIncomingRedEdge(MinHalfedge<Jcg.geometry.Point_> e)
public java.lang.String[] encodeSchnyderWood()
public java.lang.String[] originalVertexOrderingToString()
public java.lang.String toString()
toString
in class java.lang.Object
public java.lang.String SchnyderWoodToString()