From 0f9cf090e70e93f96349216edae1d9aef8b4fb21 Mon Sep 17 00:00:00 2001 From: FennelFetish Date: Fri, 1 Feb 2019 16:55:32 +0100 Subject: [PATCH] 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. --- jme3-core/src/main/java/com/jme3/scene/Node.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/jme3-core/src/main/java/com/jme3/scene/Node.java b/jme3-core/src/main/java/com/jme3/scene/Node.java index fcd6f770c..ef3ed34b8 100644 --- a/jme3-core/src/main/java/com/jme3/scene/Node.java +++ b/jme3-core/src/main/java/com/jme3/scene/Node.java @@ -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 queue) { queue.addAll(children);