17#include <geos/geom/CoordinateSequence.h>
19#include <geos/export.h>
54class GEOS_DLL LineLimiter {
62 const Envelope* limitEnv;
63 std::unique_ptr<geom::CoordinateSequence> ptList;
64 const Coordinate* lastOutside;
65 std::vector<std::unique_ptr<CoordinateSequence>> sections;
68 void addPoint(
const Coordinate* p);
69 void addOutside(
const Coordinate* p);
70 bool isLastSegmentIntersecting(
const Coordinate* p);
78 LineLimiter(
const Envelope* env)
81 , lastOutside(
nullptr)
84 std::vector<std::unique_ptr<CoordinateSequence>>& limit(
const CoordinateSequence *pts);
The internal representation of a list of coordinates inside a Geometry.
Definition CoordinateSequence.h:56
Coordinate is the lightweight class used to store coordinates.
Definition Coordinate.h:217
An Envelope defines a rectangulare region of the 2D coordinate plane.
Definition Envelope.h:59
Provides classes for implementing operations on geometries.
Definition CleanCoverage.h:34
Basic namespace for all GEOS functionalities.
Definition geos.h:38