Open CASCADE Technology 7.8.2.dev
|
Abstract class for computation of the min distance between elements of two BVH trees. To use this class it is required to define only the method Accept to compute the distance between elements of the trees. More...
#include <BVH_PairDistance.hxx>
Public Types | |
typedef BVH_Tools< NumType, Dimension >::BVH_VecNt | BVH_VecNt |
Public Types inherited from BVH_PairTraverse< NumType, Dimension, BVHSetType, NumType > | |
typedef BVH_Box< NumType, Dimension >::BVH_VecNt | BVH_VecNt |
Public Member Functions | |
Constructor | |
BVH_PairDistance () | |
Constructor. | |
Compute the distance | |
NumType | ComputeDistance () |
Computes the distance between two BVH trees. | |
Accessing the results | |
Standard_Boolean | IsDone () const |
Returns IsDone flag. | |
NumType | Distance () const |
Returns the computed distance. | |
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. | |
virtual Standard_Boolean | RejectNode (const BVH_VecNt &theCornerMin1, const BVH_VecNt &theCornerMax1, const BVH_VecNt &theCornerMin2, const BVH_VecNt &theCornerMax2, NumType &theMetric) const override |
Computes the distance between boxes of the nodes. | |
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. | |
Public Member Functions inherited from BVH_PairTraverse< NumType, Dimension, BVHSetType, NumType > | |
BVH_PairTraverse () | |
Constructor. | |
void | SetBVHSets (BVHSetType *theBVHSet1, BVHSetType *theBVHSet2) |
Sets the BVH Sets containing the BVH trees. | |
virtual Standard_Boolean | Accept (const Standard_Integer theIndex1, const Standard_Integer theIndex2)=0 |
Leaf element acceptance. Returns true if the pair of elements is accepted, false otherwise. | |
Standard_Integer | Select () |
Selection of the pairs of elements of two BVH trees by the rules defined in Accept/Reject methods. The method requires the BVHSets containing BVH trees to be set. Returns the number of accepted pairs of elements. | |
Standard_Integer | Select (const opencascade::handle< BVH_Tree< NumType, Dimension > > &theBVH1, const opencascade::handle< BVH_Tree< NumType, Dimension > > &theBVH2) |
Performs selection of the elements from two BVH trees by the rules defined in Accept/Reject methods. Returns the number of accepted pairs of elements. | |
Public Member Functions inherited from BVH_BaseTraverse< NumType > |
Protected Attributes | |
Fields | |
NumType | myDistance |
Square distance. | |
Standard_Boolean | myIsDone |
State of the algorithm. | |
Protected Attributes inherited from BVH_PairTraverse< NumType, Dimension, BVHSetType, NumType > | |
BVHSetType * | myBVHSet1 |
BVHSetType * | myBVHSet2 |
Additional Inherited Members | |
Protected Member Functions inherited from BVH_BaseTraverse< NumType > | |
BVH_BaseTraverse () | |
Constructor. | |
virtual | ~BVH_BaseTraverse () |
Destructor. | |
Abstract class for computation of the min distance between elements of two BVH trees. To use this class it is required to define only the method Accept to compute the distance between elements of the trees.
NumType | Numeric data type |
Dimension | Vector dimension |
BVHSetType | Type of the set on which BVH is built |
BVH_Tools<NumType,Dimension>::BVH_VecNt BVH_PairDistance< NumType, Dimension, BVHSetType >::BVH_VecNt |
|
inline |
Constructor.
|
inline |
Computes the distance between two BVH trees.
|
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 >.
|
inlineoverridevirtual |
Computes the distance between boxes of the nodes.
Implements BVH_PairTraverse< NumType, Dimension, BVHSetType, NumType >.
|
inlineoverridevirtual |
Returns the flag controlling the tree descend.
Reimplemented from BVH_BaseTraverse< NumType >.
|
protected |
Square distance.
|
protected |
State of the algorithm.