#include <localboxset.h>
Classes | |
struct | EqualFunctor |
struct | itpair |
Public Types | |
typedef boost::geometry::model::point< double, 3, boost::geometry::cs::cartesian > | Tboost_point |
typedef boost::geometry::model::box< Tboost_point > | Tboost_box |
typedef std::pair< Tboost_box, TObject * > | TBoxPointerPair |
typedef boost::geometry::index::rtree< TBoxPointerPair, boost::geometry::index::quadratic< 16 >, boost::geometry::index::indexable< TBoxPointerPair >, EqualFunctor > | Trtree |
typedef Trtree::const_query_iterator | Trtreeit |
Public Member Functions | |
void | insert (const TObject &object) |
TObject * | find (const TObject &object) |
bool | contains (const TObject &object) |
void | remove (TObject *object) |
int | size () const |
itpair | getObjectsInRegion (double x0, double y0, double x1, double y1) |
itpair | getObjectsOutsideRegion (double x0, double y0, double x1, double y1) |
void | refocus (double x0, double y0, double x1, double y1) |
Private Attributes | |
Trtree | data_ |
TBoxGen | boxgen_ |
TComparator | compare_ |
LocalBoxSet aggregates a set of objects representable by bounding boxes. TObject: type of collected objects TBoxGen: generates box-shaped impact region for objects TComparator: compares objects for equality On insertion, the existance of a similar object is checked: This container allows no duplicates according to TComparator. If objects are identified with a certain tolerance, the TBoxGen class has to use the same tolerance in box generation, in order to find duplicates in insert or find or contains.
typedef boost::geometry::model::box<Tboost_point> adore::env::LocalBoxSet< TObject, TBoxGen, TComparator >::Tboost_box |
typedef boost::geometry::model::point<double,3,boost::geometry::cs::cartesian> adore::env::LocalBoxSet< TObject, TBoxGen, TComparator >::Tboost_point |
typedef std::pair<Tboost_box,TObject*> adore::env::LocalBoxSet< TObject, TBoxGen, TComparator >::TBoxPointerPair |
typedef boost::geometry::index::rtree< TBoxPointerPair, boost::geometry::index::quadratic<16>, boost::geometry::index::indexable<TBoxPointerPair>, EqualFunctor > adore::env::LocalBoxSet< TObject, TBoxGen, TComparator >::Trtree |
typedef Trtree::const_query_iterator adore::env::LocalBoxSet< TObject, TBoxGen, TComparator >::Trtreeit |
|
inline |
Returns true, if overall container has object, which is equal to function parameter, according to TComparator
|
inline |
Searches for an object pointer, which is equal to object according to TComparator. If found, returns valid pointer, otherwise 0.
|
inline |
Identifies all objects overlapping or included in a box-shaped region with llc (x0,y0) and urc (x1,y). Returns an iterator pair. The first entry of the pair is the current position and the second entry the end position.
|
inline |
Identifies all objects not overlapping or included in a box-shaped region with llc (x0,y0) and urc (x1,y). Returns an iterator pair. The first entry of the pair is the current position and the second entry the end position.
|
inline |
< object responsible for comparison Inserts a TObject for a region specified by TBoxGen. If the object already exists (equality defined by TComparator), the old object is replaced.
|
inline |
Deletes and removes all objects from container, which are not included in or overlapping given box with llc (x0,y0) and urc (x1,y).
|
inline |
Remove an object from the overall container
|
inline |
get the number of contained objects
|
private |
< the container
|
private |
< object responsible for bounding box computation
|
private |