19 #ifndef GEOS_TRIANGULATE_DELAUNAYTRIANGULATIONBUILDER_H
20 #define GEOS_TRIANGULATE_DELAUNAYTRIANGULATIONBUILDER_H
22 #include <geos/triangulate/IncrementalDelaunayTriangulator.h>
23 #include <geos/geom/CoordinateSequence.h>
30 class MultiLineString;
31 class GeometryCollection;
32 class GeometryFactory;
35 namespace triangulate {
37 class QuadEdgeSubdivision;
43 namespace triangulate {
55 class GEOS_DLL DelaunayTriangulationBuilder {
64 static std::unique_ptr<geom::CoordinateSequence> extractUniqueCoordinates(
const geom::Geometry& geom);
73 static IncrementalDelaunayTriangulator::VertexList toVertices(
const geom::CoordinateSequence& coords);
80 static std::unique_ptr<geom::CoordinateSequence> unique(
const geom::CoordinateSequence* seq);
83 std::unique_ptr<geom::CoordinateSequence> siteCoords;
85 std::unique_ptr<quadedge::QuadEdgeSubdivision> subdiv;
92 DelaunayTriangulationBuilder();
94 ~DelaunayTriangulationBuilder() =
default;
102 void setSites(
const geom::Geometry& geom);
110 void setSites(
const geom::CoordinateSequence& coords);
120 setTolerance(
double p_tolerance)
122 this->tolerance = p_tolerance;
168 #endif //GEOS_TRIANGULATE_QUADEDGE_DELAUNAYTRIANGULATIONBUILDER_H