|
Open CASCADE Technology
7.8.0.dev
|
Abstract class for computation of the min distance between some Object and elements of BVH tree. To use this class it is required to define two methods: More...
#include <BVH_Distance.hxx>

Public Member Functions | |
Constructor | |
| BVH_Distance () | |
| Constructor. More... | |
Setting object for distance computation | |
| void | SetObject (const ObjectType &theObject) |
| Sets the object to which the distance is required. More... | |
Compute the distance | |
| NumType | ComputeDistance () |
| Computes the distance between object and BVH tree. More... | |
Accessing the results | |
| Standard_Boolean | IsDone () const |
| Returns IsDone flag. More... | |
| NumType | Distance () const |
| Returns the computed distance. More... | |
Definition of the rules for tree descend | |
| virtual Standard_Boolean | IsMetricBetter (const NumType &theLeft, const NumType &theRight) const override |
| Compares the two metrics and chooses the best one. More... | |
| virtual Standard_Boolean | RejectMetric (const NumType &theMetric) const override |
| Rejects the branch by the metric. More... | |
| virtual Standard_Boolean | Stop () const override |
| Returns the flag controlling the tree descend. More... | |
Public Member Functions inherited from BVH_Traverse< NumType, Dimension, BVHSetType, NumType > | |
| BVH_Traverse () | |
| Constructor. More... | |
| void | SetBVHSet (BVHSetType *theBVHSet) |
| Sets the BVH Set containing the BVH tree. More... | |
| virtual Standard_Boolean | AcceptMetric (const NumType &) const |
| Basing on the given metric, checks if the whole branch may be accepted without any further checks. Returns true if the metric is accepted, false otherwise. More... | |
| virtual Standard_Boolean | RejectNode (const BVH_VecNt &theCornerMin, const BVH_VecNt &theCornerMax, NumType &theMetric) const=0 |
| Rejection of the node by bounding box. Metric is computed to choose the best branch. Returns true if the node should be rejected, false otherwise. More... | |
| virtual Standard_Boolean | Accept (const Standard_Integer theIndex, const NumType &theMetric)=0 |
| Leaf element acceptance. Metric of the parent leaf-node is passed to avoid the check on the element and accept it unconditionally. Returns true if the element has been accepted, false otherwise. More... | |
| Standard_Integer | Select () |
| Selection of the elements from the BVH tree by the rules defined in Accept/Reject methods. The method requires the BVHSet containing BVH tree to be set. Returns the number of accepted elements. More... | |
| Standard_Integer | Select (const opencascade::handle< BVH_Tree< NumType, Dimension >> &theBVH) |
| Performs selection of the elements from the BVH tree by the rules defined in Accept/Reject methods. Returns the number of accepted elements. More... | |
Metrics comparison for choosing the best branch | |
Rejection of the node by metric | |
Condition to stop the descend | |
Protected Attributes | |
Fields | |
| NumType | myDistance |
| Distance. More... | |
| Standard_Boolean | myIsDone |
| State of the algorithm. More... | |
| ObjectType | myObject |
| Object to compute the distance to. More... | |
Protected Attributes inherited from BVH_Traverse< NumType, Dimension, BVHSetType, NumType > | |
| BVHSetType * | myBVHSet |
Additional Inherited Members | |
Public Types inherited from BVH_Traverse< NumType, Dimension, BVHSetType, NumType > | |
| typedef BVH_Box< NumType, Dimension >::BVH_VecNt | BVH_VecNt |
Protected Member Functions inherited from BVH_BaseTraverse< NumType > | |
| BVH_BaseTraverse () | |
| Constructor. More... | |
| virtual | ~BVH_BaseTraverse () |
| Destructor. More... | |
Abstract class for computation of the min distance between some Object and elements of BVH tree. To use this class it is required to define two methods:
| NumType | Numeric data type |
| Dimension | Vector dimension |
| ObjectType | Type of the object to which the distance is required |
| BVHSetType | Type of the set on which BVH is built |
|
inline |
Constructor.
|
inline |
Computes the distance between object and BVH tree.
|
inline |
Returns the computed distance.
|
inline |
Returns IsDone flag.
|
inlineoverridevirtual |
Compares the two metrics and chooses the best one.
Reimplemented from BVH_BaseTraverse< NumType >.
|
inlineoverridevirtual |
Rejects the branch by the metric.
Reimplemented from BVH_BaseTraverse< NumType >.
|
inline |
Sets the object to which the distance is required.
|
inlineoverridevirtual |
Returns the flag controlling the tree descend.
Reimplemented from BVH_BaseTraverse< NumType >.
|
protected |
Distance.
|
protected |
State of the algorithm.
|
protected |
Object to compute the distance to.
1.8.13