From: prascle Date: Tue, 4 Sep 2012 13:57:12 +0000 (+0000) Subject: PR: tools for crack meshing : take into account surfaces detected as only GeomAbs_C0... X-Git-Tag: V6_6_0a1~144 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=fc3530a17185f35d657e9896c2df97c8bada80c2;p=modules%2Fsmesh.git PR: tools for crack meshing : take into account surfaces detected as only GeomAbs_C0 but still OK for meshing --- diff --git a/src/SMESH/SMESH_Algo.cxx b/src/SMESH/SMESH_Algo.cxx index 184b00398..f7bd7f9bf 100644 --- a/src/SMESH/SMESH_Algo.cxx +++ b/src/SMESH/SMESH_Algo.cxx @@ -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 );