From ba82372a2706c596357a33bd189808722f42489e Mon Sep 17 00:00:00 2001 From: jfa Date: Mon, 16 Jul 2007 07:16:26 +0000 Subject: [PATCH] Do not glue empty compounds --- src/GEOMImpl/GEOMImpl_BooleanDriver.cxx | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/src/GEOMImpl/GEOMImpl_BooleanDriver.cxx b/src/GEOMImpl/GEOMImpl_BooleanDriver.cxx index dc0ac24cf..c419cd6d5 100644 --- a/src/GEOMImpl/GEOMImpl_BooleanDriver.cxx +++ b/src/GEOMImpl/GEOMImpl_BooleanDriver.cxx @@ -169,7 +169,11 @@ Standard_Integer GEOMImpl_BooleanDriver::Execute(TFunction_Logbook& log) const */ // As GlueFaces has been improved to keep all kind of shapes - aShape = GEOMImpl_GlueDriver::GlueFaces(C, Precision::Confusion(), Standard_True); + TopExp_Explorer anExp (C, TopAbs_VERTEX); + if (anExp.More()) + aShape = GEOMImpl_GlueDriver::GlueFaces(C, Precision::Confusion(), Standard_True); + else + aShape = C; } } @@ -236,7 +240,11 @@ Standard_Integer GEOMImpl_BooleanDriver::Execute(TFunction_Logbook& log) const */ // As GlueFaces has been improved to keep all kind of shapes - aShape = GEOMImpl_GlueDriver::GlueFaces(C, Precision::Confusion(), Standard_True); + TopExp_Explorer anExp (C, TopAbs_VERTEX); + if (anExp.More()) + aShape = GEOMImpl_GlueDriver::GlueFaces(C, Precision::Confusion(), Standard_True); + else + aShape = C; } } @@ -383,7 +391,11 @@ Standard_Integer GEOMImpl_BooleanDriver::Execute(TFunction_Logbook& log) const //aShape = C; // As GlueFaces has been improved to keep all kind of shapes - aShape = GEOMImpl_GlueDriver::GlueFaces(C, Precision::Confusion(), Standard_True); + TopExp_Explorer anExp (C, TopAbs_VERTEX); + if (anExp.More()) + aShape = GEOMImpl_GlueDriver::GlueFaces(C, Precision::Confusion(), Standard_True); + else + aShape = C; } } -- 2.39.2