21#include <geos/export.h>
22#include <geos/triangulate/tri/Tri.h>
32class CoordinateSequence;
35class NodedSegmentString;
43namespace triangulate {
63 template<
typename TriType>
69 std::unique_ptr<CoordinateSequence>& shellRing,
70 std::vector<std::unique_ptr<CoordinateSequence>>& holeRings);
74 bool isHoleNoded(std::size_t i);
75 std::unique_ptr<CoordinateSequence> getNodedShell();
76 std::unique_ptr<CoordinateSequence> getNodedHole(std::size_t i);
77 std::vector<bool>& getHolesTouching();
84 std::vector<bool> isHoleTouching;
85 std::map<NodedSegmentString*, std::size_t> nodedRingIndexes;
86 std::vector<std::unique_ptr<NodedSegmentString>> nodedRings;
90 friend class PolygonNoder::NodeAdder;
94 createNodedSegString(std::unique_ptr<CoordinateSequence>& ringPts, std::size_t i);
96 void createNodedSegmentStrings(
97 std::unique_ptr<CoordinateSequence>& shellRing,
98 std::vector<std::unique_ptr<CoordinateSequence>>& holeRings);
A LineIntersector is an algorithm that can both test whether two line segments intersect and compute ...
Definition: LineIntersector.h:53
The internal representation of a list of coordinates inside a Geometry.
Definition: CoordinateSequence.h:56
Coordinate is the lightweight class used to store coordinates.
Definition: Coordinate.h:217
Represents a list of contiguous line segments, and supports noding the segments.
Definition: NodedSegmentString.h:58
Definition: PolygonNoder.h:57
Basic namespace for all GEOS functionalities.
Definition: geos.h:38