Package org.locationtech.jts.triangulate
Class IncrementalDelaunayTriangulator
java.lang.Object
org.locationtech.jts.triangulate.IncrementalDelaunayTriangulator
Computes a Delaunay Triangulation of a set of
Vertex
es, using an
incremental insertion algorithm.- Version:
- 1.0
- Author:
- Martin Davis
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
forceConvex
(boolean isForceConvex) Sets whether the triangulation is forced to have a convex boundary.insertSite
(Vertex v) Inserts a new point into a subdivision representing a Delaunay triangulation, and fixes the affected edges so that the result is still a Delaunay triangulation.void
insertSites
(Collection vertices) Inserts all sites in a collection.
-
Constructor Details
-
IncrementalDelaunayTriangulator
Creates a new triangulator using the givenQuadEdgeSubdivision
. The triangulator uses the tolerance of the supplied subdivision.- Parameters:
subdiv
- a subdivision in which to build the TIN
-
-
Method Details
-
forceConvex
public void forceConvex(boolean isForceConvex) Sets whether the triangulation is forced to have a convex boundary. Because of the use of a finite-size frame, this condition requires special logic to enforce. The default is true, since this is a requirement for some uses of Delaunay Triangulations (such as Concave Hull generation). However, forcing the triangulation boundary to be convex may cause the overall frame triangulation to be non-Delaunay. This can cause a problem for Voronoi generation, so the logic can be disabled via this method.- Parameters:
isForceConvex
- true if the triangulation boundary is forced to be convex
-
insertSites
Inserts all sites in a collection. The inserted vertices MUST be unique up to the provided tolerance value. (i.e. no two vertices should be closer than the provided tolerance value). They do not have to be rounded to the tolerance grid, however.- Parameters:
vertices
- a Collection of Vertex- Throws:
LocateFailureException
- if the location algorithm fails to converge in a reasonable number of iterations
-
insertSite
Inserts a new point into a subdivision representing a Delaunay triangulation, and fixes the affected edges so that the result is still a Delaunay triangulation.- Returns:
- a quadedge containing the inserted vertex
-