public class LoopSubdivision extends SubdivisionMethod_3
polyhedron3D
Constructor and Description |
---|
LoopSubdivision(Polyhedron_3<Point_3> polyhedron) |
Modifier and Type | Method and Description |
---|---|
Point_3 |
computeEdgePoint(Halfedge<Point_3> h)
Compute a new edge point (given the half-edge h)
|
java.util.HashMap<Halfedge<Point_3>,Point_3> |
computeEdgePoints()
Compute all new edge points and store the result in an HashMap
|
Point_3 |
computeNewVertexLocation(Vertex<Point_3> v)
Compute the new coordinates for a vertex (already existing in the initial mesh)
|
Point_3[] |
computeNewVertexLocations()
Compute the new coordinates for all vertices of the initial mesh
|
void |
splitEdges(java.util.HashMap<Halfedge<Point_3>,Point_3> edgePoints)
Splits all edges by inserting a new vertex
|
void |
subdivide()
The main method performing the subdivision process
To be implemented
|
void |
subdivideFace(Face<Point_3> f)
Perform the subdivision of a face into 4 triangular sub-faces
Edges must already be split: the face has degree 3+3
|
public LoopSubdivision(Polyhedron_3<Point_3> polyhedron)
public void subdivide()
subdivide
in class SubdivisionMethod_3
public void splitEdges(java.util.HashMap<Halfedge<Point_3>,Point_3> edgePoints)
public void subdivideFace(Face<Point_3> f)
public Point_3 computeEdgePoint(Halfedge<Point_3> h)
public java.util.HashMap<Halfedge<Point_3>,Point_3> computeEdgePoints()
public Point_3 computeNewVertexLocation(Vertex<Point_3> v)
public Point_3[] computeNewVertexLocations()