Fixes depth-first-traversal order in Node.
DFSMode needs to be passed to the recursive calls so the selected order is also applied further down the scenegraph.
This commit is contained in:
parent
304550a0f4
commit
0f9cf090e7
@ -771,20 +771,22 @@ public class Node extends Spatial {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void depthFirstTraversal(SceneGraphVisitor visitor, DFSMode mode) {
|
||||
if (mode == DFSMode.POST_ORDER) {
|
||||
for (Spatial child : children.getArray()) {
|
||||
child.depthFirstTraversal(visitor);
|
||||
child.depthFirstTraversal(visitor, mode);
|
||||
}
|
||||
visitor.visit(this);
|
||||
} else { //pre order
|
||||
visitor.visit(this);
|
||||
for (Spatial child : children.getArray()) {
|
||||
child.depthFirstTraversal(visitor);
|
||||
child.depthFirstTraversal(visitor, mode);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void breadthFirstTraversal(SceneGraphVisitor visitor, Queue<Spatial> queue) {
|
||||
queue.addAll(children);
|
||||
|
Loading…
x
Reference in New Issue
Block a user