Class DelaunayTriangulator


  • public class DelaunayTriangulator
    extends java.lang.Object
    Delaunay triangulation. Adapted from Paul Bourke's triangulate: http://paulbourke.net/papers/triangulate/
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      ShortArray computeTriangles​(float[] polygon, boolean sorted)  
      ShortArray computeTriangles​(float[] points, int offset, int count, boolean sorted)
      Triangulates the given point cloud to a list of triangle indices that make up the Delaunay triangulation.
      ShortArray computeTriangles​(FloatArray points, boolean sorted)  
      void trim​(ShortArray triangles, float[] points, float[] hull, int offset, int count)
      Removes all triangles with a centroid outside the specified hull, which may be concave.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • DelaunayTriangulator

        public DelaunayTriangulator()
    • Method Detail

      • computeTriangles

        public ShortArray computeTriangles​(float[] points,
                                           int offset,
                                           int count,
                                           boolean sorted)
        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. If sorting is done 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

        public void trim​(ShortArray triangles,
                         float[] points,
                         float[] hull,
                         int offset,
                         int count)
        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.