+
+ double f, l, uFirst, u;
+ Handle(Geom2d_Curve) C2d = BRep_Tool::CurveOnSurface(E, F, f, l);
+ uFirst = isForward ? f : l;
+
+ // vertex node
+ gp_Pnt2d p = C2d->Value( uFirst ).XY().Multiplied( scale );
+ if ( fixCommonVertexUV( p, V, W, myOuterWire, F, VWMap, aMesh ))
+ myNodesOnCommonV.push_back( idFirst );
+ mOnVertex.push_back( m );
+ uvslf[m].x = p.X();
+ uvslf[m].y = p.Y();
+ mefistoToDS[m + 1] = idFirst;
+ //MESSAGE(" "<<m<<" "<<mefistoToDS[m+1]);
+ //MESSAGE("__ f "<<uFirst<<" "<<uvslf[m].x <<" "<<uvslf[m].y);
+ m++;
+
+ // internal nodes
+ map<double, const SMDS_MeshNode*>::iterator u_n = params.begin();
+ map<double, const SMDS_MeshNode*>::reverse_iterator u_n_rev = params.rbegin();
+ for ( int i = 0; i < nbPoints; ++i )