From 636339a432076dfabb09c85314ca2292260154a1 Mon Sep 17 00:00:00 2001 From: "sha..rd" Date: Sun, 3 Apr 2011 05:04:14 +0000 Subject: [PATCH] * Proper TempVars lock/unlock usage in SkeletonControl ... Although it shouldn't really break anything since that class is the only one using the skinning arrays. * Deprecated Transform.Identity since it does not follow conventions. Added IDENTITY to replace it. git-svn-id: https://jmonkeyengine.googlecode.com/svn/trunk@7168 75d07b2b-3a1a-0410-a2c5-0572b91ccdca --- .../src/core/com/jme3/animation/SkeletonControl.java | 4 ++++ engine/src/core/com/jme3/math/Transform.java | 12 ++++++++++-- engine/src/core/com/jme3/scene/Spatial.java | 2 +- 3 files changed, 15 insertions(+), 3 deletions(-) diff --git a/engine/src/core/com/jme3/animation/SkeletonControl.java b/engine/src/core/com/jme3/animation/SkeletonControl.java index 2b5732b1a..ca17b351d 100644 --- a/engine/src/core/com/jme3/animation/SkeletonControl.java +++ b/engine/src/core/com/jme3/animation/SkeletonControl.java @@ -119,6 +119,8 @@ public class SkeletonControl extends AbstractControl implements Savable, Cloneab int idxWeights = 0; TempVars vars = TempVars.get(); + assert vars.lock(); + float[] posBuf = vars.skinPositions; float[] normBuf = vars.skinNormals; @@ -173,6 +175,8 @@ public class SkeletonControl extends AbstractControl implements Savable, Cloneab fnb.position(fnb.position() - bufLength); fnb.put(normBuf, 0, bufLength); } + + assert vars.unlock(); vb.updateData(fvb); nb.updateData(fnb); diff --git a/engine/src/core/com/jme3/math/Transform.java b/engine/src/core/com/jme3/math/Transform.java index f451a67e9..d01334f5b 100644 --- a/engine/src/core/com/jme3/math/Transform.java +++ b/engine/src/core/com/jme3/math/Transform.java @@ -48,7 +48,15 @@ import java.io.IOException; */ public final class Transform implements Savable, Cloneable { + /** + * + * @deprecated To follow with the standard for constants, + * which should be all upper case. Use {@link Transform#IDENTITY} instead. + */ + @Deprecated public static final Transform Identity = new Transform(); + + public static final Transform IDENTITY = new Transform(); private Quaternion rot = new Quaternion(); private Vector3f translation = new Vector3f(); @@ -281,8 +289,8 @@ public final class Transform implements Savable, Cloneable { InputCapsule capsule = e.getCapsule(this); rot = (Quaternion)capsule.readSavable("rot", new Quaternion()); - translation = (Vector3f)capsule.readSavable("translation", Vector3f.ZERO.clone()); - scale = (Vector3f)capsule.readSavable("scale", Vector3f.UNIT_XYZ.clone()); + translation = (Vector3f)capsule.readSavable("translation", Vector3f.ZERO); + scale = (Vector3f)capsule.readSavable("scale", Vector3f.UNIT_XYZ); } @Override diff --git a/engine/src/core/com/jme3/scene/Spatial.java b/engine/src/core/com/jme3/scene/Spatial.java index 180ab2718..9eb61ba0f 100644 --- a/engine/src/core/com/jme3/scene/Spatial.java +++ b/engine/src/core/com/jme3/scene/Spatial.java @@ -1229,7 +1229,7 @@ public abstract class Spatial implements Savable, Cloneable, Collidable { shadowMode = ic.readEnum("shadow_mode", ShadowMode.class, ShadowMode.Inherit); - localTransform = (Transform) ic.readSavable("transform", Transform.Identity); + localTransform = (Transform) ic.readSavable("transform", Transform.IDENTITY); localLights = (LightList) ic.readSavable("lights", null); localLights.setOwner(this);