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) // warning C4251: needs to have dll-interface to be used by clients of class 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;
89 #endif // GEOS_SIMPLIFY_LINESEGMENTINDEX_H Basic namespace for all GEOS functionalities.
Definition: IndexedNestedRingTester.h:25