public final class Matrix3f extends Object implements Cloneable, Serializable, org.synthclipse.core.ICopyable<Matrix3f>
Matrix3f defines a 3x3 matrix. Matrix data is maintained
 internally and is accessible via the get and set methods. Convenience methods
 are used for matrix operations as well as generating a matrix from a given
 set of values.
 Matrix3f instance can be created by
 Native.newMatrix3() /
 Native.newMatrix3(m00, m01, m02, m10, m11, m12, m20, m21, m22).
 | Modifier and Type | Field and Description | 
|---|---|
static Matrix3f | 
IDENTITY  | 
float | 
m00  | 
float | 
m01  | 
float | 
m02  | 
float | 
m10  | 
float | 
m11  | 
float | 
m12  | 
float | 
m20  | 
float | 
m21  | 
float | 
m22  | 
static Matrix3f | 
ZERO  | 
| Constructor and Description | 
|---|
Matrix3f()
Constructor instantiates a new  
Matrix3f object. | 
Matrix3f(float m00,
        float m01,
        float m02,
        float m10,
        float m11,
        float m12,
        float m20,
        float m21,
        float m22)
constructs a matrix with the given values. 
 | 
Matrix3f(Matrix3f mat)
Copy constructor that creates a new  
Matrix3f object that
 is the same as the provided matrix. | 
| Modifier and Type | Method and Description | 
|---|---|
void | 
absoluteLocal()
Takes the absolute value of all matrix fields locally. 
 | 
Matrix3f | 
adjoint()
Returns a new matrix representing the adjoint of this matrix. 
 | 
Matrix3f | 
adjoint(Matrix3f store)
Places the adjoint of this matrix in store (creates store if null.) 
 | 
Matrix3f | 
clone()  | 
Matrix3f | 
copy()  | 
float | 
determinant()
determinant generates the determinant of this matrix. | 
boolean | 
equals(Object o)
are these two matrices the same? they are is they both have the same mXX values. 
 | 
void | 
fillFloatArray(float[] f,
              boolean columnMajor)  | 
FloatBuffer | 
fillFloatBuffer(FloatBuffer fb,
               boolean columnMajor)
fillFloatBuffer fills a FloatBuffer object with the matrix
 data. | 
void | 
fromAngleAxis(float angle,
             Vector3f axis)
fromAngleAxis sets this matrix4f to the values specified by
 an angle and an axis of rotation. | 
void | 
fromAngleNormalAxis(float angle,
                   float axis_x,
                   float axis_y,
                   float axis_z)
fromAngleNormalAxis sets this matrix4f to the values
 specified by an angle and a normalized axis of rotation. | 
void | 
fromAngleNormalAxis(float angle,
                   Vector3f axis)
fromAngleNormalAxis sets this matrix4f to the values
 specified by an angle and a normalized axis of rotation. | 
void | 
fromAxes(Vector3f uAxis,
        Vector3f vAxis,
        Vector3f wAxis)
Recreate Matrix using the provided axis. 
 | 
void | 
fromStartEndVectors(Vector3f start,
                   Vector3f end)
A function for creating a rotation matrix that rotates a vector called
 "start" into another vector called "end". 
 | 
void | 
fromTwoVectors(float a_x,
              float a_y,
              float a_z,
              float b_x,
              float b_y,
              float b_z)
Creates rotation matrix corresponding to rotation between two vectors. 
 | 
void | 
fromTwoVectors(Vector3f a,
              Vector3f b)
Creates rotation matrix corresponding to rotation between two vectors. 
 | 
void | 
get(float[] data,
   boolean rowMajor)
get(float[]) returns the matrix in row-major or column-major order. | 
float | 
get(int i,
   int j)
get retrieves a value from the matrix at the given
 position. | 
Vector3f | 
getColumn(int i)
getColumn returns one of three columns specified by the
 parameter. | 
Vector3f | 
getColumn(int i,
         Vector3f store)
getColumn returns one of three columns specified by the
 parameter. | 
Vector3f | 
getEulerAngles()
Gets Euler angles from rotation matrix. 
 | 
void | 
getEulerAngles(Vector3f result)
Gets Euler angles from rotation matrix. 
 | 
