0031415: Modeling Algorithms - Solid classifier works incorrectly on a cylinder
authorifv <ifv@opencascade.com>
Fri, 20 Mar 2020 11:28:02 +0000 (14:28 +0300)
committerbugmaster <bugmaster@opencascade.com>
Thu, 26 Mar 2020 16:54:58 +0000 (19:54 +0300)
BRepClass3d_SClassifier.cxx : revert integration for CR29712

Test case added

src/BRepClass3d/BRepClass3d_SClassifier.cxx
tests/bugs/modalg_7/bug31415 [new file with mode: 0644]

index 0f4c554..1dfc926 100644 (file)
@@ -285,14 +285,7 @@ void BRepClass3d_SClassifier::Perform(BRepClass3d_SolidExplorer& SolidExplorer,
     aSelectorLine.SetCurrentLine(L, Par);
     Standard_Integer SelsEVL = 0;
     SelsEVL = aTree.Select(aSelectorLine); //SelsEE > 0 => Line/Edges & Line/Vertex intersection
-
-    if (!aSelectorLine.IsCorrect())
-    {
-      // Go to the next segment
-      isFaultyLine = Standard_True;
-      continue;
-    }
-
+     
     if (SelsEVL > 0 )
     {    
       // Line and edges / vertices interference.
diff --git a/tests/bugs/modalg_7/bug31415 b/tests/bugs/modalg_7/bug31415
new file mode 100644 (file)
index 0000000..c87b047
--- /dev/null
@@ -0,0 +1,18 @@
+puts "======================================================="
+puts "0031415: Modeling Algorithms - Solid classifier works incorrectly on a cylinder"
+puts "======================================================="
+puts ""
+
+restore [locate_data_file bug31415_1.brep] comp
+restore [locate_data_file bug31415_2.brep] cyl
+
+explode comp v
+mkpoint p1 comp_1
+mkpoint p2 comp_2
+mkpoint p3 comp_3
+mkpoint p4 comp_4
+foreach p {p1 p2 p3 p4} {
+  if {![regexp "IN" [bclassify cyl $p]]} {
+    puts "Error: classyfication of $p is wrong"
+  }
+}
\ No newline at end of file