|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.jme.math.Matrix3f
public class 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.
Field Summary | |
---|---|
float |
m00
|
float |
m01
|
float |
m02
|
float |
m10
|
float |
m11
|
float |
m12
|
float |
m20
|
float |
m21
|
float |
m22
|
Constructor Summary | |
---|---|
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. |
Method Summary | |
---|---|
void |
add(Matrix3f mat)
add adds the values of a parameter matrix to this matrix. |
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()
|
void |
copy(Matrix3f matrix)
copy transfers the contents of a given matrix to this
matrix. |
float |
determinant()
determinant generates the determinate of this matrix. |
(package private) static boolean |
equalIdentity(Matrix3f mat)
|
boolean |
equals(java.lang.Object o)
are these two matrices the same? they are is they both have the same mXX values. |
java.nio.FloatBuffer |
fillFloatBuffer(java.nio.FloatBuffer fb)
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,
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 |
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. |
java.lang.Class<? extends Matrix3f> |
getClassTag()
|
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 |
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. |
void |
read(JMEImporter e)
|
void |
scale(Vector3f scale)
scale scales the operation performed by this matrix on a
per-component basis. |
void |
set(float[] matrix)
set sets the values of this matrix from an array of
values assuming that the data is rowMajor order; |
void |
set(float[][] matrix)
set sets the values of the matrix to those supplied by the
3x3 two dimenion array. |
void |
set(float[] matrix,
boolean rowMajor)
set sets the values of this matrix from an array of
values; |
void |
set(int i,
int j,
float value)
set places a given value into the matrix at the given
position. |
void |
set(Quaternion quaternion)
set defines the values of the matrix based on a supplied
Quaternion . |
void |
setColumn(int i,
Vector3f column)
setColumn sets a particular column of this matrix to that
represented by the provided vector. |
void |
setRow(int i,
Vector3f row)
setRow sets a particular row of this matrix to that
represented by the provided vector. |
java.nio.FloatBuffer |
toFloatBuffer()
toFloatBuffer returns a FloatBuffer object that contains
the matrix data. |
java.lang.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 |
write(JMEExporter e)
|
Matrix3f |
zero()
Sets all of the values in this matrix to zero. |
Methods inherited from class java.lang.Object |
---|
finalize, getClass, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
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
Constructor Detail |
---|
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.Method Detail |
---|
public void copy(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 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 java.nio.FloatBuffer toFloatBuffer()
toFloatBuffer
returns a FloatBuffer object that contains
the matrix data.
public java.nio.FloatBuffer fillFloatBuffer(java.nio.FloatBuffer fb)
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 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 void 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 void 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 void 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.
JmeException
- if the array is not of size 9.public void fromAxes(Vector3f uAxis, Vector3f vAxis, Vector3f wAxis)
uAxis
- Vector3fvAxis
- Vector3fwAxis
- Vector3fpublic void 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 void 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 void 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 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*=mat
mat
- 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 determinate of this matrix.
public Matrix3f zero()
public void add(Matrix3f mat)
add
adds the values of a parameter matrix to this matrix.
mat
- the matrix to add to this.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 java.lang.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
toString
in class java.lang.Object
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 java.lang.Object
Object.hashCode()
public boolean equals(java.lang.Object o)
equals
in class java.lang.Object
o
- the object to compare for equality
public void write(JMEExporter e) throws java.io.IOException
write
in interface Savable
java.io.IOException
public void read(JMEImporter e) throws java.io.IOException
read
in interface Savable
java.io.IOException
public java.lang.Class<? extends Matrix3f> getClassTag()
getClassTag
in interface Savable
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.static final boolean equalIdentity(Matrix3f mat)
public Matrix3f clone()
clone
in class java.lang.Object
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |