Package squidpony.squidmath
Class IndexedDelaunayTriangulator
java.lang.Object
squidpony.squidmath.IndexedDelaunayTriangulator
public class IndexedDelaunayTriangulator extends Object
Delaunay triangulation. Adapted from Paul Bourke's triangulate: http://paulbourke.net/papers/triangulate/
- Author:
- Nathan Sweet
-
Constructor Summary
Constructors Constructor Description IndexedDelaunayTriangulator() -
Method Summary
Modifier and Type Method Description IntVLAcomputeTriangles(double[] polygon, boolean sorted)IntVLAcomputeTriangles(double[] points, int offset, int count, boolean sorted)Triangulates the given point cloud to a list of triangle indices that make up the Delaunay triangulation.static booleanisPointInPolygon(double[] polygon, int offset, int count, double x, double y)Returns true if the specified point is in the polygon.voidtrim(IntVLA triangles, double[] points, double[] hull, int offset, int count)Removes all triangles with a centroid outside the specified hull, which may be concave.
-
Constructor Details
-
Method Details
-
computeTriangles
-
computeTriangles
Triangulates the given point cloud to a list of triangle indices that make up the Delaunay triangulation.- Parameters:
points- x,y pairs describing points. Duplicate points will result in undefined behavior.sorted- If false, the points will be sorted by the x coordinate, which is required by the triangulation algorithm. In that case, the input array is not modified, the returned indices are for the input array, and count*2 additional working memory is needed.- Returns:
- triples of indices into the points that describe the triangles in clockwise order. Note the returned array is reused for later calls to the same method.
-
trim
Removes all triangles with a centroid outside the specified hull, which may be concave. Note some triangulations may have triangles whose centroid is inside the hull but a portion is outside. -
isPointInPolygon
public static boolean isPointInPolygon(double[] polygon, int offset, int count, double x, double y)Returns true if the specified point is in the polygon.- Parameters:
offset- Starting polygon index.count- Number of array indices to use after offset.
-