mirror of
https://git.salome-platform.org/gitpub/modules/geom.git
synced 2024-11-11 16:19:17 +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.Perform();
|
||||
|
||||
if (aTool.ErrorStatus() != 0)
|
||||
StdFail_NotDone::Raise("GEOMAlgo_RemoverWebs failed!");
|
||||
if (aTool.ErrorStatus() == 0) { // OK
|
||||
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
|
||||
TopTools_ListOfShape listShapeRes;
|
||||
GEOMUtils::AddSimpleShapes(theOutShape, listShapeRes);
|
||||
if (listShapeRes.Extent() == 1) {
|
||||
theOutShape = listShapeRes.First();
|
||||
// as GEOMAlgo_RemoverWebs always produces compound, lets simplify it
|
||||
// for the case, if it contains only one sub-shape
|
||||
TopTools_ListOfShape listShapeRes;
|
||||
GEOMUtils::AddSimpleShapes(theOutShape, listShapeRes);
|
||||
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;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user