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...
|
|
|
| | BVH_Distance () |
| |
|
Sets the object to which the distance is required
|
| void | SetObject (const ObjectType &theObject) |
| |
|
Computes the distance between object and BVH tree
|
| NumType | ComputeDistance () |
| |
|
|
| Standard_Boolean | IsDone () const |
| | Returns the computed distance.
|
| |
| NumType | Distance () const |
| | Returns the computed distance.
|
| |
|
Compares the two metrics and chooses the best one
|
| virtual Standard_Boolean | IsMetricBetter (const NumType &theLeft, const NumType &theRight) const override |
| | Rejects the branch by the metric.
|
| |
| virtual Standard_Boolean | RejectMetric (const NumType &theMetric) const override |
| | Rejects the branch by the metric.
|
| |
| virtual Standard_Boolean | Stop () const override |
| | Returns the flag controlling the tree descend.
|
| |
| | BVH_Traverse () |
| |
| void | SetBVHSet (BVHSetType *theBVHSet) |
| |
| virtual Standard_Boolean | AcceptMetric (const NumType &) const |
| | 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.
|
| |
| 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.
|
| |
| 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.
|
| |
| Standard_Integer | Select () |
| | Performs selection of the elements from the BVH tree by the rules defined in Accept/Reject methods. Returns the number of accepted elements.
|
| |
| 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.
|
| |
template<class NumType, int Dimension, class ObjectType, class BVHSetType>
class BVH_Distance< NumType, Dimension, ObjectType, BVHSetType >
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:
- RejectNode to compute distance from the object to bounding box
- Accept to compute distance from the object to the element of tree
- Template Parameters
-
| 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 |