+ Apply fix of correct use of ShapeFix_Face

This commit is contained in:
wmayer 2013-12-07 12:54:38 +01:00
parent 9be92334fa
commit ac8f69bc08

View File

@ -381,12 +381,12 @@ TopoDS_Face FaceTypedPlane::buildFace(const FaceVectorType &faces) const
faceFix.SetContext(new ShapeBuild_ReShape());
for (size_t index(1); index<wires.size(); ++index)
faceFix.Add(wires.at(index));
Standard_Boolean signal = faceFix.Perform();
if (signal > ShapeExtend_DONE)
faceFix.Perform();
if (faceFix.Status(ShapeExtend_FAIL))
return TopoDS_Face();
faceFix.FixOrientation();
signal = faceFix.Perform();
if (signal > ShapeExtend_DONE)
faceFix.Perform();
if(faceFix.Status(ShapeExtend_FAIL))
return TopoDS_Face();
current = faceFix.Face();
}
@ -472,10 +472,12 @@ TopoDS_Face FaceTypedCylinder::buildFace(const FaceVectorType &faces) const
//fix newly constructed face. Orientation doesn't seem to get fixed the first call.
ShapeFix_Face faceFixer(faceMaker.Face());
faceFixer.SetContext(new ShapeBuild_ReShape());
if (faceFixer.Perform() > ShapeExtend_DONE5)
faceFixer.Perform();
if (faceFixer.Status(ShapeExtend_FAIL))
return dummy;
faceFixer.FixOrientation();
if (faceFixer.Perform() > ShapeExtend_DONE5)
faceFixer.Perform();
if (faceFixer.Status(ShapeExtend_FAIL))
return dummy;
return faceFixer.Face();