void InterpolationHelper::interpolate(){


    //make sure we're not waiting for something that isn't going to happen
    if (!bInterpolateMatrix)
        bFinishedMatrix=true;

    if (!bInterpolateTransform)
        bFinishedTransform=true;

    //as long as there's work to do...
    if (!bFinished){

        //this gets called from interpolate node - moves one actor to another actor!
        if (bInterpolateActor)
                interpolateActor();

        if (keyFrames.size()>1){

            //bone rotations
            if (bInterpolateMatrix && !bFinishedMatrix)
                interpolateMatrix();

            //location/rotation of underlying actor
            if (bInterpolateTransform && !bFinishedTransform)
                interpolateTransform();

            //only if both are finished can we be destroyed!
			if (bFinishedMatrix && bFinishedTransform)
				bFinished=true;
        }

    }
}
Пример #2
0
void t12(void){
        double temp[8*8*8];
        printf("\n*** Interpolate matrix\n");
        printMatrix(4,4,4,a);
        interpolateMatrix(2,2,2,1,a,temp);
        printMatrix(4,4,4,temp);
}