mirror of
https://git.salome-platform.org/gitpub/modules/geom.git
synced 2024-12-29 10:50:35 +05:00
PAL12470: Cannot use boolean operations on COMPOUNDs and COMPSOLIDs. Fix FUSE regression.
This commit is contained in:
parent
6dba78d6b9
commit
5394241548
@ -175,21 +175,11 @@ Standard_Integer GEOMImpl_BooleanDriver::Execute(TFunction_Logbook& log) const
|
|||||||
|
|
||||||
// perform FUSE operation
|
// perform FUSE operation
|
||||||
else if (aType == BOOLEAN_FUSE) {
|
else if (aType == BOOLEAN_FUSE) {
|
||||||
// check shapes to provide special processing for compounds and compsolids
|
BRepAlgoAPI_Fuse BO (aShape1, aShape2);
|
||||||
if (aShape1.ShapeType() == TopAbs_COMPOUND ||
|
if (!BO.IsDone()) {
|
||||||
aShape1.ShapeType() == TopAbs_COMPSOLID ||
|
StdFail_NotDone::Raise("Fuse operation can not be performed on the given shapes");
|
||||||
aShape2.ShapeType() == TopAbs_COMPOUND ||
|
|
||||||
aShape2.ShapeType() == TopAbs_COMPSOLID) {
|
|
||||||
// at least one of arguments is complex
|
|
||||||
StdFail_NotDone::Raise("Fuse operation aborted: one of arguments is a complex shape");
|
|
||||||
} else {
|
|
||||||
// simple arguments
|
|
||||||
BRepAlgoAPI_Fuse BO (aShape1, aShape2);
|
|
||||||
if (!BO.IsDone()) {
|
|
||||||
StdFail_NotDone::Raise("Fuse operation can not be performed on the given shapes");
|
|
||||||
}
|
|
||||||
aShape = BO.Shape();
|
|
||||||
}
|
}
|
||||||
|
aShape = BO.Shape();
|
||||||
}
|
}
|
||||||
|
|
||||||
// perform SECTION operation
|
// perform SECTION operation
|
||||||
|
Loading…
Reference in New Issue
Block a user