Package | Description |
---|---|
Jcg.pointLocation | |
Jcg.polyhedron | |
Jcg.schnyderwoods | |
Jcg.subdivision |
Modifier and Type | Method and Description |
---|---|
Halfedge<Point_2> |
PlanarPointLocation.locatePoint(Polyhedron_3<Point_2> triangulation,
Point_2 queryPoint)
Compute and return the face (an incident half-edge) containing the query point
|
Modifier and Type | Field and Description |
---|---|
Halfedge<X> |
Halfedge.next |
Halfedge<X> |
Halfedge.opposite |
Halfedge<X> |
Halfedge.prev |
Modifier and Type | Field and Description |
---|---|
java.util.ArrayList<Halfedge<X>> |
Polyhedron_3.halfedges |
Modifier and Type | Method and Description |
---|---|
Halfedge<X> |
Polyhedron_3.addTriangleToBorder(Halfedge h,
X point)
creates a new triangle facet within the hole incident to h by connecting
the tip of h with two new halfedges and a new vertex.
|
Halfedge<X> |
Polyhedron_3.fillHole(Halfedge h) |
Halfedge<X> |
Face.getEdge() |
Halfedge<X> |
Vertex.getHalfedge() |
Halfedge<X> |
Halfedge.getNext() |
Halfedge<X> |
Halfedge.getOpposite() |
Halfedge<X> |
Halfedge.getPrev() |
Halfedge<X> |
Polyhedron_3.makeHole(Halfedge<X> h) |
Halfedge<X> |
Polyhedron_3.makeTriangle(X p1,
X p2,
X p3)
a triangle with border edges is added to the polyhedral surface.
|
Halfedge<X> |
Polyhedron_3.splitEdge(Halfedge<X> h,
X point)
splits the edge inserting a new vertex, with coordinates given by point.
|
Halfedge<X> |
Polyhedron_3.splitFacet(Halfedge<X> h,
Halfedge<X> g)
splits the facet incident to h and g into two facets with a new diagonal
between the two vertices denoted by h and g respectively.
|
Modifier and Type | Method and Description |
---|---|
Halfedge<X> |
Polyhedron_3.addTriangleToBorder(Halfedge h,
X point)
creates a new triangle facet within the hole incident to h by connecting
the tip of h with two new halfedges and a new vertex.
|
Halfedge<X> |
Polyhedron_3.fillHole(Halfedge h) |
void |
Polyhedron_3.flipEdge(Halfedge<X> e)
Perform the flip of an edge
|
boolean |
Polyhedron_3.isTriangle(Halfedge<X> h)
true iff the connected component denoted by h is a triangle
|
Halfedge<X> |
Polyhedron_3.makeHole(Halfedge<X> h) |
void |
Vertex.setEdge(Halfedge<X> halfedge) |
void |
Face.setEdge(Halfedge<X> halfedge) |
void |
Halfedge.setNext(Halfedge<X> e) |
void |
Halfedge.setOpposite(Halfedge<X> e) |
void |
Halfedge.setPrev(Halfedge<X> e) |
Halfedge<X> |
Polyhedron_3.splitEdge(Halfedge<X> h,
X point)
splits the edge inserting a new vertex, with coordinates given by point.
|
Halfedge<X> |
Polyhedron_3.splitFacet(Halfedge<X> h,
Halfedge<X> g)
splits the facet incident to h and g into two facets with a new diagonal
between the two vertices denoted by h and g respectively.
|
Halfedge<X> |
Polyhedron_3.splitFacet(Halfedge<X> h,
Halfedge<X> g)
splits the facet incident to h and g into two facets with a new diagonal
between the two vertices denoted by h and g respectively.
|
Modifier and Type | Field and Description |
---|---|
Halfedge<Point_> |
PlanarTriSchnyderWood.rootEdge
half-edge (v_0, v_1) oriented toward v_1, assuming the ccw orientation of faces
|
Modifier and Type | Method and Description |
---|---|
Halfedge<Point_> |
PlanarTriSchnyderWood.getFirstIncomingRedEdge(Vertex<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
|
Halfedge<Point_> |
PlanarTriSchnyderWood.getNextIncomingRedEdge(Halfedge<Point_> e)
Return the next edge of color 0, after edge e (turning in ccw direction), oriented toward its target vertex (denoted by v).
|
Modifier and Type | Method and Description |
---|---|
DListNode<Halfedge<Point_>> |
PlanarTriSchnyderWood.vertexRemoval(DListNode<Halfedge<Point_>> node)
It removes a vertex from the cut-border (vertex conquest)
It updates the cut-border, assigning color and orientation to edges
|
Modifier and Type | Method and Description |
---|---|
void |
PlanarTriSchnyderWood.addToCutBorder(Halfedge<Point_> e,
DListNode<Halfedge<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, ...)
|
Halfedge<Point_> |
PlanarTriSchnyderWood.getNextIncomingRedEdge(Halfedge<Point_> e)
Return the next edge of color 0, after edge e (turning in ccw direction), oriented toward its target vertex (denoted by v).
|
void |
PlanarTriSchnyderWood.setToCutBorder(Halfedge<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, ...)
|
Modifier and Type | Method and Description |
---|---|
void |
PlanarTriSchnyderWood.addToCutBorder(Halfedge<Point_> e,
DListNode<Halfedge<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, ...)
|
DListNode<Halfedge<Point_>> |
PlanarTriSchnyderWood.vertexRemoval(DListNode<Halfedge<Point_>> node)
It removes a vertex from the cut-border (vertex conquest)
It updates the cut-border, assigning color and orientation to edges
|
Constructor and Description |
---|
PlanarTriSchnyderWood(Polyhedron_3<Point_> polyhedron,
Halfedge<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 |
---|---|
java.util.HashMap<Halfedge<Point_3>,Point_3> |
LoopSubdivision.computeEdgePoints()
Compute all new edge points and store the result in an HashMap
|
Modifier and Type | Method and Description |
---|---|
Point_3 |
LoopSubdivision.computeEdgePoint(Halfedge<Point_3> h)
Compute a new edge point (given the half-edge h)
|
Modifier and Type | Method and Description |
---|---|
void |
LoopSubdivision.splitEdges(java.util.HashMap<Halfedge<Point_3>,Point_3> edgePoints)
Splits all edges by inserting a new vertex
|