]> SALOME platform Git repositories - modules/geom.git/commitdiff
Salome HOME
Fix of regressions on pipe
authorskv <skv@opencascade.com>
Thu, 14 Feb 2013 13:24:00 +0000 (13:24 +0000)
committerskv <skv@opencascade.com>
Thu, 14 Feb 2013 13:24:00 +0000 (13:24 +0000)
src/GEOMImpl/GEOMImpl_PipeDriver.cxx

index 9812da16af8b6518df08ad6fb722c75c6fe71e5c..c03d62d5c39a3ea25fc491a0cae09d40fc18cab8 100644 (file)
 
 #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
@@ -2483,23 +2477,22 @@ Standard_Integer GEOMImpl_PipeDriver::Execute (TFunction_Logbook& log) const
       Standard_ConstructionError::Raise("Algorithm have produced an invalid shape result");
   }
 
-  // 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);
-  if (anExpV.More()) {
-    Standard_Real aVertMaxTol = -RealLast();
-    for (; anExpV.More(); anExpV.Next()) {
-      TopoDS_Vertex aVertex = TopoDS::Vertex(anExpV.Current());
-      Standard_Real aTol = BRep_Tool::Tolerance(aVertex);
-      if (aTol > aVertMaxTol)
-        aVertMaxTol = aTol;
-    }
-    aVertMaxTol += Precision::Confusion();
-    aShape = GEOMImpl_GlueDriver::GlueFaces(aShape, aVertMaxTol, Standard_True);
-    //aShape = GEOMImpl_GlueDriver::GlueFaces(aShape, Precision::Confusion(), Standard_True);
+  if (aType != PIPE_BASE_PATH &&
+      aType != PIPE_SHELLS_WITHOUT_PATH) {
+    TopExp_Explorer anExpV (aShape, TopAbs_VERTEX);
+    if (anExpV.More()) {
+      Standard_Real aVertMaxTol = -RealLast();
+      for (; anExpV.More(); anExpV.Next()) {
+        TopoDS_Vertex aVertex = TopoDS::Vertex(anExpV.Current());
+        Standard_Real aTol = BRep_Tool::Tolerance(aVertex);
+        if (aTol > aVertMaxTol)
+          aVertMaxTol = aTol;
+      }
+      aVertMaxTol += Precision::Confusion();
+      aShape = GEOMImpl_GlueDriver::GlueFaces(aShape, aVertMaxTol, Standard_True);
+      //aShape = GEOMImpl_GlueDriver::GlueFaces(aShape, Precision::Confusion(), Standard_True);
+    }
   }
-#endif
 
   TopoDS_Shape aRes = GEOMUtils::CompsolidToCompound(aShape);
   aFunction->SetValue(aRes);