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) {
/*
TopTools_ListOfShape listShapeC;
AddSimpleShapes(C, 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());
else
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) {
/*
TopTools_ListOfShape listShapeC;
AddSimpleShapes(C, 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());
else
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)
aShape = C;
if (isCompound) {
//aShape = C;
// As GlueFaces has been improved to keep all kind of shapes
aShape = GEOMImpl_GlueDriver::GlueFaces(C, Precision::Confusion(), Standard_True);
}
}
// UNKNOWN operation