0025251: Visualization - Isolated vertex is invisible in shading mode
authorsan <san@opencascade.com>
Thu, 9 Oct 2014 10:01:37 +0000 (14:01 +0400)
committerbugmaster <bugmaster@opencascade.com>
Thu, 9 Oct 2014 10:04:21 +0000 (14:04 +0400)
BVH_BinnedBuilder class corrected to split several objects
with null bounding box (e.g. two or more vertices).

Test case for issue CR25251

src/BVH/BVH_BinnedBuilder.lxx
tests/bugs/vis/bug25251 [new file with mode: 0644]

index 8a70578..207c9ee 100644 (file)
@@ -207,16 +207,11 @@ void BVH_BinnedBuilder<T, N, Bins>::BuildNode (BVH_Set<T, N>*         theSet,
     }
   }
 
-  if (aMinSplitAxis == -1)
-  {
-    return;
-  }
-
   theBVH->SetInner (theNode);
 
   Standard_Integer aMiddle = -1;
 
-  if (aMinSplitNumLft == 0 || aMinSplitNumRgh == 0) // case of objects with the same center
+  if (aMinSplitNumLft == 0 || aMinSplitNumRgh == 0 || aMinSplitAxis == -1) // case of objects with the same center
   {
     aMinSplitBoxLft.Clear();
     aMinSplitBoxRgh.Clear();
diff --git a/tests/bugs/vis/bug25251 b/tests/bugs/vis/bug25251
new file mode 100644 (file)
index 0000000..3cd540f
--- /dev/null
@@ -0,0 +1,31 @@
+puts "============"
+puts "OCC25251"
+puts "============"
+puts ""
+####################################################################################
+# Visualization - Vertex disappearing from the view after switching display mode
+####################################################################################
+
+set check_x 204
+set check_y 204
+
+set x 100
+set y 100
+
+vinit
+
+vertex v 0 0 0
+vdisplay v
+checkcolor ${check_x} ${check_y} 1 1 0
+
+vmoveto ${check_x} ${check_y}
+checkcolor ${check_x} ${check_y} 0 1 1
+
+vsetdispmode 1
+vmoveto ${check_x} ${check_y}
+checkcolor ${check_x} ${check_y} 1 1 0
+
+vmoveto ${x} ${y}
+checkcolor ${check_x} ${check_y} 1 1 0
+
+vdump ${imagedir}/${casename}.png