Fix bug 16137: EDF437: Common of a compound and a plane creates faces twice.

This commit is contained in:
jfa 2007-07-10 09:18:51 +00:00
parent 6fd8116102
commit 5543a978e6

View File

@ -153,6 +153,7 @@ Standard_Integer GEOMImpl_BooleanDriver::Execute(TFunction_Logbook& log) const
} }
if (isCompound) { if (isCompound) {
/*
TopTools_ListOfShape listShapeC; TopTools_ListOfShape listShapeC;
AddSimpleShapes(C, listShapeC); AddSimpleShapes(C, listShapeC);
TopTools_ListIteratorOfListOfShape itSubC (listShapeC); TopTools_ListIteratorOfListOfShape itSubC (listShapeC);
@ -165,6 +166,10 @@ Standard_Integer GEOMImpl_BooleanDriver::Execute(TFunction_Logbook& log) const
aShape = GEOMImpl_GlueDriver::GlueFaces(C, Precision::Confusion()); aShape = GEOMImpl_GlueDriver::GlueFaces(C, Precision::Confusion());
else else
aShape = C; aShape = C;
*/
// As GlueFaces has been improved to keep all kind of shapes
aShape = GEOMImpl_GlueDriver::GlueFaces(C, Precision::Confusion(), Standard_True);
} }
} }
@ -215,6 +220,7 @@ Standard_Integer GEOMImpl_BooleanDriver::Execute(TFunction_Logbook& log) const
} }
if (isCompound) { if (isCompound) {
/*
TopTools_ListOfShape listShapeC; TopTools_ListOfShape listShapeC;
AddSimpleShapes(C, listShapeC); AddSimpleShapes(C, listShapeC);
TopTools_ListIteratorOfListOfShape itSubC (listShapeC); TopTools_ListIteratorOfListOfShape itSubC (listShapeC);
@ -227,6 +233,10 @@ Standard_Integer GEOMImpl_BooleanDriver::Execute(TFunction_Logbook& log) const
aShape = GEOMImpl_GlueDriver::GlueFaces(C, Precision::Confusion()); aShape = GEOMImpl_GlueDriver::GlueFaces(C, Precision::Confusion());
else else
aShape = C; aShape = C;
*/
// As GlueFaces has been improved to keep all kind of shapes
aShape = GEOMImpl_GlueDriver::GlueFaces(C, Precision::Confusion(), Standard_True);
} }
} }
@ -369,8 +379,12 @@ Standard_Integer GEOMImpl_BooleanDriver::Execute(TFunction_Logbook& log) const
} }
} }
if (isCompound) if (isCompound) {
aShape = C; //aShape = C;
// As GlueFaces has been improved to keep all kind of shapes
aShape = GEOMImpl_GlueDriver::GlueFaces(C, Precision::Confusion(), Standard_True);
}
} }
// UNKNOWN operation // UNKNOWN operation