From bee38da3b860e73feb190b08696a6d83de8cb35f 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 3e1482955..012f1e852 100644 --- a/jme3-core/src/main/java/com/jme3/scene/Node.java +++ b/jme3-core/src/main/java/com/jme3/scene/Node.java @@ -769,20 +769,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);