20#include <geos/operation/relateng/NodeSection.h>
21#include <geos/export.h>
39using geos::geom::CoordinateXY;
48class GEOS_DLL NodeSections {
53 const CoordinateXY* nodePt;
54 std::vector<std::unique_ptr<NodeSection>> sections;
63 void prepareSections();
65 static bool hasMultiplePolygonSections(
66 std::vector<std::unique_ptr<NodeSection>>& sections,
69 static std::vector<const NodeSection*> collectPolygonSections(
70 std::vector<std::unique_ptr<NodeSection>>& sections,
76 NodeSections(
const CoordinateXY* pt)
80 const CoordinateXY* getCoordinate()
const;
82 void addNodeSection(NodeSection* e);
84 bool hasInteractionAB()
const;
86 const Geometry* getPolygonal(
bool isA)
const;
88 std::unique_ptr<RelateNode> createNode();
94 NodeSections(
const NodeSections&) =
delete;
95 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