0023505: Sigsegv with fuse on cylinder and cone

This commit is contained in:
jfa 2017-12-08 11:34:36 +03:00
parent b4c1887ab3
commit ee8283cdc0

View File

@ -598,12 +598,15 @@ TopoDS_Shape BlockFix_UnionFaces::Perform(const TopoDS_Shape& Shape)
sfw->SetMaxTolerance(Max(1.,myTolerance*1000.)); sfw->SetMaxTolerance(Max(1.,myTolerance*1000.));
sfw->SetFace(aFace); sfw->SetFace(aFace);
for (TopoDS_Iterator iter (aFace,Standard_False); iter.More(); iter.Next()) { for (TopoDS_Iterator iter (aFace,Standard_False); iter.More(); iter.Next()) {
TopoDS_Shape aFaceCont = iter.Value();
if (!aFaceCont.IsNull() && aFaceCont.ShapeType() == TopAbs_WIRE) {
TopoDS_Wire wire = TopoDS::Wire(iter.Value()); TopoDS_Wire wire = TopoDS::Wire(iter.Value());
sfw->Load(wire); sfw->Load(wire);
sfw->FixReorder(); sfw->FixReorder();
sfw->FixShifted(); sfw->FixShifted();
} }
} }
}
} // end processing each solid } // end processing each solid
const TopoDS_Shape aResShape = aContext->Apply(Shape); const TopoDS_Shape aResShape = aContext->Apply(Shape);