Fix problem with invalid shape generation in MakePipe function: replace previous fix for bug 0020207 (gluing of faces in the end of pipe operation) but new one implemented in OCCT (OCC23606).

This commit is contained in:
vsr 2012-12-28 05:25:50 +00:00
parent 312680570b
commit 77a98edebe

View File

@ -97,6 +97,13 @@
#include "utilities.h" #include "utilities.h"
//////////////////////////////////////////////////////////////////////////
// Uncomment below macro to perform gluing in the end of MakePipe operation
// as fix of issue 0020207.
//////////////////////////////////////////////////////////////////////////
//#define GLUE_0020207
//======================================================================= //=======================================================================
//function : GetID //function : GetID
//purpose : //purpose :
@ -2477,6 +2484,8 @@ Standard_Integer GEOMImpl_PipeDriver::Execute (TFunction_Logbook& log) const
} }
// Glue (for bug 0020207) // Glue (for bug 0020207)
// No gluing is needed as the bug 0020207 is fixed in OCCT.
#ifdef GLUE_0020207
TopExp_Explorer anExpV (aShape, TopAbs_VERTEX); TopExp_Explorer anExpV (aShape, TopAbs_VERTEX);
if (anExpV.More()) { if (anExpV.More()) {
Standard_Real aVertMaxTol = -RealLast(); Standard_Real aVertMaxTol = -RealLast();
@ -2490,6 +2499,7 @@ Standard_Integer GEOMImpl_PipeDriver::Execute (TFunction_Logbook& log) const
aShape = GEOMImpl_GlueDriver::GlueFaces(aShape, aVertMaxTol, Standard_True); aShape = GEOMImpl_GlueDriver::GlueFaces(aShape, aVertMaxTol, Standard_True);
//aShape = GEOMImpl_GlueDriver::GlueFaces(aShape, Precision::Confusion(), Standard_True); //aShape = GEOMImpl_GlueDriver::GlueFaces(aShape, Precision::Confusion(), Standard_True);
} }
#endif
TopoDS_Shape aRes = GEOMUtils::CompsolidToCompound(aShape); TopoDS_Shape aRes = GEOMUtils::CompsolidToCompound(aShape);
aFunction->SetValue(aRes); aFunction->SetValue(aRes);