Vector3f | 
getRow(int i)
getColumn returns one of three rows as specified by the
 parameter. | 
Vector3f | 
getRow(int i,
      Vector3f store)
getRow returns one of three rows as specified by the
 parameter. | 
int | 
hashCode()
hashCode returns the hash code value as an integer and is
 supported for the benefit of hashing based collection classes such as
 Hashtable, HashMap, HashSet etc. | 
Matrix3f | 
invert()
Inverts this matrix as a new Matrix3f. 
 | 
Matrix3f | 
invert(Matrix3f store)
Inverts this matrix and stores it in the given store. 
 | 
Matrix3f | 
invertLocal()
Inverts this matrix locally. 
 | 
boolean | 
isIdentity()  | 
void | 
loadIdentity()
loadIdentity sets this matrix to the identity matrix. | 
Matrix3f | 
mult(Matrix3f mat)
mult multiplies this matrix by a given matrix. | 
Matrix3f | 
mult(Matrix3f mat,
    Matrix3f product)
mult multiplies this matrix by a given matrix. | 
Vector3f | 
mult(Vector3f vec)
mult multiplies this matrix by a given
 Vector3f object. | 
Vector3f | 
mult(Vector3f vec,
    Vector3f product)
Multiplies this 3x3 matrix by the 1x3 Vector vec and stores the result in
 product. 
 | 
Matrix3f | 
multLocal(float scale)
multLocal multiplies this matrix internally by
 a given float scale factor. | 
Matrix3f | 
multLocal(Matrix3f mat)
mult multiplies this matrix by a given matrix. | 
Vector3f | 
multLocal(Vector3f vec)
multLocal multiplies this matrix by a given
 Vector3f object. | 
Matrix3f | 
normalize(Matrix3f store)
Normalize this matrix and store the result in the store parameter that is
 returned. 
 | 
Matrix3f | 
normalizeLocal()
Normalize this matrix 
 | 
void | 
orthonormalize()
Ortho-normalize rotation matrix. 
 | 
void | 
scale(Vector3f scale)
scale scales the operation performed by this matrix on a
 per-component basis. | 
Matrix3f | 
set(float[] matrix)
set sets the values of this matrix from an array of
 values assuming that the data is rowMajor order; | 
Matrix3f | 
set(float[][] matrix)
set sets the values of the matrix to those supplied by the
 3x3 two dimenion array. | 
Matrix3f | 
set(float[] matrix,
   boolean rowMajor)
set sets the values of this matrix from an array of
 values; | 
Matrix3f | 
set(int i,
   int j,
   float value)
set places a given value into the matrix at the given
 position. | 
Matrix3f | 
set(Matrix3f matrix)
copy transfers the contents of a given matrix to this
 matrix. | 
Matrix3f | 
set(Quaternion quaternion)
set defines the values of the matrix based on a supplied
 Quaternion. | 
Matrix3f | 
setColumn(int i,
         Vector3f column)
setColumn sets a particular column of this matrix to that
 represented by the provided vector. | 
Matrix3f | 
setRow(int i,
      Vector3f row)
setRow sets a particular row of this matrix to that
 represented by the provided vector. | 
FloatBuffer | 
toFloatBuffer()
toFloatBuffer returns a FloatBuffer object that contains
 the matrix data. | 
String | 
toString()
toString returns the string representation of this object. | 
Matrix3f | 
transpose()
transpose locally transposes this Matrix. | 
Matrix3f | 
transposeLocal()
Transposes this matrix in place. 
 | 
Matrix3f | 
transposeNew()
transposeNew returns a transposed version of this matrix. | 
void | 
yawPitchRoll(float yaw,
            float pitch,
            float roll)  | 
Matrix3f | 
zero()
Sets all of the values in this matrix to zero. 
 | 
public float m00
public float m01
public float m02
public float m10
public float m11
public float m12
public float m20
public float m21
public float m22
public static final Matrix3f ZERO
public static final Matrix3f IDENTITY
public Matrix3f()
Matrix3f object. The
 initial values for the matrix is that of the identity matrix.public Matrix3f(float m00,
                float m01,
                float m02,
                float m10,
                float m11,
                float m12,
                float m20,
                float m21,
                float m22)
