|
|
| BOPTools_PairSelector () |
| Empty constructor.
|
|
|
void | Clear () |
| Clears the indices.
|
|
void | Sort () |
| Sorts the indices.
|
|
void | SetSame (const Standard_Boolean theIsSame) |
| Tells to selector that BVH trees are the same. If the flag is set to true the resulting vector will contain only unique pairs (mirrored pairs will be rejected, e.g. (1, 2) will be taken, (2, 1) will be rejected) and will not contain pairs in which IDs are the same (pair (1, 1) will be rejected). If it is required to have a full vector of pairs even for the same BVH trees, just keep the false value of this flag.
|
|
const std::vector< PairIDs > & | Pairs () const |
| Returns the list of accepted indices.
|
|
|
virtual Standard_Boolean | RejectNode (const BVH_VecNd &theCMin1, const BVH_VecNd &theCMax1, const BVH_VecNd &theCMin2, const BVH_VecNd &theCMax2, Standard_Real &) const override |
| Basing on the bounding boxes of the nodes checks if the pair of nodes should be rejected.
|
|
Standard_Boolean | RejectElement (const Standard_Integer theID1, const Standard_Integer theID2) |
| Checks if the pair of elements should be rejected.
|
|
virtual Standard_Boolean | Accept (const Standard_Integer theID1, const Standard_Integer theID2) override |
| Checks and accepts the pair of elements.
|
|
| BVH_PairTraverse () |
| Constructor.
|
|
void | SetBVHSets (BVH_BoxSet< Standard_Real, Dimension, Standard_Integer > *theBVHSet1, BVH_BoxSet< Standard_Real, Dimension, Standard_Integer > *theBVHSet2) |
| Sets the BVH Sets containing the BVH trees.
|
|
virtual Standard_Boolean | RejectNode (const BVH_VecNt &theCornerMin1, const BVH_VecNt &theCornerMax1, const BVH_VecNt &theCornerMin2, const BVH_VecNt &theCornerMax2, Standard_Real &theMetric) const=0 |
| Rejection of the pair of nodes by bounding boxes. Metric is computed to choose the best branch. Returns true if the pair of nodes should be rejected, 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< Standard_Real, Dimension > > &theBVH1, const opencascade::handle< BVH_Tree< Standard_Real, 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.
|
|
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.
|
|
virtual Standard_Boolean | Stop () const |
| Returns the flag controlling the tree descend. Returns true if the tree descend should be stopped.
|
|
template<
int Dimension>
class BOPTools_PairSelector< Dimension >
Template Selector for selection of the elements from two BVH trees.