removeEmptyNodes method

void removeEmptyNodes()

Implementation

void removeEmptyNodes(){
  final List<OctreeNode> queue = children;
  while (queue.isNotEmpty) {
    final OctreeNode node = queue.removeLast();
    for (int i = node.children.length - 1; i >= 0; i--) {
      if(node.children[i].data.isNotEmpty){
        node.children.removeAt(i);
      }
    }
    queue.addAll(node.children);
  }
  // for (int i = children.length - 1; i >= 0; i--) {
  //   children[i].removeEmptyNodes();
  //   if (children[i].children.isNotEmpty && children[i].data.isNotEmpty) {
  //     children.removeAt(i);
  //   }
  // }
}