1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-08-14 13:30:48 +03:00

0024105: ShapeFix algorithm produces not correct result.

Small correction.
Adding test cases for issue CR24105
This commit is contained in:
emv
2013-08-15 16:23:41 +04:00
committed by bugmaster
parent cc9d78dbca
commit d3c5411b48
4 changed files with 91 additions and 2 deletions

View File

@@ -443,7 +443,7 @@ Standard_Boolean ShapeFix_Face::Perform()
}
if ( theAdvFixWire->Perform() ) {
//fixed = Standard_True;
isfixReorder = ((theAdvFixWire->StatusReorder(ShapeExtend_DONE) && !theAdvFixWire->StatusReorder(ShapeExtend_DONE5)) || isfixReorder);
isfixReorder = (theAdvFixWire->StatusReorder(ShapeExtend_DONE) || isfixReorder);
fixed = (theAdvFixWire->StatusSmall(ShapeExtend_DONE) ||
theAdvFixWire->StatusConnected(ShapeExtend_DONE) ||
theAdvFixWire->StatusEdgeCurves(ShapeExtend_DONE) ||
@@ -480,7 +480,9 @@ Standard_Boolean ShapeFix_Face::Perform()
}
if(fixed || isfixReorder) {
myFace = tmpFace;
myStatus |= ShapeExtend::EncodeStatus ( ShapeExtend_DONE1 );
if (!theAdvFixWire->StatusReorder(ShapeExtend_DONE5)) {
myStatus |= ShapeExtend::EncodeStatus ( ShapeExtend_DONE1 );
}
}
}