parsePoseNodes method

dynamic parsePoseNodes()

Implementation

parsePoseNodes() {
  var bindMatrices = {};

  if (fbxTree.objects.keys.contains("Pose")) {
    var bindPoseNode = fbxTree.objects["Pose"];

    for (var nodeID in bindPoseNode.keys) {
      if (bindPoseNode[nodeID]["attrType"] == 'BindPose' && bindPoseNode[nodeID]["NbPoseNodes"] > 0) {
        var poseNodes = bindPoseNode[nodeID]["PoseNode"];

        if (poseNodes is List) {
          for (var poseNode in poseNodes) {
            bindMatrices[poseNode["Node"]] = Matrix4().fromArray(poseNode["Matrix"]["a"]);
          }
        } else {
          bindMatrices[poseNodes["Node"]] = Matrix4().fromArray(poseNodes["Matrix"]["a"]);
        }
      }
    }
  }

  return bindMatrices;
}