m00 - 0x0 in the matrix.m01 - 0x1 in the matrix.m02 - 0x2 in the matrix.m10 - 1x0 in the matrix.m11 - 1x1 in the matrix.m12 - 1x2 in the matrix.m20 - 2x0 in the matrix.m21 - 2x1 in the matrix.m22 - 2x2 in the matrix.public Matrix3f(Matrix3f mat)
Matrix3f object that
 is the same as the provided matrix.mat - the matrix to copy.public void absoluteLocal()
public Matrix3f set(Matrix3f matrix)
copy transfers the contents of a given matrix to this
 matrix. If a null matrix is supplied, this matrix is set to the identity
 matrix.matrix - the matrix to copy.public float get(int i,
                 int j)
get retrieves a value from the matrix at the given
 position. If the position is invalid a JmeException is
 thrown.i - the row index.j - the colum index.public void get(float[] data,
                boolean rowMajor)
get(float[]) returns the matrix in row-major or column-major order.data - The array to return the data into. This array can be 9 or 16 floats in size.
      Only the upper 3x3 are assigned to in the case of a 16 element array.rowMajor - True for row major storage in the array (translation in elements 3, 7, 11 for a 4x4),
      false for column major (translation in elements 12, 13, 14 for a 4x4).public Matrix3f normalize(Matrix3f store)
store - the matrix to store the result of the normalization. If this
 parameter is null a new one is createdpublic Matrix3f normalizeLocal()
public Vector3f getColumn(int i)
getColumn returns one of three columns specified by the
 parameter. This column is returned as a Vector3f object.i - the column to retrieve. Must be between 0 and 2.public Vector3f getColumn(int i, Vector3f store)
getColumn returns one of three columns specified by the
 parameter. This column is returned as a Vector3f object.i - the column to retrieve. Must be between 0 and 2.store - the vector object to store the result in. if null, a new one
            is created.public Vector3f getRow(int i)
getColumn returns one of three rows as specified by the
 parameter. This row is returned as a Vector3f object.i - the row to retrieve. Must be between 0 and 2.public Vector3f getRow(int i, Vector3f store)
getRow returns one of three rows as specified by the
 parameter. This row is returned as a Vector3f object.i - the row to retrieve. Must be between 0 and 2.store - the vector object to store the result in. if null, a new one
            is created.public FloatBuffer toFloatBuffer()
toFloatBuffer returns a FloatBuffer object that contains
 the matrix data.public FloatBuffer fillFloatBuffer(FloatBuffer fb, boolean columnMajor)
fillFloatBuffer fills a FloatBuffer object with the matrix
 data.fb - the buffer to fill, starting at current position. Must have
            room for 9 more floats.public void fillFloatArray(float[] f,
                           boolean columnMajor)
public Matrix3f setColumn(int i, Vector3f column)
setColumn sets a particular column of this matrix to that
 represented by the provided vector.i - the column to set.column - the data to set.public Matrix3f setRow(int i, Vector3f row)
setRow sets a particular row of this matrix to that
 represented by the provided vector.i - the row to set.row - the data to set.public Matrix3f set(int i, int j, float value)
set places a given value into the matrix at the given
 position. If the position is invalid a JmeException is
 thrown.i - the row index.j - the colum index.value - the value for (i, j).public Matrix3f set(float[][] matrix)
set sets the values of the matrix to those supplied by the
 3x3 two dimenion array.matrix - the new values of the matrix.public void fromAxes(Vector3f uAxis, Vector3f vAxis, Vector3f wAxis)
uAxis - Vector3fvAxis - Vector3fwAxis - Vector3fpublic Matrix3f set(float[] matrix)
set sets the values of this matrix from an array of
 values assuming that the data is rowMajor order;matrix - the matrix to set the value to.public Matrix3f set(float[] matrix, boolean rowMajor)
set sets the values of this matrix from an array of
 values;matrix - the matrix to set the value to.rowMajor - whether the incoming data is in row or column major order.public Matrix3f set(Quaternion quaternion)
set defines the values of the matrix based on a supplied
 Quaternion. It should be noted that all previous values
 will be overridden.quaternion - the quaternion to create a rotational matrix from.public void loadIdentity()
loadIdentity sets this matrix to the identity matrix.
 Where all values are zero except those along the diagonal which are one.public boolean isIdentity()
