+ // nodeDataVec[iP].x = segLengths[iP-1] / edgeLen;
+ // nodeDataVec[iP].y = segLengths[iP-1] / edgeLen;
+ }
+
+ // add nodeDataForAdjacent to nodeDataVec
+ if ( !nodeDataForAdjacent.empty() )
+ {
+ double lenDelta = GCPnts_AbscissaPoint::Length( curve,
+ nodeDataForAdjacent.front().param,
+ nodeDataForAdjacent.back().param );
+ lenRatio = newLength / ( newLength + lenDelta );
+ for ( size_t iP = 0; iP < nodeDataVec.size(); ++iP )
+ nodeDataVec[iP].normParam *= lenRatio;
+
+ newLength = newLength + lenDelta;
+ for ( size_t iP = 1; iP < nodeDataForAdjacent.size(); ++iP )
+ nodeDataForAdjacent[iP].normParam =
+ GCPnts_AbscissaPoint::Length( curve, u1,
+ nodeDataForAdjacent[iP].param ) / newLength;
+
+ nodeDataVec.insert( isRShrinkedForAdjacent ? nodeDataVec.end() : nodeDataVec.begin(),
+ nodeDataForAdjacent.begin(), nodeDataForAdjacent.end() );