1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-08-19 13:40:49 +03:00

0027873: Exception is raised in BRepFill_Filling::FindExtremitiesOfHoles()

The reason of exception has been eliminated.
Creation of the test case for this issue.
Correction of unstable test case.

Some test cases have been adjusted according to their new behavior.
This commit is contained in:
nbv
2016-09-15 17:53:06 +03:00
committed by bugmaster
parent 14cb22a1a4
commit e8e26df06c
6 changed files with 88 additions and 24 deletions

View File

@@ -479,11 +479,20 @@ void BRepFill_Filling::FindExtremitiesOfHoles(const TopTools_ListOfShape& WireLi
theWire = TopoDS::Wire(WireSeq(1));
WireSeq.Remove(1);
if (theWire.Closed())
if (BRep_Tool::IsClosed(theWire))
return;
TopoDS_Vertex Vfirst, Vlast;
TopExp::Vertices( theWire, Vfirst, Vlast );
if (Vfirst.IsSame(Vlast))
{
// The Wire is closed indeed despite its
// being not detected earlier.
return;
}
gp_Vec FinVec = MakeFinVec( theWire, Vlast );
TopoDS_Vertex theVertex = Vlast;
VerSeq.Append( Vlast );