1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-04-05 18:16:23 +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-07-15 19:15:39 +01:00 committed by oan
parent d5bd608531
commit c27114f079

@ -207,19 +207,26 @@ 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()) {
B.Add(BRep_Tool::Pnt(TopoDS::Vertex(ex.Current())));
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() + 2 * B.GetGap()))
{
B.SetVoid();
}
}