searchNodes method
Iterable<RTreeNode<T> >
searchNodes({
- Predicate1<
RTreeNode< ? nodePredicate,T> > - bool leaves = true,
Traverses the tree, returning nodes that match a condition. By default, this method returns only leaf nodes, but intermediate-level nodes can also be returned by passing leaves=False. The condition is evaluated for each node at every level of the tree, and if it returns False, the entire subtree is eliminated.
Implementation
Iterable<RTreeNode<T>> searchNodes({
Predicate1<RTreeNode<T>>? nodePredicate,
bool leaves = true,
}) {
final callback = leaves
? (RTreeNode<T> node) => (node.isLeaf ? [node] : <RTreeNode<T>>[])
: (RTreeNode<T> node) => [node];
return traverse(callback, condition: nodePredicate);
}