Salome HOME
PR: tools for crack meshing : take into account surfaces detected as only GeomAbs_C0...
authorprascle <prascle>
Tue, 4 Sep 2012 13:57:12 +0000 (13:57 +0000)
committerprascle <prascle>
Tue, 4 Sep 2012 13:57:12 +0000 (13:57 +0000)
src/SMESH/SMESH_Algo.cxx

index 184b003986580bf34917ae523a8866b461920145..f7bd7f9bf3b2bf85824bab37264a6da3a0453e12 100644 (file)
@@ -347,7 +347,14 @@ bool SMESH_Algo::IsReversedSubMesh (const TopoDS_Face&  theFace,
   // face normal at node position
   TopLoc_Location loc;
   Handle(Geom_Surface) surf = BRep_Tool::Surface( theFace, loc );
-  if ( surf.IsNull() || surf->Continuity() < GeomAbs_C1 ) return isReversed;
+  // if ( surf.IsNull() || surf->Continuity() < GeomAbs_C1 )
+  // some surfaces not detected as GeomAbs_C1 are nevertheless correct for meshing
+  if ( surf.IsNull() || surf->Continuity() < GeomAbs_C0 )
+    {
+      if (!surf.IsNull())
+        MESSAGE("surf->Continuity() < GeomAbs_C1 " << (surf->Continuity() < GeomAbs_C1));
+      return isReversed;
+    }
   gp_Vec d1u, d1v;
   surf->D1( u, v, nPnt[0], d1u, d1v );
   gp_Vec Nf = (d1u ^ d1v).Transformed( loc );