mirror of
https://git.salome-platform.org/gitpub/modules/geom.git
synced 2025-05-14 08:40:49 +05:00
0023419: EDF 14260 - Problem of fusion
This commit is contained in:
parent
31792db89f
commit
0c782492c0
@ -373,6 +373,7 @@ TopoDS_Shape GEOMImpl_BooleanDriver::makeCompoundShellFromFaces
|
|||||||
|
|
||||||
return aResult;
|
return aResult;
|
||||||
}
|
}
|
||||||
|
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
//function : performOperation
|
//function : performOperation
|
||||||
//purpose :
|
//purpose :
|
||||||
@ -416,7 +417,8 @@ TopoDS_Shape GEOMImpl_BooleanDriver::performOperation
|
|||||||
// resulting from COMMON on two non-intersecting shapes.
|
// resulting from COMMON on two non-intersecting shapes.
|
||||||
if (aStepResult.ShapeType() == TopAbs_COMPOUND) {
|
if (aStepResult.ShapeType() == TopAbs_COMPOUND) {
|
||||||
#if OCC_VERSION_MAJOR >= 7
|
#if OCC_VERSION_MAJOR >= 7
|
||||||
if (aValue1.ShapeType() == TopAbs_FACE && aValue2.ShapeType() == TopAbs_FACE) {
|
if ((aValue1.ShapeType() == TopAbs_FACE || aValue1.ShapeType() == TopAbs_SHELL) &&
|
||||||
|
(aValue2.ShapeType() == TopAbs_FACE || aValue2.ShapeType() == TopAbs_SHELL)) {
|
||||||
aStepResult = makeCompoundShellFromFaces(aStepResult);
|
aStepResult = makeCompoundShellFromFaces(aStepResult);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
@ -478,7 +480,8 @@ TopoDS_Shape GEOMImpl_BooleanDriver::performOperation
|
|||||||
// resulting from CUT of parts
|
// resulting from CUT of parts
|
||||||
if (aCut.ShapeType() == TopAbs_COMPOUND) {
|
if (aCut.ShapeType() == TopAbs_COMPOUND) {
|
||||||
#if OCC_VERSION_MAJOR >= 7
|
#if OCC_VERSION_MAJOR >= 7
|
||||||
if (itSub1.Value().ShapeType() == TopAbs_FACE) {
|
if (itSub1.Value().ShapeType() == TopAbs_FACE ||
|
||||||
|
itSub1.Value().ShapeType() == TopAbs_SHELL) {
|
||||||
aCut = makeCompoundShellFromFaces(aCut);
|
aCut = makeCompoundShellFromFaces(aCut);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
@ -521,7 +524,8 @@ TopoDS_Shape GEOMImpl_BooleanDriver::performOperation
|
|||||||
TopTools_ListIteratorOfListOfShape itSub2 (listShape2);
|
TopTools_ListIteratorOfListOfShape itSub2 (listShape2);
|
||||||
for (; itSub2.More(); itSub2.Next()) {
|
for (; itSub2.More(); itSub2.Next()) {
|
||||||
TopoDS_Shape aValue2 = itSub2.Value();
|
TopoDS_Shape aValue2 = itSub2.Value();
|
||||||
if (aValue1.ShapeType() == TopAbs_FACE && aValue2.ShapeType() == TopAbs_FACE) {
|
if ((aValue1.ShapeType() == TopAbs_FACE || aValue1.ShapeType() == TopAbs_SHELL) &&
|
||||||
|
(aValue2.ShapeType() == TopAbs_FACE || aValue2.ShapeType() == TopAbs_SHELL)) {
|
||||||
isFaces = Standard_True;
|
isFaces = Standard_True;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user