]> SALOME platform Git repositories - modules/smesh.git/commitdiff
Salome HOME
0020832: EDF 1359 SMESH : Automatic meshing of boundary layers
authoreap <eap@opencascade.com>
Thu, 23 Dec 2010 09:19:03 +0000 (09:19 +0000)
committereap <eap@opencascade.com>
Thu, 23 Dec 2010 09:19:03 +0000 (09:19 +0000)
   In CheckNodeUV(), transform back the returned projection point

src/SMESH/SMESH_MesherHelper.cxx

index e8b20501b2768784d9e53889a75deb4f6d3dbb51..495747cb1cb5145ef9149654e98a4240685daf8a 100644 (file)
@@ -518,6 +518,7 @@ bool SMESH_MesherHelper::CheckNodeUV(const TopoDS_Face&   F,
     {
       setPosOnShapeValidity( shapeID, false );
       if ( !infinit && distXYZ ) {
+        surfPnt.Transform( loc );
         distXYZ[0] = dist;
         distXYZ[1] = surfPnt.X(); distXYZ[2] = surfPnt.Y(); distXYZ[3]=surfPnt.Z();
       }
@@ -535,6 +536,7 @@ bool SMESH_MesherHelper::CheckNodeUV(const TopoDS_Face&   F,
       surfPnt = surface->Value( U, V );
       dist = nodePnt.Distance( surfPnt );
       if ( distXYZ ) {
+        surfPnt.Transform( loc );
         distXYZ[0] = dist;
         distXYZ[1] = surfPnt.X(); distXYZ[2] = surfPnt.Y(); distXYZ[3]=surfPnt.Z();
       }
@@ -721,6 +723,7 @@ bool SMESH_MesherHelper::CheckNodeU(const TopoDS_Edge&   E,
       gp_Pnt curvPnt = curve->Value( u );
       double dist = nodePnt.Distance( curvPnt );
       if ( distXYZ ) {
+        curvPnt.Transform( loc );
         distXYZ[0] = dist;
         distXYZ[1] = curvPnt.X(); distXYZ[2] = curvPnt.Y(); distXYZ[3]=curvPnt.Z();
       }
@@ -749,6 +752,7 @@ bool SMESH_MesherHelper::CheckNodeU(const TopoDS_Edge&   E,
         curvPnt = curve->Value( u );
         dist = nodePnt.Distance( curvPnt );
         if ( distXYZ ) {
+          curvPnt.Transform( loc );
           distXYZ[0] = dist;
           distXYZ[1] = curvPnt.X(); distXYZ[2] = curvPnt.Y(); distXYZ[3]=curvPnt.Z();
         }