|
| | MbCubeTree (std::vector< ItemIndex > &objects, DistanceMeasure dm=edm_MaxCoord) |
| | Tree constructor by objects. More...
|
| |
| | MbCubeTree (std::vector< ItemIndex > &objects, const Cube &gabarit, DistanceMeasure dm=edm_MaxCoord) |
| | Tree constructor by objects. More...
|
| |
| | MbCubeTree (DistanceMeasure dm=edm_MaxCoord) |
| | Constructor of empty tree. More...
|
| |
|
| ~MbCubeTree () |
| | Destructor.
|
| |
| bool | InitTree (std::vector< ItemIndex > &objects, const Cube &gabarit, DistanceMeasure dm=edm_MaxCoord) |
| | Initialize tree by objects. More...
|
| |
| bool | InitTree (const MbCubeTree &srcTree, const std::vector< ItemIndex > &srcObjects, const std::vector< ItemIndex > &dstObjects) |
| | Copy the tree. More...
|
| |
|
void | Clear () |
| | Clear the tree.
|
| |
|
void | Move (const Vector &) |
| | Move the tree.
|
| |
|
DistanceMeasure | GetDistanceMeasure () const |
| | Get algorithm type that is used to measure distance between point and bounding box.
|
| |
|
size_t | Count () const |
| | Number of objects in the tree (does not store, tree calculates it by traversing tree nodes).
|
| |
|
size_t | NodeCount () const |
| | Number of branches in the tree.
|
| |
|
bool | IsReady () const |
| | Whether tree is ready.
|
| |
|
size_t | GetTreeDepth () const |
| | Get tree depth (shared variable).
|
| |
|
void | SetTreeDepth (size_t k) |
| | Set tree depth (shared variable).
|
| |
|
void | ResetTreeDepth () |
| | Reset tree depth (shared variable).
|
| |
|
size_t | GetLeafMinElementsCount () const |
| | Get a minimum number of elements in the leaf branch (shared variable).
|
| |
|
void | SetLeafMinElementsCount (size_t k) |
| | Set a minimum number of elements in the leaf branch (shared variable).
|
| |
|
void | ResetLeafMinElementsCount () |
| | Reset the minimum number of elements in the leaf branch (shared variable).
|
| |
|
void | GetContainsObjects (const Point &pnt, double epsilon, std::vector< const Type * > &objects) const |
| | Get tree objects containing a point.
|
| |
|
void | GetContainsObjects (const Point &pnt, double epsilon, std::vector< size_t > &indices) const |
| | Get tree objects containing a point.
|
| |
|
void | GetIntersectObjects (const Cube &gabarit, double epsilon, std::vector< const Type * > &objects, bool skipOwnself=false) const |
| | Get objects of the tree intersecting with the bounding box.
|
| |
|
void | GetIntersectObjects (const Cube &gabarit, double epsilon, std::vector< size_t > &indices, bool skipOwnself=false) const |
| | Get objects of the tree intersecting with the bounding box.
|
| |
|
void | GetIntersectObjects (const Point &rayPnt1, const Point &rayPnt2, double epsilon, std::vector< size_t > &indices) const |
| | Get objects of the tree intersecting with the ray segment.
|
| |
|
void | FindNearestObject (const Cube &gabarit, double &distance, const Type *&object, double eps=MbCubeTree::defaultEpsilon) const |
| | Find the nearest tree object to a bounding box.
|
| |
|
void | FindNearestObject (const Cube &gabarit, double &distance, size_t &index, double eps=MbCubeTree::defaultEpsilon) const |
| | Find the nearest tree object to a bounding box (as an index in initial array of objects).
|
| |
|
void | FindNearestObject (const Point &pnt, double &distance, const Type *&object, double eps=MbCubeTree::defaultEpsilon) const |
| | Find the nearest tree object to a point.
|
| |
|
void | FindNearestObject (const Point &pnt, double &distance, size_t &index, double eps=MbCubeTree::defaultEpsilon) const |
| | Find the nearest tree object to a point (as an index in initial array of objects).
|
| |
|
void | GetNearestObjects (const Cube &gabarit, const double distance, std::vector< IndexDistance > &itemDistances, double eps=MbCubeTree::defaultEpsilon) const |
| | Get tree objects that are closer to the cube than the specified distance.
|
| |
|
void | GetNearestObjects (const Point &pnt, const double distance, std::vector< ItemDistance > &itemDistances, double eps=MbCubeTree::defaultEpsilon) const |
| | Get tree objects that are closer to the point than the specified distance.
|
| |
|
void | GetNearestObjects (const Point &pnt, const double distance, std::vector< IndexDistance > &indexDistances, double eps=MbCubeTree::defaultEpsilon) const |
| | Get tree objects indices that are closer to the point than the specified distance.
|
| |
|
void | GetNearestObjects (const Point &pnt, const double distance, std::vector< size_t > &indices, double eps=MbCubeTree::defaultEpsilon) const |
| | Get tree objects indices that are closer to the point than the specified distance.
|
| |
|
double | FindNearestObject (const Point &pnt, const MbTreeDistanceToElementBase< Point > &calc, size_t &index) const |
| | Get tree objects index that are closest to the point, and squared distance to object.
|
| |
|
void | FindObjectsInsideSphere (const Point &pnt, double radius, const MbTreeDistanceToElementBase< Point > &calc, c3d::IndicesVector &indices) const |
| | Get an array of tree object indices at least partially lying inside a given sphere.
|
| |
template<class Type, class Cube, class Point, class Vector>
class MbCubeTree< Type, Cube, Point, Vector >
Tree of objects with bounding boxes.
Tree of objects with bounding boxes.
Tree objects must have functions : "const Cube & Type::GetCube() const", "double Type::DistanceToCube( const Cube & cube, double eps )".