17#include <geos/algorithm/hull/HullTri.h>
18#include <geos/triangulate/tri/TriList.h>
19#include <geos/triangulate/quadedge/TriangleVisitor.h>
28namespace triangulate {
31class QuadEdgeSubdivision;
41class HullTriangulation
46 template<
typename TriType>
55 QuadEdgeSubdivision& subdiv,
56 TriList<HullTri>& triList);
68 static geom::CoordinateSequence traceBoundary(
69 TriList<HullTri>& triList);
71 static HullTri* findBorderTri(
72 TriList<HullTri>& triList);
78 HullTriangulation() {};
80 static void createDelaunayTriangulation(
82 TriList<HullTri>& triList);
92 static std::unique_ptr<Geometry> traceBoundaryPolygon(
93 TriList<HullTri>& triList,
94 const GeometryFactory* factory);
96 static HullTri* nextBorderTri(HullTri* triStart);
106 static std::unique_ptr<Geometry> geomunion(
107 TriList<HullTri>& triList,
108 const GeometryFactory* factory);
111 class HullTriVisitor :
public TriangleVisitor
116 TriList<HullTri>& triList;
120 HullTriVisitor(TriList<HullTri>& p_triList)
124 void visit(std::array<QuadEdge*, 3>& triEdges)
override;
Coordinate is the lightweight class used to store coordinates.
Definition Coordinate.h:217
Supplies a set of utility methods for building Geometry objects from CoordinateSequence or other Geom...
Definition GeometryFactory.h:70
Basic implementation of Geometry, constructed and destructed by GeometryFactory.
Definition Geometry.h:197
A class that contains the QuadEdges representing a planar subdivision that models a triangulation.
Definition QuadEdgeSubdivision.h:78
A class that represents the edge data structure which implements the quadedge algebra.
Definition QuadEdge.h:53
An interface for algorithms which process the triangles in a QuadEdgeSubdivision.
Definition TriangleVisitor.h:33
Basic namespace for all GEOS functionalities.
Definition geos.h:39