6 #include <boost/geometry.hpp> 7 #include <boost/geometry/geometries/point.hpp> 8 #include <boost/geometry/geometries/segment.hpp> 9 #include <boost/geometry/index/rtree.hpp> 20 namespace bg = boost::geometry;
21 namespace bgm = boost::geometry::model;
22 namespace bgi = boost::geometry::index;
25 typedef bgm::point<double, 3, bg::cs::cartesian>
Point;
26 typedef bg::model::box<Point>
Box;
29 typedef bgi::rtree<PointValue, bgi::rstar<16> >
PointRTree;
32 typedef bgi::rtree<BoxValue, bgi::rstar<16> >
BoxRTree;
42 typedef bgm::point<double, 2, bg::cs::cartesian>
Point2d;
44 typedef bg::model::box<Point2d>
Box2d;
53 typedef bgi::rtree<Box2dValue, bgi::rstar<16> >
Box2dRTree;
74 BoxRTree(
const std::vector<Value>& values);
78 void insert(
const Bnd_Box& bbox, uintptr_t userData);
79 void insert(
const Value& value);
80 bool remove(
const Bnd_Box& bbox, uintptr_t userData);
81 bool remove(
const Value& value);
83 void queryIntersects(
const Bnd_Box& bbox, std::vector<uintptr_t>& userDataVec)
const;
104 void insert(
const Bnd_Box& bbox, uintptr_t userData);
105 void insert(
const Value& value);
106 bool remove(
const Bnd_Box& bbox, uintptr_t userData);
107 bool remove(
const Value& value);
109 void queryIntersects(
const Bnd_Box& bbox, std::vector<uintptr_t>& userDataVec)
const;
110 void queryIntersects(
const RTree::Box2d& bbox, std::vector<uintptr_t>& userDataVec)
const;
111 bool hasIntersection(
const Bnd_Box& bbox)
const;
GEOM_EXPORT BoxValue getBoxValue(const Bnd_Box &bbox, uintptr_t userData)
bgm::point< double, 2, bg::cs::cartesian > Point2d
Definition: RTree.h:42
std::pair< Point, uintptr_t > PointValue
Definition: RTree.h:28
Defines a non-persistent 3D Cartesian point.
Definition: Pnt.h:42
GEOM_EXPORT Box2dValue getBox2dValue(const double &minx, const double &miny, const double &maxx, const double &maxy, uintptr_t userData)
bgi::rtree< BoxValue, bgi::rstar< 16 > > BoxRTree
Definition: RTree.h:32
#define GEOM_EXPORT
Definition: geom_defines.h:8
uintptr_t userData
Definition: RTree.h:70
bgi::rtree< Box2dValue, bgi::rstar< 16 > > Box2dRTree
Definition: RTree.h:53
std::pair< Segment2d, uintptr_t > Segment2dValue
Definition: RTree.h:46
GEOM_EXPORT Box getBox(const Geom::Pnt &p, const double &radius)
uintptr_t userData
Definition: RTree.h:96
bg::model::box< Point2d > Box2d
Definition: RTree.h:44
bgi::rtree< Point2dValue, bgi::rstar< 16 > > Point2dRTree
Definition: RTree.h:50
bg::model::box< Point > Box
Definition: RTree.h:26
bgi::rtree< Segment2dValue, bgi::rstar< 16 > > Segment2dRTree
Definition: RTree.h:47
GEOM_EXPORT Point getPoint(const Geom::Pnt &p)
bgm::segment< Point2d > Segment2d
Definition: RTree.h:43
bgm::point< double, 3, bg::cs::cartesian > Point
Definition: RTree.h:25
Geom::Bnd_Box bbox
Definition: RTree.h:95
std::pair< Point2d, uintptr_t > Point2dValue
Definition: RTree.h:49
Geom::Bnd_Box bbox
Definition: RTree.h:69
Defines a non-persistent 2D cartesian point.
Definition: Pnt2d.h:33
bgi::rtree< PointValue, bgi::rstar< 16 > > PointRTree
Definition: RTree.h:29
GEOM_EXPORT Box2d getBox2d(const double &minx, const double &miny, const double &maxx, const double &maxy)
std::pair< Box2d, uintptr_t > Box2dValue
Definition: RTree.h:52
std::pair< Box, uintptr_t > BoxValue
Definition: RTree.h:31
GEOM_EXPORT PointValue getPointValue(const Geom::Pnt &p, uintptr_t userData)