Package com.irurueta.geometry
Class Triangulator3D
java.lang.Object
com.irurueta.geometry.Triangulator3D
- Direct Known Subclasses:
VanGoghTriangulator3D
This class defines a triangulator for 3D polygons. Triangulators divide
polygons into triangles, which are the simplest geometric figure.
Criteria for triangulation depends on each triangulator implementation.
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final TriangulatorMethodConstant defining default triangulator method.static final intConstant defining minimum vertices allowed in a polygon. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic Triangulator3Dcreate()Instantiates a triangulator for 3D polygons using default method.static Triangulator3Dcreate(TriangulatorMethod method) Instantiates a triangulator for 3D polygons using provided method.abstract TriangulatorMethodReturns triangulator method.abstract List<Triangle3D> triangulate(Polygon3D polygon) Triangulates provided polygon by dividing it into a set of triangles.abstract List<Triangle3D> triangulate(List<Point3D> vertices) Triangulates a polygon formed by provided vertices.abstract List<Triangle3D> triangulate(List<Point3D> vertices, List<int[]> indices) Triangulates a polygon formed by provided vertices.
-
Field Details
-
MIN_VERTICES
public static final int MIN_VERTICESConstant defining minimum vertices allowed in a polygon.- See Also:
-
DEFAULT_TRIANGULATOR_METHOD
Constant defining default triangulator method.
-
-
Constructor Details
-
Triangulator3D
protected Triangulator3D()Empty constructor.
-
-
Method Details
-
getMethod
Returns triangulator method. Each method implementation will divide polygons into triangles using different techniques.- Returns:
- Triangulator method.
-
triangulate
Triangulates provided polygon by dividing it into a set of triangles.- Parameters:
polygon- Polygon to be triangulated.- Returns:
- List of triangles forming the polygon that has been triangulated.
- Throws:
TriangulatorException- Raised if triangulation cannot be done. Usually this indicates numerical instability or polygon degeneracy.
-
triangulate
Triangulates a polygon formed by provided vertices.- Parameters:
vertices- List of points considered as vertices of a polygon.- Returns:
- List of triangles forming the polygon that has been triangulated.
- Throws:
TriangulatorException- Raised if triangulation cannot be done. Usually this indicates numerical instability or polygon degeneracy.
-
triangulate
public abstract List<Triangle3D> triangulate(List<Point3D> vertices, List<int[]> indices) throws TriangulatorException Triangulates a polygon formed by provided vertices.- Parameters:
vertices- List of points considered as vertices of a polygon.indices- List where indices of original vertices will be stored. This list can be used to refer to the original order of vertices. Notice that vertices indices might be repeated because vertices might appear in more than one triangle after triangulation. If this parameter is null, indices won't be stored in this list.- Returns:
- List of triangles forming the polygon that has been triangulated.
- Throws:
TriangulatorException- Raised if triangulation cannot be done. Usually this indicates numerical instability or polygon degeneracy.
-
create
Instantiates a triangulator for 3D polygons using default method.- Returns:
- A triangulator for 3D polygons.
-
create
Instantiates a triangulator for 3D polygons using provided method.- Parameters:
method- A triangulator method.- Returns:
- A triangulator for 3D polygons.
-