19 #ifndef GEOS_TRIANGULATE_VORONOIDIAGRAMBUILDER_H
20 #define GEOS_TRIANGULATE_VORONOIDIAGRAMBUILDER_H
22 #include <geos/triangulate/quadedge/QuadEdgeSubdivision.h>
23 #include <geos/geom/Envelope.h>
30 class CoordinateSequence;
31 class GeometryCollection;
32 class GeometryFactory;
34 namespace triangulate {
46 class GEOS_DLL VoronoiDiagramBuilder {
52 VoronoiDiagramBuilder();
54 ~VoronoiDiagramBuilder() =
default;
92 void setTolerance(
double tolerance);
99 std::unique_ptr<quadedge::QuadEdgeSubdivision> getSubdivision();
121 std::unique_ptr<geom::CoordinateSequence> siteCoords;
123 std::unique_ptr<quadedge::QuadEdgeSubdivision> subdiv;
129 static std::unique_ptr<geom::GeometryCollection>
130 clipGeometryCollection(std::vector<std::unique_ptr<geom::Geometry>> & geoms,
const geom::Envelope& clipEnv);
137 #endif //GEOS_TRIANGULATE_VORONOIDIAGRAMBUILDER_H