diff --git a/jme3-bullet/src/main/java/com/jme3/bullet/PhysicsSpace.java b/jme3-bullet/src/main/java/com/jme3/bullet/PhysicsSpace.java index 821bf7a09..74c44a0b9 100644 --- a/jme3-bullet/src/main/java/com/jme3/bullet/PhysicsSpace.java +++ b/jme3-bullet/src/main/java/com/jme3/bullet/PhysicsSpace.java @@ -489,9 +489,10 @@ public class PhysicsSpace { * @param spatial the rootnode containing the physics objects */ public void addAll(Spatial spatial) { + add(spatial); + if (spatial.getControl(RigidBodyControl.class) != null) { RigidBodyControl physicsNode = spatial.getControl(RigidBodyControl.class); - add(physicsNode); //add joints with physicsNode as BodyA List joints = physicsNode.getJoints(); for (Iterator it1 = joints.iterator(); it1.hasNext();) { @@ -501,8 +502,6 @@ public class PhysicsSpace { add(physicsJoint); } } - } else { - add(spatial); } //recursion if (spatial instanceof Node) { @@ -531,10 +530,9 @@ public class PhysicsSpace { //remove(physicsJoint.getBodyB()); } } - remove(physicsNode); - } else if (spatial.getControl(PhysicsControl.class) != null) { - remove(spatial); } + + remove(spatial); //recursion if (spatial instanceof Node) { List children = ((Node) spatial).getChildren(); diff --git a/jme3-jbullet/src/main/java/com/jme3/bullet/PhysicsSpace.java b/jme3-jbullet/src/main/java/com/jme3/bullet/PhysicsSpace.java index 483343f72..b69332490 100644 --- a/jme3-jbullet/src/main/java/com/jme3/bullet/PhysicsSpace.java +++ b/jme3-jbullet/src/main/java/com/jme3/bullet/PhysicsSpace.java @@ -458,9 +458,10 @@ public class PhysicsSpace { * @param spatial the rootnode containing the physics objects */ public void addAll(Spatial spatial) { + add(spatial); + if (spatial.getControl(RigidBodyControl.class) != null) { RigidBodyControl physicsNode = spatial.getControl(RigidBodyControl.class); - add(physicsNode); //add joints with physicsNode as BodyA List joints = physicsNode.getJoints(); for (Iterator it1 = joints.iterator(); it1.hasNext();) { @@ -470,8 +471,6 @@ public class PhysicsSpace { add(physicsJoint); } } - } else { - add(spatial); } //recursion if (spatial instanceof Node) { @@ -500,10 +499,9 @@ public class PhysicsSpace { //remove(physicsJoint.getBodyB()); } } - remove(physicsNode); - } else if (spatial.getControl(PhysicsControl.class) != null) { - remove(spatial); } + + remove(spatial); //recursion if (spatial instanceof Node) { List children = ((Node) spatial).getChildren();