]> SALOME platform Git repositories - modules/geom.git/commitdiff
Salome HOME
Fix of 20764 bug ('Error SIGSEGV on Filling operation, if Edges Compound is created...
authorakl <akl@opencascade.com>
Tue, 23 Dec 2008 08:48:47 +0000 (08:48 +0000)
committerakl <akl@opencascade.com>
Tue, 23 Dec 2008 08:48:47 +0000 (08:48 +0000)
src/GEOMImpl/GEOMImpl_FillingDriver.cxx

index d290e735ef396717543d4da46192d694bfd0f5e2..7c6b48cfa09b99b92f6a4ec8127888f216a76fc0 100644 (file)
@@ -113,6 +113,7 @@ Standard_Integer GEOMImpl_FillingDriver::Execute(TFunction_Logbook& log) const
     for (Ex.Init(aShape, TopAbs_EDGE); Ex.More(); Ex.Next()) {
       Scurrent = Ex.Current() ;
       if (Scurrent.IsNull() || Scurrent.ShapeType() != TopAbs_EDGE) return 0;
+      if (BRep_Tool::Degenerated(TopoDS::Edge(Scurrent))) continue;
       C = BRep_Tool::Curve(TopoDS::Edge(Scurrent), First, Last);
       C = new Geom_TrimmedCurve(C, First, Last);
       Section.AddCurve(C);
@@ -147,6 +148,7 @@ Standard_Integer GEOMImpl_FillingDriver::Execute(TFunction_Logbook& log) const
     for (Ex.Init(aShape, TopAbs_EDGE); Ex.More(); Ex.Next()) {
       Scurrent = Ex.Current() ;
       if (Scurrent.IsNull() || Scurrent.ShapeType() != TopAbs_EDGE) return 0;
+      if (BRep_Tool::Degenerated(TopoDS::Edge(Scurrent))) continue;
       C = BRep_Tool::Curve(TopoDS::Edge(Scurrent), First, Last);
       Handle(Geom_TrimmedCurve) TC = Handle(Geom_TrimmedCurve)::DownCast(C);
       if(TC.IsNull()) {