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 () | 
|   | Constructor.  
  | 
|   | 
 | 
| void  | SetObject (const ObjectType &theObject) | 
|   | Sets the object to which the distance is required.  
  | 
|   | 
 | 
| NumType  | ComputeDistance () | 
|   | Computes the distance between object and BVH tree.  
  | 
|   | 
 | 
| Standard_Boolean  | IsDone () const | 
|   | Returns IsDone flag.  
  | 
|   | 
| NumType  | Distance () const | 
|   | Returns the computed distance.  
  | 
|   | 
 | 
| virtual Standard_Boolean  | IsMetricBetter (const NumType &theLeft, const NumType &theRight) const override | 
|   | Compares the two metrics and chooses the best one.  
  | 
|   | 
| 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 () | 
|   | Constructor.  
  | 
|   | 
| void  | SetBVHSet (BVHSetType *theBVHSet) | 
|   | Sets the BVH Set containing the BVH tree.  
  | 
|   | 
| 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.  
  | 
|   | 
| 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 () | 
|   | 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.  
  | 
|   | 
| 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.  
  | 
|   | 
| virtual Standard_Boolean  | IsMetricBetter (const MetricType &, const MetricType &) const | 
|   | Compares the two metrics and chooses the best one. Returns true if the first metric is better than the second, false otherwise.  
  | 
|   | 
| virtual Standard_Boolean  | RejectMetric (const MetricType &) const | 
|   | Rejects the node by the metric.  
  | 
|   | 
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  |