parseConnections method

dynamic parseConnections()

Implementation

parseConnections() {
  var connectionMap = {};

  var rawConnections = fbxTree.connections["connections"];

  rawConnections.forEach((rawConnection) {
    var fromID = rawConnection[0];
    var toID = rawConnection[1];

    dynamic relationship;
    if (rawConnection.length > 2) {
      relationship = rawConnection[2];
    }

    if (!connectionMap.containsKey(fromID)) {
      connectionMap[fromID] = {"parents": [], "children": []};
    }

    var parentRelationship = {"ID": toID, "relationship": relationship};
    connectionMap[fromID]["parents"].add(parentRelationship);

    if (!connectionMap.containsKey(toID)) {
      connectionMap[toID] = {"parents": [], "children": []};
    }

    var childRelationship = {"ID": fromID, "relationship": relationship};
    connectionMap[toID]["children"].add(childRelationship);
  });

  return connectionMap;
}