parseMorphTargets method

dynamic parseMorphTargets(
  1. dynamic relationships,
  2. dynamic deformerNodes
)

Implementation

parseMorphTargets( relationships, deformerNodes ) {

	var rawMorphTargets = [];

	for ( var i = 0; i < relationships.children.length; i ++ ) {

		var child = relationships.children[ i ];

		var morphTargetNode = deformerNodes[ child["ID"] ];

		var rawMorphTarget = {

			"name": morphTargetNode.attrName,
			"initialWeight": morphTargetNode.DeformPercent,
			"id": morphTargetNode.id,
			"fullWeights": morphTargetNode.FullWeights.a

		};

		if ( morphTargetNode.attrType != 'BlendShapeChannel' ) return;

		rawMorphTarget["geoID"] = connections[parseInt( child["ID"] )].children.filter( ( child ) {

			return child.relationship == null;

		} )[ 0 ].ID;

		rawMorphTargets.add( rawMorphTarget );

	}

	return rawMorphTargets;

}