20#include <geos/operation/relateng/NodeSection.h>
21#include <geos/export.h>
43class GEOS_DLL NodeSections {
44 using CoordinateXY = geos::geom::CoordinateXY;
50 const CoordinateXY* nodePt;
51 std::vector<std::unique_ptr<NodeSection>> sections;
60 void prepareSections();
62 static bool hasMultiplePolygonSections(
63 std::vector<std::unique_ptr<NodeSection>>& sections,
66 static std::vector<const NodeSection*> collectPolygonSections(
67 std::vector<std::unique_ptr<NodeSection>>& sections,
73 NodeSections(
const CoordinateXY* pt)
77 const CoordinateXY* getCoordinate()
const;
79 void addNodeSection(NodeSection* e);
81 bool hasInteractionAB()
const;
83 const Geometry* getPolygonal(
bool isA)
const;
85 std::unique_ptr<RelateNode> createNode();
91 NodeSections(
const NodeSections&) =
delete;
92 NodeSections& operator=(
const NodeSections&) =
delete;
Basic implementation of Geometry, constructed and destructed by GeometryFactory.
Definition Geometry.h:197
Basic namespace for all GEOS functionalities.
Definition geos.h:39