18#include <geos/geom/Coordinate.h>
19#include <geos/export.h>
27 class BoundaryNodeRule;
39class GEOS_DLL LinearBoundary {
42 using CoordinateXY = geos::geom::CoordinateXY;
49 Coordinate::ConstIntMap m_vertexDegree;
51 const BoundaryNodeRule& m_boundaryNodeRule;
58 LinearBoundary(std::vector<const LineString*>& lines,
const BoundaryNodeRule& bnRule);
60 bool hasBoundary()
const;
62 bool isBoundary(
const CoordinateXY* pt)
const;
69 bool checkBoundary(Coordinate::ConstIntMap& vertexDegree)
const;
71 static void computeBoundaryPoints(
72 std::vector<const LineString*>& lines,
73 Coordinate::ConstIntMap& vertexDegree);
75 static void addEndpoint(
76 const CoordinateXY *p,
77 Coordinate::ConstIntMap& vertexDegree);
An interface for rules which determine whether node points which are in boundaries of lineal geometry...
Definition BoundaryNodeRule.h:52
Coordinate is the lightweight class used to store coordinates.
Definition Coordinate.h:217
Definition LineString.h:66
Basic namespace for all GEOS functionalities.
Definition geos.h:39