18#include <geos/noding/BasicSegmentString.h>
19#include <geos/export.h>
30 class CoordinateSequence;
50 using CoordinateXY = geos::geom::CoordinateXY;
60 const RelateGeometry* m_inputGeom;
61 const Geometry* m_parentPolygonal =
nullptr;
65 const CoordinateSequence* pts,
71 const RelateGeometry* inputGeom)
72 : BasicSegmentString(const_cast<CoordinateSequence*>(pts), nullptr)
74 , m_dimension(dimension)
77 , m_inputGeom(inputGeom)
78 , m_parentPolygonal(poly)
84 static const RelateSegmentString* createSegmentString(
85 const CoordinateSequence* pts,
86 bool isA,
int dim,
int elementId,
int ringId,
87 const Geometry* poly,
const RelateGeometry* parent);
96 const CoordinateXY* prevVertex(
98 const CoordinateXY* pt)
const;
106 const CoordinateXY* nextVertex(
107 std::size_t segIndex,
108 const CoordinateXY* pt)
const;
113 static const RelateSegmentString* createLine(
114 const CoordinateSequence* pts,
115 bool isA,
int elementId,
116 const RelateGeometry* parent);
118 static const RelateSegmentString* createRing(
119 const CoordinateSequence* pts,
120 bool isA,
int elementId,
int ringId,
121 const Geometry* poly,
const RelateGeometry* parent);
123 inline bool isA()
const {
127 inline const RelateGeometry* getGeometry()
const {
131 inline const Geometry* getPolygonal()
const {
132 return m_parentPolygonal;
135 NodeSection* createNodeSection(std::size_t segIndex,
const CoordinateXY intPt)
const;
151 bool isContainingSegment(std::size_t segIndex,
const CoordinateXY* pt)
const;
The internal representation of a list of coordinates inside a Geometry.
Definition CoordinateSequence.h:56
Basic implementation of Geometry, constructed and destructed by GeometryFactory.
Definition Geometry.h:197
Represents a list of contiguous line segments, and supports noding the segments.
Definition BasicSegmentString.h:44
Basic namespace for all GEOS functionalities.
Definition geos.h:39