mirror of
https://git.salome-platform.org/gitpub/modules/geom.git
synced 2024-12-26 09:20:35 +05:00
Mantis issue 0021934: Delete the internal faces of an object. Correction to avoid errors on not suitable arguments.
This commit is contained in:
parent
8c5cdd2d44
commit
182542382e
@ -458,18 +458,21 @@ Standard_Boolean GEOMImpl_HealingDriver::RemoveInternalFaces (const TopoDS_Shape
|
|||||||
aTool.SetShape(theOriginalShape);
|
aTool.SetShape(theOriginalShape);
|
||||||
aTool.Perform();
|
aTool.Perform();
|
||||||
|
|
||||||
if (aTool.ErrorStatus() != 0)
|
if (aTool.ErrorStatus() == 0) { // OK
|
||||||
StdFail_NotDone::Raise("GEOMAlgo_RemoverWebs failed!");
|
theOutShape = aTool.Result();
|
||||||
|
|
||||||
theOutShape = aTool.Result();
|
// as GEOMAlgo_RemoverWebs always produces compound, lets simplify it
|
||||||
|
// for the case, if it contains only one sub-shape
|
||||||
// as GEOMAlgo_RemoverWebs always produces compound, lets simplify it
|
TopTools_ListOfShape listShapeRes;
|
||||||
// for the case, if it contains only one sub-shape
|
GEOMUtils::AddSimpleShapes(theOutShape, listShapeRes);
|
||||||
TopTools_ListOfShape listShapeRes;
|
if (listShapeRes.Extent() == 1) {
|
||||||
GEOMUtils::AddSimpleShapes(theOutShape, listShapeRes);
|
theOutShape = listShapeRes.First();
|
||||||
if (listShapeRes.Extent() == 1) {
|
}
|
||||||
theOutShape = listShapeRes.First();
|
|
||||||
}
|
}
|
||||||
|
else if (aTool.ErrorStatus() == 11) // invalid argument (contains non-solids), do nothing
|
||||||
|
theOutShape = theOriginalShape;
|
||||||
|
else // error
|
||||||
|
StdFail_NotDone::Raise("GEOMAlgo_RemoverWebs failed!");
|
||||||
|
|
||||||
return Standard_True;
|
return Standard_True;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user