com.jme3.math
Class Transform

java.lang.Object
  extended by com.jme3.math.Transform
All Implemented Interfaces:
Savable, java.io.Serializable, java.lang.Cloneable

public final class Transform
extends java.lang.Object
implements Savable, java.lang.Cloneable, java.io.Serializable

Started Date: Jul 16, 2004

Represents a translation, rotation and scale in one object.

See Also:
Serialized Form

Field Summary
static Transform IDENTITY
           
 
Constructor Summary
Transform()
           
Transform(Quaternion rot)
           
Transform(Vector3f translation)
           
Transform(Vector3f translation, Quaternion rot)
           
Transform(Vector3f translation, Quaternion rot, Vector3f scale)
           
 
Method Summary
 Transform clone()
           
 Transform combineWithParent(Transform parent)
          Changes the values of this matrix acording to it's parent.
 Quaternion getRotation()
          Return the rotation quaternion in this matrix.
 Quaternion getRotation(Quaternion quat)
          Stores this rotation value into the given Quaternion.
 Vector3f getScale()
          Return the scale vector in this matrix.
 Vector3f getScale(Vector3f scale)
          Stores this scale value into the given vector3f.
 Vector3f getTranslation()
          Return the translation vector in this matrix.
 Vector3f getTranslation(Vector3f trans)
          Stores this translation value into the given vector3f.
 void interpolateTransforms(Transform t1, Transform t2, float delta)
          Sets this matrix to the interpolation between the first matrix and the second by delta amount.
 void loadIdentity()
          Loads the identity.
 void read(JmeImporter e)
           
 Transform set(Transform matrixQuat)
          Sets this matrix to be equal to the given matrix.
 Transform setRotation(Quaternion rot)
          Sets this rotation to the given Quaternion value.
 Transform setScale(float scale)
          Sets this scale to the given value.
 Transform setScale(float x, float y, float z)
          Sets this matrix's scale to the given x,y,z values.
 Transform setScale(Vector3f scale)
          Sets this scale to the given value.
 Transform setTranslation(float x, float y, float z)
          Sets this matrix's translation to the given x,y,z values.
 Transform setTranslation(Vector3f trans)
          Sets this translation to the given value.
 java.lang.String toString()
           
 Vector3f transformInverseVector(Vector3f in, Vector3f store)
           
 Vector3f transformVector(Vector3f in, Vector3f store)
           
 void write(JmeExporter e)
           
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

IDENTITY

public static final Transform IDENTITY
Constructor Detail

Transform

public Transform(Vector3f translation,
                 Quaternion rot)

Transform

public Transform(Vector3f translation,
                 Quaternion rot,
                 Vector3f scale)

Transform

public Transform(Vector3f translation)

Transform

public Transform(Quaternion rot)

Transform

public Transform()
Method Detail

setRotation

public Transform setRotation(Quaternion rot)
Sets this rotation to the given Quaternion value.

Parameters:
rot - The new rotation for this matrix.
Returns:
this

setTranslation

public Transform setTranslation(Vector3f trans)
Sets this translation to the given value.

Parameters:
trans - The new translation for this matrix.
Returns:
this

getTranslation

public Vector3f getTranslation()
Return the translation vector in this matrix.

Returns:
translation vector.

setScale

public Transform setScale(Vector3f scale)
Sets this scale to the given value.

Parameters:
scale - The new scale for this matrix.
Returns:
this

setScale

public Transform setScale(float scale)
Sets this scale to the given value.

Parameters:
scale - The new scale for this matrix.
Returns:
this

getScale

public Vector3f getScale()
Return the scale vector in this matrix.

Returns:
scale vector.

getTranslation

public Vector3f getTranslation(Vector3f trans)
Stores this translation value into the given vector3f. If trans is null, a new vector3f is created to hold the value. The value, once stored, is returned.

Parameters:
trans - The store location for this matrix's translation.
Returns:
The value of this matrix's translation.

getRotation

public Quaternion getRotation(Quaternion quat)
Stores this rotation value into the given Quaternion. If quat is null, a new Quaternion is created to hold the value. The value, once stored, is returned.

Parameters:
quat - The store location for this matrix's rotation.
Returns:
The value of this matrix's rotation.

getRotation

public Quaternion getRotation()
Return the rotation quaternion in this matrix.

Returns:
rotation quaternion.

getScale

public Vector3f getScale(Vector3f scale)
Stores this scale value into the given vector3f. If scale is null, a new vector3f is created to hold the value. The value, once stored, is returned.

Parameters:
scale - The store location for this matrix's scale.
Returns:
The value of this matrix's scale.

interpolateTransforms

public void interpolateTransforms(Transform t1,
                                  Transform t2,
                                  float delta)
Sets this matrix to the interpolation between the first matrix and the second by delta amount.

Parameters:
t1 - The begining transform.
t2 - The ending transform.
delta - An amount between 0 and 1 representing how far to interpolate from t1 to t2.

combineWithParent

public Transform combineWithParent(Transform parent)
Changes the values of this matrix acording to it's parent. Very similar to the concept of Node/Spatial transforms.

Parameters:
parent - The parent matrix.
Returns:
This matrix, after combining.

setTranslation

public Transform setTranslation(float x,
                                float y,
                                float z)
Sets this matrix's translation to the given x,y,z values.

Parameters:
x - This matrix's new x translation.
y - This matrix's new y translation.
z - This matrix's new z translation.
Returns:
this

setScale

public Transform setScale(float x,
                          float y,
                          float z)
Sets this matrix's scale to the given x,y,z values.

Parameters:
x - This matrix's new x scale.
y - This matrix's new y scale.
z - This matrix's new z scale.
Returns:
this

transformVector

public Vector3f transformVector(Vector3f in,
                                Vector3f store)

transformInverseVector

public Vector3f transformInverseVector(Vector3f in,
                                       Vector3f store)

loadIdentity

public void loadIdentity()
Loads the identity. Equal to translation=0,0,0 scale=1,1,1 rot=0,0,0,1.


toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

set

public Transform set(Transform matrixQuat)
Sets this matrix to be equal to the given matrix.

Parameters:
matrixQuat - The matrix to be equal to.
Returns:
this

write

public void write(JmeExporter e)
           throws java.io.IOException
Specified by:
write in interface Savable
Throws:
java.io.IOException

read

public void read(JmeImporter e)
          throws java.io.IOException
Specified by:
read in interface Savable
Throws:
java.io.IOException

clone

public Transform clone()
Overrides:
clone in class java.lang.Object