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>
54using geos::geom::CoordinateXY;
93 bool isPrepared =
false;
95 std::unique_ptr<AdjacentEdgeLocator> adjEdgeLocator;
96 Coordinate::ConstXYSet points;
97 std::vector<const LineString *> lines;
98 std::vector<const Geometry *> polygons;
99 std::vector<std::unique_ptr<PointOnGeometryLocator>> polyLocator;
100 std::unique_ptr<LinearBoundary> lineBoundary;
114 , isPrepared(p_isPrepared)
115 , boundaryRule(p_bnRule)
122 bool hasBoundary()
const;
124 void extractElements(
const Geometry* geom);
126 void addPoint(
const Point* pt);
130 void addPolygonal(
const Geometry* polygonal);
132 Location locate(
const CoordinateXY* p);
134 int locateLineEndWithDim(
const CoordinateXY* p);
144 Location locateNode(
const CoordinateXY* p,
const Geometry* parentPolygonal);
187 int locateWithDim(
const CoordinateXY* p,
bool isNode,
const Geometry* parentPolygonal);
189 int computeDimLocation(
const CoordinateXY* p,
bool isNode,
const Geometry* parentPolygonal);
191 Location locateOnPoints(
const CoordinateXY* p)
const;
193 Location locateOnLines(
const CoordinateXY* p,
bool isNode);
197 Location locateOnPolygons(
const CoordinateXY* p,
bool isNode,
const Geometry* parentPolygonal);
199 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:86
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