Bläddra i källkod

Merge pull request #746 from stephengold/master

Geometry: set worldTransform to identity if ignoreTranform is true
Stephen Gold 8 år sedan
förälder
incheckning
0137670487
1 ändrade filer med 15 tillägg och 3 borttagningar
  1. 15 3
      jme3-core/src/main/java/com/jme3/scene/Geometry.java

+ 15 - 3
jme3-core/src/main/java/com/jme3/scene/Geometry.java

@@ -137,6 +137,20 @@ public class Geometry extends Spatial {
         return super.checkCulling(cam);
     }
 
+    /**
+     * Update the world transform of this Geometry and clear the
+     * TRANSFORM refresh flag.
+     */
+    @Override
+    void checkDoTransformUpdate() {
+        if (ignoreTransform) {
+            worldTransform.loadIdentity();
+            refreshFlags &= ~RF_TRANSFORM;
+        } else {
+            super.checkDoTransformUpdate();
+        }    
+    }
+    
     /**
      * @return If ignoreTransform mode is set.
      *
@@ -151,6 +165,7 @@ public class Geometry extends Spatial {
      */
     public void setIgnoreTransform(boolean ignoreTransform) {
         this.ignoreTransform = ignoreTransform;
+        setTransformRefresh();
     }
 
     /**
@@ -398,9 +413,6 @@ public class Geometry extends Spatial {
 
         // Compute the cached world matrix
         cachedWorldMat.loadIdentity();
-        if (ignoreTransform) {
-            return;
-        }
         cachedWorldMat.setRotationQuaternion(worldTransform.getRotation());
         cachedWorldMat.setTranslation(worldTransform.getTranslation());