18#include <geos/algorithm/BoundaryNodeRule.h>
19#include <geos/algorithm/locate/PointOnGeometryLocator.h>
20#include <geos/operation/relateng/AdjacentEdgeLocator.h>
21#include <geos/operation/relateng/LinearBoundary.h>
22#include <geos/geom/Coordinate.h>
23#include <geos/geom/Location.h>
24#include <geos/export.h>
79 using CoordinateXY = geos::geom::CoordinateXY;
90 bool isPrepared =
false;
92 std::unique_ptr<AdjacentEdgeLocator> adjEdgeLocator;
93 Coordinate::ConstXYSet points;
94 std::vector<const LineString *> lines;
95 std::vector<const Geometry *> polygons;
96 std::vector<std::unique_ptr<PointOnGeometryLocator>> polyLocator;
97 std::unique_ptr<LinearBoundary> lineBoundary;
111 , isPrepared(p_isPrepared)
112 , boundaryRule(p_bnRule)
119 bool hasBoundary()
const;
121 void extractElements(
const Geometry* geom);
123 void addPoint(
const Point* pt);
127 void addPolygonal(
const Geometry* polygonal);
129 Location locate(
const CoordinateXY* p);
131 int locateLineEndWithDim(
const CoordinateXY* p);
141 Location locateNode(
const CoordinateXY* p,
const Geometry* parentPolygonal);
184 int locateWithDim(
const CoordinateXY* p,
bool isNode,
const Geometry* parentPolygonal);
186 int computeDimLocation(
const CoordinateXY* p,
bool isNode,
const Geometry* parentPolygonal);
188 Location locateOnPoints(
const CoordinateXY* p)
const;
190 Location locateOnLines(
const CoordinateXY* p,
bool isNode);
194 Location locateOnPolygons(
const CoordinateXY* p,
bool isNode,
const Geometry* parentPolygonal);
196 Location locateOnPolygonal(
const CoordinateXY* p,
An interface for rules which determine whether node points which are in boundaries of lineal geometry...
Definition BoundaryNodeRule.h:52
An interface for classes which determine the Location of points in Polygon or MultiPolygon geometries...
Definition PointOnGeometryLocator.h:36
Coordinate is the lightweight class used to store coordinates.
Definition Coordinate.h:217
Basic implementation of Geometry, constructed and destructed by GeometryFactory.
Definition Geometry.h:197
Definition LineString.h:66
Definition RelatePointLocator.h:75
int locateNodeWithDim(const CoordinateXY *p, const Geometry *parentPolygonal)
int locateWithDim(const CoordinateXY *p)
Location
Constants representing the location of a point relative to a geometry.
Definition Location.h:32
Basic namespace for all GEOS functionalities.
Definition geos.h:39