19 #ifndef GEOS_IDX_CHAIN_MONOTONECHAIN_H
20 #define GEOS_IDX_CHAIN_MONOTONECHAIN_H
22 #include <geos/export.h>
23 #include <geos/geom/Envelope.h>
31 class CoordinateSequence;
98 std::size_t start, std::size_t end,
void* context);
107 getStartIndex()
const
141 void computeOverlaps(
MonotoneChain* mc,
double overlapTolerance,
167 MonotoneChainSelectAction& mcs);
169 void computeOverlaps(std::size_t start0, std::size_t end0, MonotoneChain& mc,
170 std::size_t start1, std::size_t end1,
171 double overlapTolerance,
172 MonotoneChainOverlapAction& mco);
174 bool overlaps(
size_t start0,
size_t end0,
175 const MonotoneChain& mc,
size_t start1,
size_t end1,
176 double overlapTolerance)
const;
180 double overlapTolerance)
const;
203 MonotoneChain(
const MonotoneChain& other) =
delete;
204 MonotoneChain& operator=(
const MonotoneChain& rhs) =
delete;
The internal representation of a list of coordinates inside a Geometry.
Definition: CoordinateSequence.h:58
Coordinate is the lightweight class used to store coordinates.
Definition: Coordinate.h:60
An Envelope defines a rectangulare region of the 2D coordinate plane.
Definition: Envelope.h:58
Definition: LineSegment.h:59
The action for the internal iterator for performing overlap queries on a MonotoneChain.
Definition: MonotoneChainOverlapAction.h:43
Definition: MonotoneChainSelectAction.h:45
Monotone Chains are a way of partitioning the segments of a linestring to allow for fast searching of...
Definition: index/chain/MonotoneChain.h:84
MonotoneChain(const geom::CoordinateSequence &pts, std::size_t start, std::size_t end, void *context)
void getLineSegment(std::size_t index, geom::LineSegment &ls) const
Set given LineSegment with points of the segment starting at the given index.
std::unique_ptr< geom::CoordinateSequence > getCoordinates() const
void select(const geom::Envelope &searchEnv, MonotoneChainSelectAction &mcs)
const geom::Envelope & getEnvelope()
Returned envelope is owned by this class.
Basic namespace for all GEOS functionalities.
Definition: IndexedNestedRingTester.h:26