+ Handle(ShapeAnalysis_Surface) sprojector = GetSurface( F );
+ uv = sprojector->ValueOfUV( nodePnt, tol ).XY();
+ surfPnt = sprojector->Value( uv );
+ dist = nodePnt.Distance( surfPnt );
+ if ( distXYZ ) {
+ surfPnt.Transform( loc );
+ distXYZ[0] = dist;
+ distXYZ[1] = surfPnt.X(); distXYZ[2] = surfPnt.Y(); distXYZ[3]=surfPnt.Z();
+ }
+ if ( dist > tol )
+ {
+ MESSAGE( "SMESH_MesherHelper::CheckNodeUV(), invalid projection" );
+ return false;
+ }