From: kgv Date: Wed, 24 Mar 2021 07:37:29 +0000 (+0300) Subject: 0032236: Modeling Algorithms - Exception on calculation optimal bounding box X-Git-Url: http://git.dev.opencascade.org/gitweb/?a=commitdiff_plain;h=25d0840a9c493f68c53513b33bd0c550775e0138;p=occt-copy.git 0032236: Modeling Algorithms - Exception on calculation optimal bounding box BRepBndLib - added VOID box checks to AdjustFaceBox() method. --- diff --git a/src/BRepBndLib/BRepBndLib.cxx b/src/BRepBndLib/BRepBndLib.cxx index 5d015da737..a225c55540 100644 --- a/src/BRepBndLib/BRepBndLib.cxx +++ b/src/BRepBndLib/BRepBndLib.cxx @@ -306,9 +306,13 @@ void BRepBndLib::AddOptimal(const TopoDS_Shape& S, Bnd_Box& B, Tol); } } - Standard_Real xmin, ymin, zmin, xmax, ymax, zmax; - aLocBox.Get(xmin, ymin, zmin, xmax, ymax, zmax); - B.Update(xmin, ymin, zmin, xmax, ymax, zmax); + + if (!aLocBox.IsVoid()) + { + Standard_Real xmin, ymin, zmin, xmax, ymax, zmax; + aLocBox.Get(xmin, ymin, zmin, xmax, ymax, zmax); + B.Update(xmin, ymin, zmin, xmax, ymax, zmax); + } } } } @@ -703,6 +707,16 @@ void AdjustFaceBox(const BRepAdaptor_Surface& BS, Bnd_Box& FaceBox, const Bnd_Box& EdgeBox, const Standard_Real Tol) { + if (EdgeBox.IsVoid()) + { + return; + } + if (FaceBox.IsVoid()) + { + FaceBox = EdgeBox; + return; + } + Standard_Real fxmin, fymin, fzmin, fxmax, fymax, fzmax; Standard_Real exmin, eymin, ezmin, exmax, eymax, ezmax; //