findNode static method

Object3D? findNode(
  1. Object3D? root,
  2. String? nodeName
)

Implementation

static Object3D? findNode(Object3D? root, String? nodeName) {
  if (nodeName == null ||
    nodeName == '' ||
    nodeName == '.' ||
    root == null ||
    nodeName == root.name ||
    nodeName == root.uuid
  ){
    return root;
  }

  // search into skeleton bones.
  if (root.skeleton != null) {
    final bone = root.skeleton!.getBoneByName(nodeName);

    if (bone != null) {
      return bone;
    }
  }

  // search into node subtree.
  if (root.children.isNotEmpty) {
    final subTreeNode = searchNodeSubtree(root.children, nodeName);

    if (subTreeNode != null) {
      return subTreeNode;
    }
  }

  return null;
}