0026978: VIS - Interactive selection is insensitive to swept shell
authorkgv <kgv@opencascade.com>
Mon, 12 Aug 2019 14:47:28 +0000 (17:47 +0300)
committerbugmaster <bugmaster@opencascade.com>
Fri, 16 Aug 2019 09:16:40 +0000 (12:16 +0300)
IVtkOCC_SelectableObject::BoundingBox(), AIS_Shape::BoundingBox() now don't use
BRepBndLib::AddClose() on arbitrary shapes.

src/AIS/AIS_Shape.cxx
src/IVtkOCC/IVtkOCC_SelectableObject.cxx
tests/v3d/ivtk/bug26978

index 35202da..adfd5cc 100644 (file)
@@ -793,7 +793,7 @@ const Bnd_Box& AIS_Shape::BoundingBox()
   }
 
   if(myCompBB) {
-    BRepBndLib::AddClose(myshape, myBB);
+    BRepBndLib::Add (myshape, myBB, false);
     myCompBB = Standard_False;
   }
   return myBB;
index 6d13ab6..99cef26 100644 (file)
@@ -166,8 +166,7 @@ const Bnd_Box& IVtkOCC_SelectableObject::BoundingBox()
 
   if (myBndBox.IsVoid())
   {
-    // Add only edges and vertices, in case of troubles this should work anyway
-    BRepBndLib::AddClose (anOcctShape, myBndBox);
+    BRepBndLib::Add (anOcctShape, myBndBox, true);
   }
 
   return myBndBox;
index 5788bef..bfcb36c 100644 (file)
@@ -1,10 +1,7 @@
 puts "========"
-puts "OCC26978"
+puts "0026978: VIS - Interactive selection is insensitive to swept shell"
 puts "========"
 puts ""
-######################################################
-# Interactive selection is insensitive to swept shell
-#######################################################
 
 restore [locate_data_file bug26978_evol3.brep] s
 
@@ -16,14 +13,10 @@ set anImg1 ${imagedir}/${test_image}_1.png
 set anImg2 ${imagedir}/${test_image}_2.png
 set anImgDiff ${imagedir}/${test_image}_diff.png
 
-set x 75
-set y 200
-ivtkselect $x $y
+ivtkselect 75 200
 ivtkdump ${anImg1}
 
-set x 150
-set y 150
-ivtkselect $x $y
+ivtkselect 150 150
 ivtkdump ${anImg2}
 
-diffimage ${anImg2} ${anImg1} 0.0 0 0 ${anImgDiff}
+if { [diffimage ${anImg2} ${anImg1} 0.0 0 0 ${anImgDiff}] != 0 } { puts "Error: selection failed" }