function updateModel()
    {
        if (currentTime < 0) {
            currentTime = animation.stop;
        }

        let frame = Math.round((currentTime % animation.stop) / animation.step);

        if (frame >= (animation.stop - animation.start) / animation.step) {
            frame = frame - 1;
        }

        if (isActive)
            replay.controls.notify(frame * animation.step);

        for (const group of animation.model.children) {
            group.position.set(animation.frames[frame][group.name].position[0],
                animation.frames[frame][group.name].position[1],
                animation.frames[frame][group.name].position[2]
            );
            group.quaternion.set(animation.frames[frame][group.name].quaternion[0],
                animation.frames[frame][group.name].quaternion[1],
                animation.frames[frame][group.name].quaternion[2],
                animation.frames[frame][group.name].quaternion[3]
            );

            modelPos = animation.model.children[0].position;
            lightTarg = animation.model.children[0];
        }
    }
/* ------------------------------------------------------------------------
     * updateModel:
     * ------------------------------------------------------------------------
     * Apply the data contained within the frames to the model. This data
     * includes rotation information and position information for each component
     * of the model.
     */


Apply the data contained within the frames to the model. This data
includes rotation information and position information for each component
of the model.
Apply the data contained within the frames to the model . This data includes rotation information and position information for each component of the model .
function updateModel()
    {
        if (currentTime < 0) {
            currentTime = animation.stop;
        }
        let frame = Math.round((currentTime % animation.stop) / animation.step);
        if (frame >= (animation.stop - animation.start) / animation.step) {
            frame = frame - 1;
        }
        if (isActive)
            replay.controls.notify(frame * animation.step);
        for (const group of animation.model.children) {
            group.position.set(animation.frames[frame][group.name].position[0],
                animation.frames[frame][group.name].position[1],
                animation.frames[frame][group.name].position[2]
            );
            group.quaternion.set(animation.frames[frame][group.name].quaternion[0],
                animation.frames[frame][group.name].quaternion[1],
                animation.frames[frame][group.name].quaternion[2],
                animation.frames[frame][group.name].quaternion[3]
            );
            modelPos = animation.model.children[0].position;
            lightTarg = animation.model.children[0];
        }
    }
function updateModel ( ) { if ( currentTime < 0 ) { currentTime = animation . stop ; } let frame = Math . round ( ( currentTime % animation . stop ) / animation . step ) ; if ( frame >= ( animation . stop - animation . start ) / animation . step ) { frame = frame - 1 ; } if ( isActive ) replay . controls . notify ( frame * animation . step ) ; for ( const group of animation . model . children ) { group . position . set ( animation . frames [ frame ] [ group . name ] . position [ 0 ] , animation . frames [ frame ] [ group . name ] . position [ 1 ] , animation . frames [ frame ] [ group . name ] . position [ 2 ] ) ; group . quaternion . set ( animation . frames [ frame ] [ group . name ] . quaternion [ 0 ] , animation . frames [ frame ] [ group . name ] . quaternion [ 1 ] , animation . frames [ frame ] [ group . name ] . quaternion [ 2 ] , animation . frames [ frame ] [ group . name ] . quaternion [ 3 ] ) ; modelPos = animation . model . children [ 0 ] . position ; lightTarg = animation . model . children [ 0 ] ; } }
updateModel:
updateModel :