1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-08-04 13:13:25 +03:00

0024968: Impove BRepMesh_Classifier to cope with intersection of huge number of wires

BRepMesh_Classifier: Two-pass approach for intersection check with possibility to run it in parallel mode.
First pass - bounding boxes of segments are checked for overlapping;
Second pass - intersection point is calculated in case if overlapping is detected.

Make NCollection_UBTree::ChangeLastNode() exported due to compilation error on Linux platform.
Reason: method does not depend on template parameters, so it should be available.

Revert previous change and try to use another trick for Linux

Fix compilation warning on MacOS: remove redundant constant
Fix regressions: do not consider insignificant loops in case of self intersections on the same wire.
More sugar solution for compilation errors on NCollection_EBTree on Linux

Test cases for issue CR24968
This commit is contained in:
oan
2014-07-10 14:40:36 +04:00
committed by apn
parent 0e9d3b83b8
commit 01a6e62bc2
29 changed files with 1454 additions and 3460 deletions

View File

@@ -117,7 +117,7 @@ Standard_Boolean NCollection_EBTree<TheObjType,TheBndType>::Add
UBTree::Add (theObj, theBnd);
// Update the map
TreeNode& aNewNode = ChangeLastNode();
TreeNode& aNewNode = this->ChangeLastNode();
myObjNodeMap.Bind (theObj, &aNewNode);
// If the new node is not the root (has a parent) check the neighbour node
if (!aNewNode.IsRoot()) {