Bug 0020207: EDF GEOM 960: MakePipe : Generation of redundant doubled faces.

This commit is contained in:
jfa 2009-03-12 12:57:03 +00:00
parent 2b2368b201
commit 9aaaddfbd1

View File

@ -18,7 +18,7 @@
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
// //
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
//
#include <Standard_Stream.hxx> #include <Standard_Stream.hxx>
#include <GEOMImpl_PipeDriver.hxx> #include <GEOMImpl_PipeDriver.hxx>
@ -28,10 +28,11 @@
#include <GEOMImpl_IPipeShellSect.hxx> #include <GEOMImpl_IPipeShellSect.hxx>
#include <GEOMImpl_IPipeBiNormal.hxx> #include <GEOMImpl_IPipeBiNormal.hxx>
#include <GEOMImpl_IPipe.hxx> #include <GEOMImpl_IPipe.hxx>
#include <GEOMImpl_GlueDriver.hxx>
#include <GEOMImpl_Types.hxx> #include <GEOMImpl_Types.hxx>
#include <GEOM_Function.hxx> #include <GEOM_Function.hxx>
#include <GEOMAlgo_GlueAnalyser.hxx> //#include <GEOMAlgo_GlueAnalyser.hxx>
#include <ShapeAnalysis_FreeBounds.hxx> #include <ShapeAnalysis_FreeBounds.hxx>
#include <ShapeAnalysis_Edge.hxx> #include <ShapeAnalysis_Edge.hxx>
@ -2389,6 +2390,11 @@ Standard_Integer GEOMImpl_PipeDriver::Execute(TFunction_Logbook& log) const
Standard_ConstructionError::Raise("Algorithm have produced an invalid shape result"); Standard_ConstructionError::Raise("Algorithm have produced an invalid shape result");
} }
// Glue (for bug 0020207)
TopExp_Explorer anExpV (aShape, TopAbs_VERTEX);
if (anExpV.More())
aShape = GEOMImpl_GlueDriver::GlueFaces(aShape, Precision::Confusion(), Standard_True);
TopoDS_Shape aRes = GEOMImpl_IShapesOperations::CompsolidToCompound(aShape); TopoDS_Shape aRes = GEOMImpl_IShapesOperations::CompsolidToCompound(aShape);
aFunction->SetValue(aRes); aFunction->SetValue(aRes);