Tool class for computation the proximity distance from first primitive set to second one that is the maximal from minimum perpendicular distances. If no perpendicular distance is found, the minimum distance will be returned. This tool is not intended to be used independently, and is integrated in other classes, implementing algorithms based on shape tessellation (BRepExtrema_ProximityValueTool).
More...
|
| | BRepExtrema_ProximityDistTool () |
| | Creates new uninitialized tool.
|
| |
| | BRepExtrema_ProximityDistTool (const occ::handle< BRepExtrema_TriangleSet > &theSet1, const int theNbSamples1, const BVH_Array3d &theAddVertices1, const NCollection_DynamicArray< ProxPnt_Status > &theAddStatus1, const occ::handle< BRepExtrema_TriangleSet > &theSet2, const NCollection_DynamicArray< TopoDS_Shape > &theShapeList1, const NCollection_DynamicArray< TopoDS_Shape > &theShapeList2) |
| | Creates new tool for the given element sets.
|
| |
| void | LoadTriangleSets (const occ::handle< BRepExtrema_TriangleSet > &theSet1, const occ::handle< BRepExtrema_TriangleSet > &theSet2) |
| | Loads the given element sets into the tool.
|
| |
| void | LoadShapeLists (const NCollection_DynamicArray< TopoDS_Shape > &theShapeList1, const NCollection_DynamicArray< TopoDS_Shape > &theShapeList2) |
| | Loads the given list of subshapes into the tool.
|
| |
| void | LoadAdditionalPointsFirstSet (const BVH_Array3d &theAddVertices1, const NCollection_DynamicArray< ProxPnt_Status > &theAddStatus1) |
| | Loads given additional vertices and their statuses.
|
| |
| void | Perform () |
| | Performs searching of the proximity distance.
|
| |
| | BVH_Distance () |
| |
| void | SetObject (const BVH_Vec3d &theObject) |
| |
| double | ComputeDistance () |
| |
| bool | IsDone () const |
| | Returns the computed distance.
|
| |
| double | Distance () const |
| | Returns the computed distance.
|
| |
| bool | IsMetricBetter (const double &theLeft, const double &theRight) const override |
| | Rejects the branch by the metric.
|
| |
| bool | RejectMetric (const double &theMetric) const override |
| | Rejects the branch by the metric.
|
| |
| bool | Stop () const override |
| | Returns the flag controlling the tree descend.
|
| |
| | BVH_Traverse () |
| |
| void | SetBVHSet (BVHSetType *theBVHSet) |
| |
| virtual bool | AcceptMetric (const MetricType &) 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 bool | RejectNode (const BVH_VecNt &theCornerMin, const BVH_VecNt &theCornerMax, MetricType &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 bool | Accept (const int theIndex, const MetricType &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.
|
| |
| int | Select () |
| | Performs selection of the elements from the BVH tree by the rules defined in Accept/Reject methods. Returns the number of accepted elements.
|
| |
| int | 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 bool | IsMetricBetter (const MetricType &, const MetricType &) const |
| |
| virtual bool | RejectMetric (const MetricType &) const |
| |
|
Defines the rules for node rejection by bounding box.
|
| double | myMinDistance |
| | Minimal distance from point to BVH, could be not equal to myDistance.
|
| |
| BVH_Vec3d | myMinDistPoint |
| | Point on BVH providing the minimal distance.
|
| |
| BVH_Vec3d | myExtremaPoint |
| | Point on BVH providing the extrema.
|
| |
| double | myProxDist |
| | Proximity distance.
|
| |
| BVH_Vec3d | myPnt1 |
| | Proximity points.
|
| |
| BVH_Vec3d | myPnt2 |
| | Minimal distance from point to BVH, could be not equal to myDistance.
|
| |
| ProxPnt_Status | myPntStatus1 |
| | Proximity points' status.
|
| |
| ProxPnt_Status | myPntStatus2 |
| | Minimal distance from point to BVH, could be not equal to myDistance.
|
| |
| bool | RejectNode (const BVH_Vec3d &theCornerMin, const BVH_Vec3d &theCornerMax, double &theMetric) const override |
| | Minimal distance from point to BVH, could be not equal to myDistance.
|
| |
| bool | Accept (const int theSgmIdx, const double &) override |
| | Defines the rules for leaf acceptance.
|
| |
| void | ProximityPoints (BVH_Vec3d &thePoint1, BVH_Vec3d &thePoint2) const |
| | Returns points on triangles sets, which provide the proximity distance.
|
| |
| void | ProximityPointsStatus (ProxPnt_Status &thePointStatus1, ProxPnt_Status &thePointStatus2) const |
| | Returns status of points on triangles sets, which provide the proximity distance.
|
| |
| double | ProximityDistance () const |
| | Returns the computed distance.
|
| |
| static bool | IsNodeOnBorder (const int theNodeIdx, const occ::handle< Poly_Triangulation > &theTr) |
| | Returns true if the node is on the boarder.
|
| |
| static bool | IsEdgeOnBorder (const int theTrgIdx, const int theFirstEdgeNodeIdx, const int theSecondEdgeNodeIdx, const occ::handle< Poly_Triangulation > &theTr) |
| | Returns true if the edge is on the boarder.
|
| |
| double | ComputeDistance () |
| | Computes the distance between object and BVH tree.
|
| |
| void | DefineStatusProxPnt () |
| | Defines the status of proximity points.
|
| |
Tool class for computation the proximity distance from first primitive set to second one that is the maximal from minimum perpendicular distances. If no perpendicular distance is found, the minimum distance will be returned. This tool is not intended to be used independently, and is integrated in other classes, implementing algorithms based on shape tessellation (BRepExtrema_ProximityValueTool).
Please note that algorithm results are approximate and depend greatly on the quality of input tessellation(s).