1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-04-16 10:08:36 +03:00

0033727: Modeling Algorithms - Add corner check in AddClose function to detect void bounding box

Added corner check to AddClose for void bounding boxes
This commit is contained in:
FtpSantos 2024-05-29 11:50:41 +01:00 committed by oan
parent 30fffc0161
commit 082ac79f5f

View File

@ -207,7 +207,8 @@ void BRepBndLib::AddClose(const TopoDS_Shape& S, Bnd_Box& B)
BRepAdaptor_Curve BC; 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()); const TopoDS_Edge& anEdge = TopoDS::Edge (ex.Current());
if (BRep_Tool::IsGeometric (anEdge)) if (BRep_Tool::IsGeometric (anEdge))
{ {
@ -218,9 +219,15 @@ void BRepBndLib::AddClose(const TopoDS_Shape& S, Bnd_Box& B)
// Add the vertices not in edges // 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()))); B.Add (BRep_Tool::Pnt (TopoDS::Vertex (ex.Current())));
} }
if (!B.IsVoid() && B.CornerMax().IsEqual (B.CornerMin(), Precision::Confusion() + 2 * B.GetGap()))
{
B.SetVoid();
}
} }
//======================================================================= //=======================================================================