mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-09-08 14:17:06 +03:00
0030250: Obtained shape is invalid due to presence of the loop containing two separate edges lying on the seam of the closed surface.
In the class ShapeFix_Face::Perform FixSmallAreaWire() method call was inserted before method FixMissingSeam to remove hole having null area.
This commit is contained in:
@@ -499,17 +499,25 @@ Standard_Boolean ShapeFix_Face::Perform()
|
||||
}
|
||||
}
|
||||
|
||||
myResult = myFace;
|
||||
TopoDS_Shape savShape = myFace; //gka BUG 6555
|
||||
|
||||
|
||||
// Specific case for conic surfaces
|
||||
if ( NeedFix(myFixPeriodicDegenerated) )
|
||||
this->FixPeriodicDegenerated();
|
||||
|
||||
// fix missing seam
|
||||
if ( NeedFix ( myFixMissingSeamMode ) ) {
|
||||
|
||||
if ( NeedFix ( myFixSmallAreaWireMode ) )
|
||||
{
|
||||
if (FixSmallAreaWire(Standard_False))
|
||||
myStatus |= ShapeExtend::EncodeStatus(ShapeExtend_DONE4);
|
||||
}
|
||||
|
||||
myResult = myFace;
|
||||
TopoDS_Shape savShape = myFace; //gka BUG 6555
|
||||
// fix missing seam
|
||||
if ( NeedFix ( myFixMissingSeamMode )) {
|
||||
if ( FixMissingSeam() ) {
|
||||
myStatus |= ShapeExtend::EncodeStatus ( ShapeExtend_DONE3 );
|
||||
myStatus |= ShapeExtend::EncodeStatus( ShapeExtend_DONE3 );
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user