+// for (iLstIndexOut=0; iLstIndexOut<sizeLstIndexOut; iLstIndexOut++) // For each contour
+// {
+// lstRstX.clear();
+// lstRstY.clear();
+// lstRstZ.clear();
+// size = (*lstIndexsOut)[iLstIndexOut];
+ size = (*lstInX).size();
+ iGeneralPlusSize = iGeneral+size;
+ if (size>2)
+ {
+// dist=0;
+// for ( i=iGeneral ; i<iGeneralPlusSize-1 ; i++ )
+// {
+// dx = (*lstOutX)[i]-(*lstOutX)[i+1];
+// dy = (*lstOutY)[i]-(*lstOutY)[i+1];
+// dz = (*lstOutZ)[i]-(*lstOutZ)[i+1];
+// dist= dist+sqrt( dx*dx + dy*dy + dz*dz );
+// } //for
+ delta = dist/(size-1);
+
+ firstK = 0;
+ for (i=iGeneral; i<iGeneralPlusSize;i++) // For each point of one contour
+ {
+ ii = i-iGeneral;
+ dist2 = 0;
+ for (k=iGeneral; k<iGeneralPlusSize-1;k++) // Search inside
+ {
+//if ( 385==(*lstOutY)[k] )
+//{
+ t = ((double)ii) / ((double)(size-1));
+// Beta = 0.20; // [0..1]
+// Alpha = 0.0; // [0..1]
+// Beta = bbGetInputParam()[0];
+// Alpha = bbGetInputParam()[1];
+ tt = t + 0.70710678182*sin(t*TwoPI)*beta + alpha;
+ if (tt>1) { tt=tt-1; }
+ if (tt<0) { tt=tt+1; }
+ iiByDelta = tt * dist;
+//} else {
+// iiByDelta = ii*delta;
+//}
+
+// dx = (*lstOutX)[k+1]-(*lstOutX)[k];
+// dy = (*lstOutY)[k+1]-(*lstOutY)[k];
+// dz = (*lstOutZ)[k+1]-(*lstOutZ)[k];
+ dx = (*lstC1X)[k+1]-(*lstC1X)[k];
+ dy = (*lstC1Y)[k+1]-(*lstC1Y)[k];
+ dz = (*lstC1Z)[k+1]-(*lstC1Z)[k];
+ distSeg = sqrt( dx*dx + dy*dy + dz*dz );
+ if ( dist2+distSeg >= iiByDelta )
+ {
+ if (distSeg==0)
+ {
+ dd = 0;
+ } else {
+ dd=(iiByDelta-dist2)/distSeg;
+ }// if distSeg == 0
+ lstRstX.push_back( (*lstC1X)[k] + dd*dx );
+ lstRstY.push_back( (*lstC1Y)[k] + dd*dy );
+ lstRstZ.push_back( (*lstC1Z)[k] + dd*dz );
+ if (ii==0) { firstK=k; }
+ k = iGeneralPlusSize-1;
+ } else {
+ if ( k==iGeneral+size-2 )
+ {
+ dd = 1;
+ lstRstX.push_back( (*lstC1X)[k] + dd*dx );
+ lstRstY.push_back( (*lstC1Y)[k] + dd*dy );
+ lstRstZ.push_back( (*lstC1Z)[k] + dd*dz );
+ }
+ }// if dist2
+ dist2 = dist2+distSeg;
+ } // for k
+ } //for i
+
+
+ if (lstRstX.size()!=size)
+ {
+ printf("EED Warnning! ManualContourModel_Box::Redistribution_SIN >> This list is not coherent iLstIndexOut=%d lstRstX.size()=%d size=%d\n",iLstIndexOut, lstRstX.size(), size);