Correct the method BRepBndLib::Add so that to enlarge the bounding box on the tolerance of edges which curves participate in calculation of the box.
}
else {
for (;ex2.More();ex2.Next()) {
- BC.Initialize(TopoDS::Edge(ex2.Current()));
- BndLib_Add3dCurve::Add(BC, BRep_Tool::Tolerance(F), B);
+ const TopoDS_Edge& anEdge = TopoDS::Edge(ex2.Current());
+ BC.Initialize(anEdge);
+ BndLib_Add3dCurve::Add(BC, BRep_Tool::Tolerance(anEdge), B);
}
B.Enlarge(BRep_Tool::Tolerance(F));
}
--- /dev/null
+puts "========"
+puts "OCC29463"
+puts "========"
+puts ""
+#################################################
+# Method BndBox::IsOut() returns true for point lying on the planar face
+#################################################
+
+restore [locate_data_file bug29463_face13_691.brep] f
+
+vertex v 165.16888924444618 16.119975403493935 6.6799998283386177
+set res [isbbinterf f v]
+
+if [regexp "The shapes are NOT interfered by AABB" $res] {
+ puts "Error: bounding box works incorrect"
+}