]> OCCT Git - occt.git/commitdiff
0033727: Modeling Algorithms - Add corner check in AddClose function to detect void...
authorFtpSantos <francisco.santos@opencascade.com>
Tue, 28 May 2024 13:55:56 +0000 (14:55 +0100)
committeroan <oan@opencascade.com>
Tue, 16 Jul 2024 16:03:11 +0000 (17:03 +0100)
Added gap to void bounding box calculation
Formating

src/BRepBndLib/BRepBndLib.cxx

index c9a598943f91453cf634b4c0238a8c9454d09107..4a7f32db7dbd10c06c5bb8e8fa86a2026437cd8c 100644 (file)
@@ -207,22 +207,22 @@ void BRepBndLib::AddClose(const TopoDS_Shape& S, Bnd_Box& B)
 
   BRepAdaptor_Curve BC;
 
-  for (ex.Init(S,TopAbs_EDGE); ex.More(); ex.Next()) {
+  for (ex.Init (S,TopAbs_EDGE); ex.More(); ex.Next()) {
     const TopoDS_Edge& anEdge = TopoDS::Edge (ex.Current());
     if (BRep_Tool::IsGeometric (anEdge))
     {
       BC.Initialize (anEdge);
-      BndLib_Add3dCurve::Add(BC,0.,B);
+      BndLib_Add3dCurve::Add (BC, 0., B);
     }
   }
 
   // Add the vertices not in edges
 
-  for (ex.Init(S,TopAbs_VERTEX,TopAbs_EDGE); ex.More(); ex.Next()) {
+  for (ex.Init (S,TopAbs_VERTEX,TopAbs_EDGE); ex.More(); ex.Next()) {
     B.Add(BRep_Tool::Pnt(TopoDS::Vertex(ex.Current())));
   }
 
-  if (!B.IsVoid() && B.CornerMax().IsEqual(B.CornerMin(), Precision::Confusion()))
+  if (!B.IsVoid() && B.CornerMax().IsEqual (B.CornerMin(), Precision::Confusion() + 2*B.GetGap()))
   {
     B.SetVoid();
   }