23 #ifndef GEOS_SIMPLIFY_LINESEGMENTINDEX_H
24 #define GEOS_SIMPLIFY_LINESEGMENTINDEX_H
26 #include <geos/export.h>
27 #include <geos/geom/Envelope.h>
28 #include <geos/index/quadtree/Quadtree.h>
34 #pragma warning(disable: 4251)
43 class TaggedLineString;
50 class GEOS_DLL LineSegmentIndex {
54 LineSegmentIndex() =
default;
56 ~LineSegmentIndex() =
default;
58 void add(
const TaggedLineString& line);
60 void add(
const geom::LineSegment* seg);
62 void remove(
const geom::LineSegment* seg);
64 std::unique_ptr< std::vector<geom::LineSegment*> >
65 query(
const geom::LineSegment* seg);
70 index::quadtree::Quadtree index;
72 std::vector<std::unique_ptr<geom::Envelope>> newEnvelopes;
78 LineSegmentIndex(
const LineSegmentIndex&) =
delete;
79 LineSegmentIndex& operator=(
const LineSegmentIndex&) =
delete;
Basic namespace for all GEOS functionalities.
Definition: IndexedNestedRingTester.h:26