|
| | BRepExtrema_OverlapTool () |
| | Creates new uninitialized overlap tool.
|
| | BRepExtrema_OverlapTool (const occ::handle< BRepExtrema_TriangleSet > &theSet1, const occ::handle< BRepExtrema_TriangleSet > &theSet2) |
| | Creates new overlap 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 overlap tool.
|
| void | Perform (const double theTolerance=0.0) |
| | Performs searching of overlapped mesh elements.
|
| bool | IsDone () const |
| | Is overlap test completed?
|
| void | MarkDirty () |
| | Marks test results as outdated.
|
| const NCollection_DataMap< int, TColStd_PackedMapOfInteger > & | OverlapSubShapes1 () const |
| | Returns set of overlapped sub-shapes of 1st shape (currently only faces are detected).
|
| const NCollection_DataMap< int, TColStd_PackedMapOfInteger > & | OverlapSubShapes2 () const |
| | Returns set of overlapped sub-shapes of 2nd shape (currently only faces are detected).
|
| void | SetElementFilter (BRepExtrema_ElementFilter *theFilter) |
| | Sets filtering tool for preliminary checking pairs of mesh elements.
|
| | BVH_PairTraverse () |
| void | SetBVHSets (void *theBVHSet1, void *theBVHSet2) |
| virtual bool | RejectNode (const BVH_VecNt &theCornerMin1, const BVH_VecNt &theCornerMax1, const BVH_VecNt &theCornerMin2, const BVH_VecNt &theCornerMax2, double &theMetric) const=0 |
| | Leaf element acceptance. Returns true if the pair of elements is accepted, false otherwise.
|
| int | Select () |
| | 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 bool | IsMetricBetter (const double &, const double &) const |
| virtual bool | RejectMetric (const double &) const |
| virtual bool | Stop () const |
|
Defines the rules for node rejection by bounding box
|
| bool | RejectNode (const BVH_Vec3d &theCornerMin1, const BVH_Vec3d &theCornerMax1, const BVH_Vec3d &theCornerMin2, const BVH_Vec3d &theCornerMax2, double &) const override |
| | Set of all mesh elements (triangles) of the 1st shape.
|
| bool | Accept (const int theLeaf1, const int theLeaf2) override |
| | Defines the rules for leaf acceptance.
|
| void | intersectTrianglesExact (const int theTrgIdx1, const int theTrgIdx2) |
| | Performs narrow-phase of overlap test (exact intersection).
|
| void | intersectTrianglesToler (const int theTrgIdx1, const int theTrgIdx2, const double theToler) |
| | Performs narrow-phase of overlap test (intersection with non-zero tolerance).
|
Enables storing of individual overlapped triangles (useful for debug).
Tool class for for detection of overlapping of two BVH primitive sets. This tool is not intended to be used independently, and is integrated in other classes, implementing algorithms based on shape tessellation (BRepExtrema_ShapeProximity and BRepExtrema_SelfIntersection).
Note that input element sets may correspond to different shapes or to the same shape. In first case, tessellations of two given shapes will be tested for intersection (or overlapping, if tolerance is not zero). In second case, tessellation of single shape will be tested for self- intersections. Please note that algorithm results are approximate and depend greatly on the quality of input tessellation(s).