Geometry: set worldTransform to identity if ignoreTranform is true

empirephoenix-patch-1
Stephen Gold 7 years ago
parent ad2a9e6230
commit 8a5da0eb0e
  1. 18
      jme3-core/src/main/java/com/jme3/scene/Geometry.java

@ -137,6 +137,20 @@ public class Geometry extends Spatial {
return super.checkCulling(cam); 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. * @return If ignoreTransform mode is set.
* *
@ -151,6 +165,7 @@ public class Geometry extends Spatial {
*/ */
public void setIgnoreTransform(boolean ignoreTransform) { public void setIgnoreTransform(boolean ignoreTransform) {
this.ignoreTransform = ignoreTransform; this.ignoreTransform = ignoreTransform;
setTransformRefresh();
} }
/** /**
@ -398,9 +413,6 @@ public class Geometry extends Spatial {
// Compute the cached world matrix // Compute the cached world matrix
cachedWorldMat.loadIdentity(); cachedWorldMat.loadIdentity();
if (ignoreTransform) {
return;
}
cachedWorldMat.setRotationQuaternion(worldTransform.getRotation()); cachedWorldMat.setRotationQuaternion(worldTransform.getRotation());
cachedWorldMat.setTranslation(worldTransform.getTranslation()); cachedWorldMat.setTranslation(worldTransform.getTranslation());

Loading…
Cancel
Save