// SOURCE: CATMULL-ROM CUBIC SPLINE // AUTHOR: SEAN M. KESSLER // DATE: 12/28/1993 #include WORD CatmullRom::performSpline(Array &sourcePairs,Array &destPairs) { double a0,a1,a2,a3; double dx,dx1,dx2; double dy,dy1,dy2; double endPointOne,endPointTwo,resamplingPos; double xPoint; short clampOne,clampTwo; short direction; short destSize((short)destPairs.size()); short sourceSize((short)sourcePairs.size()); short inputIndex,index; if(sourceSize<2||destSize<2)return FALSE; if(sourcePairs[0].column()sourcePairs[sourceSize-1].column()) direction=0; else direction=1; } else { if(destPairs[0].column()>sourcePairs[0].column()|| destPairs[destSize-1].column()endPointTwo)|| (-1==direction&&resamplingPossourcePairs[inputIndex].column();inputIndex++); if(resamplingPos