dist/claygl.es.js
function (clip, mapRule) {
        // Clip have been exists in
        for (var i = 0; i < this._clips.length; i++) {
            if (this._clips[i].clip === clip) {
                return;
            }
        }
        // Map the joint index in skeleton to joint pose index in clip
        var maps = [];
        for (var i = 0; i < this.joints.length; i++) {
            maps[i] = -1;
        }
        // Create avatar
        for (var i = 0; i < clip.tracks.length; i++) {
            for (var j = 0; j < this.joints.length; j++) {
                var joint = this.joints[j];
                var track = clip.tracks[i];
                var jointName = joint.name;
                if (mapRule) {
                    jointName = mapRule[jointName];
                }
                if (track.name === jointName) {
                    maps[j] = i;
                    break;
                }
            }
        }

        this._clips.push({
            maps: maps,
            clip: clip
        });

        return this._clips.length - 1;
    }
function (clip, mapRule) {
        // Clip have been exists in
        for (var i = 0; i < this._clips.length; i++) {
            if (this._clips[i].clip === clip) {
                return;
            }
        }
        // Map the joint index in skeleton to joint pose index in clip
        var maps = [];
        for (var i = 0; i < this.joints.length; i++) {
            maps[i] = -1;
        }
        // Create avatar
        for (var i = 0; i < clip.tracks.length; i++) {
            for (var j = 0; j < this.joints.length; j++) {
                var joint = this.joints[j];
                var track = clip.tracks[i];
                var jointName = joint.name;
                if (mapRule) {
                    jointName = mapRule[jointName];
                }
                if (track.name === jointName) {
                    maps[j] = i;
                    break;
                }
            }
        }

        this._clips.push({
            maps: maps,
            clip: clip
        });

        return this._clips.length - 1;
    }
function ( clip , mapRule ) { // Clip have been exists in for ( var i = 0 ; i < this . _clips . length ; i ++ ) { if ( this . _clips [ i ] . clip === clip ) { return ; } } // Map the joint index in skeleton to joint pose index in clip var maps = [ ] ; for ( var i = 0 ; i < this . joints . length ; i ++ ) { maps [ i ] = - 1 ; } // Create avatar for ( var i = 0 ; i < clip . tracks . length ; i ++ ) { for ( var j = 0 ; j < this . joints . length ; j ++ ) { var joint = this . joints [ j ] ; var track = clip . tracks [ i ] ; var jointName = joint . name ; if ( mapRule ) { jointName = mapRule [ jointName ] ; } if ( track . name === jointName ) { maps [ j ] = i ; break ; } } } this . _clips . push ( { maps : maps , clip : clip } ) ; return this . _clips . length - 1 ; }
Add a skinning clip and create a map between clip and skeleton
@param {clay.animation.SkinningClip} clip
@param {Object} [mapRule] Map between joint name in skeleton and joint name in clip
Add a skinning clip and create a map between clip and skeleton