public void fromAngleAxis(float angle,
                          Vector3f axis)
fromAngleAxis sets this matrix4f to the values specified by
 an angle and an axis of rotation. This method creates an object, so use
 fromAngleNormalAxis if your axis is already normalized.angle - the angle to rotate (in radians).axis - the axis of rotation.public void fromAngleNormalAxis(float angle,
                                Vector3f axis)
fromAngleNormalAxis sets this matrix4f to the values
 specified by an angle and a normalized axis of rotation.angle - the angle to rotate (in radians).axis - the axis of rotation (already normalized).public void fromAngleNormalAxis(float angle,
                                float axis_x,
                                float axis_y,
                                float axis_z)
fromAngleNormalAxis sets this matrix4f to the values
 specified by an angle and a normalized axis of rotation.angle - the angle to rotate (in radians).public Matrix3f mult(Matrix3f mat)
mult multiplies this matrix by a given matrix. The result
 matrix is returned as a new object. If the given matrix is null, a null
 matrix is returned.mat - the matrix to multiply this matrix by.public Matrix3f mult(Matrix3f mat, Matrix3f product)
mult multiplies this matrix by a given matrix. The result
 matrix is returned as a new object.mat - the matrix to multiply this matrix by.product - the matrix to store the result in. if null, a new matrix3f is
            created.  It is safe for mat and product to be the same object.public Vector3f mult(Vector3f vec)
mult multiplies this matrix by a given
 Vector3f object. The result vector is returned. If the
 given vector is null, null will be returned.vec - the vector to multiply this matrix by.public Vector3f mult(Vector3f vec, Vector3f product)
vec - The Vector3f to multiply.product - The Vector3f to store the result, it is safe for this to be
            the same as vec.public Matrix3f multLocal(float scale)
multLocal multiplies this matrix internally by
 a given float scale factor.scale - the value to scale by.public Vector3f multLocal(Vector3f vec)
multLocal multiplies this matrix by a given
 Vector3f object. The result vector is stored inside the
 passed vector, then returned . If the given vector is null, null will be
 returned.vec - the vector to multiply this matrix by.public Matrix3f multLocal(Matrix3f mat)
mult multiplies this matrix by a given matrix. The result
 matrix is saved in the current matrix. If the given matrix is null,
 nothing happens. The current matrix is returned. This is equivalent to
 this*=matmat - the matrix to multiply this matrix by.public Matrix3f transposeLocal()
public Matrix3f invert()
public Matrix3f invert(Matrix3f store)
public Matrix3f invertLocal()
public Matrix3f adjoint()
public Matrix3f adjoint(Matrix3f store)
store - The matrix to store the result in.  If null, a new matrix is created.public float determinant()
determinant generates the determinant of this matrix.public Matrix3f zero()
public Matrix3f transpose()
transpose locally transposes this Matrix.
 This is inconsistent with general value vs local semantics, but is
 preserved for backwards compatibility. Use transposeNew() to transpose
 to a new object (value).public Matrix3f transposeNew()
transposeNew returns a transposed version of this matrix.public String toString()
toString returns the string representation of this object.
 It is in a format of a 3x3 matrix. For example, an identity matrix would
 be represented by the following string. com.jme.math.Matrix3f public int hashCode()
hashCode returns the hash code value as an integer and is
 supported for the benefit of hashing based collection classes such as
 Hashtable, HashMap, HashSet etc.hashCode in class ObjectObject.hashCode()public boolean equals(Object o)
public void fromStartEndVectors(Vector3f start, Vector3f end)
start - normalized non-zero starting vectorend - normalized non-zero ending vectorpublic void scale(Vector3f scale)
scale scales the operation performed by this matrix on a
 per-component basis.scale - The scale applied to each of the X, Y and Z output values.public void orthonormalize()
public void fromTwoVectors(Vector3f a, Vector3f b)
public void fromTwoVectors(float a_x,
                           float a_y,
                           float a_z,
                           float b_x,
                           float b_y,
                           float b_z)
public Vector3f getEulerAngles()
public void getEulerAngles(Vector3f result)
public void yawPitchRoll(float yaw,
                         float pitch,
                         float roll)