18#include <geos/noding/BasicSegmentString.h>
19#include <geos/export.h>
44using geos::geom::CoordinateXY;
63 const RelateGeometry* m_inputGeom;
64 const Geometry* m_parentPolygonal =
nullptr;
74 const RelateGeometry* inputGeom)
77 , m_dimension(dimension)
80 , m_inputGeom(inputGeom)
81 , m_parentPolygonal(poly)
87 static const RelateSegmentString* createSegmentString(
89 bool isA,
int dim,
int elementId,
int ringId,
90 const Geometry* poly,
const RelateGeometry* parent);
99 const CoordinateXY* prevVertex(
100 std::size_t segIndex,
101 const CoordinateXY* pt)
const;
109 const CoordinateXY* nextVertex(
110 std::size_t segIndex,
111 const CoordinateXY* pt)
const;
116 static const RelateSegmentString* createLine(
118 bool isA,
int elementId,
119 const RelateGeometry* parent);
121 static const RelateSegmentString* createRing(
123 bool isA,
int elementId,
int ringId,
124 const Geometry* poly,
const RelateGeometry* parent);
126 inline bool isA()
const {
130 inline const RelateGeometry* getGeometry()
const {
134 inline const Geometry* getPolygonal()
const {
135 return m_parentPolygonal;
138 NodeSection* createNodeSection(std::size_t segIndex,
const CoordinateXY intPt)
const;
154 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