18 #include <geos/geom/Point.h>
19 #include <geos/geom/Polygon.h>
20 #include <geos/geom/LineString.h>
22 #include <geos/export.h>
32 class GeometryFactory;
36 class CoordinateArraySequence;
40 class PointOnGeometryLocator;
50 using algorithm::locate::PointOnGeometryLocator;
91 std::unique_ptr<Geometry> geomNonPoint;
93 std::unique_ptr<PointOnGeometryLocator> locator;
97 std::unique_ptr<PointOnGeometryLocator> createLocator(
const Geometry* geomNonPoint);
99 std::unique_ptr<Geometry> prepareNonPoint(
const Geometry* geomInput);
107 std::unique_ptr<Geometry> createPointResult(std::vector<std::unique_ptr<Point>>& points)
const;
111 std::vector<std::unique_ptr<Point>> createPoints(std::set<Coordinate>& coords)
const;
113 bool hasLocation(
bool isCovered,
const Coordinate& coord)
const;
115 std::unique_ptr<Geometry> copyNonPoint()
const;
117 std::unique_ptr<CoordinateArraySequence> extractCoordinates(
const Geometry* points,
const PrecisionModel* pm)
const;
119 std::vector<std::unique_ptr<Polygon>> extractPolygons(
const Geometry* geom)
const;
121 std::vector<std::unique_ptr<LineString>> extractLines(
const Geometry* geom)
const;
131 std::unique_ptr<Geometry> getResult();
The default implementation of CoordinateSequence.
Definition: CoordinateArraySequence.h:37
Coordinate is the lightweight class used to store coordinates.
Definition: Coordinate.h:60
Supplies a set of utility methods for building Geometry objects from CoordinateSequence or other Geom...
Definition: GeometryFactory.h:68
Basic implementation of Geometry, constructed and destructed by GeometryFactory.
Definition: Geometry.h:188
Specifies the precision model of the Coordinate in a Geometry.
Definition: PrecisionModel.h:87
Definition: OverlayMixedPoints.h:79
Definition: IndexedNestedRingTester.h:27
Basic namespace for all GEOS functionalities.
Definition: IndexedNestedRingTester.h:26