Class Matrix4f
- java.lang.Object
-
- net.lax1dude.eaglercraft.v1_8.vector.Matrix
-
- net.lax1dude.eaglercraft.v1_8.vector.Matrix4f
-
- All Implemented Interfaces:
java.io.Serializable
- Direct Known Subclasses:
Matrix4f
public class Matrix4f extends Matrix implements java.io.Serializable
Holds a 4x4 float matrix.- See Also:
- Serialized Form
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static Matrix4f
add(Matrix4f left, Matrix4f right, Matrix4f dest)
Add two matrices together and place the result in a third matrix.float
determinant()
static boolean
equal(Matrix4f a, Matrix4f b)
boolean
equals(java.lang.Object m)
Matrix
invert()
Invert this matrixstatic Matrix4f
invert(Matrix4f src, Matrix4f dest)
Invert the source matrix and put the result in the destinationMatrix
load(float[] buf)
Load from a float buffer.Matrix
load(FloatBuffer buf)
Load from a float buffer.Matrix4f
load(Matrix4f src)
Load from another matrix4fstatic Matrix4f
load(Matrix4f src, Matrix4f dest)
Copy the source matrix to the destination matrixMatrix
loadTranspose(FloatBuffer buf)
Load from a float buffer.static Matrix4f
mul(Matrix4f left, Matrix4f right, Matrix4f dest)
Multiply the right matrix by the left and place the result in a third matrix.Matrix
negate()
Negate this matrixMatrix4f
negate(Matrix4f dest)
Negate this matrix and place the result in a destination matrix.static Matrix4f
negate(Matrix4f src, Matrix4f dest)
Negate this matrix and place the result in a destination matrix.Matrix4f
rotate(float angle, Vector3f axis)
Rotates the matrix around the given axis the specified angleMatrix4f
rotate(float angle, Vector3f axis, Matrix4f dest)
Rotates the matrix around the given axis the specified anglestatic Matrix4f
rotate(float angle, Vector3f axis, Matrix4f src, Matrix4f dest)
Rotates the source matrix around the given axis the specified angle and put the result in the destination matrix.Matrix4f
scale(Vector3f vec)
Scales this matrixstatic Matrix4f
scale(Vector3f vec, Matrix4f src, Matrix4f dest)
Scales the source matrix and put the result in the destination matrixMatrix
setIdentity()
Set this matrix to be the identity matrix.static Matrix4f
setIdentity(Matrix4f m)
Set the given matrix to be the identity matrix.Matrix
setZero()
Set this matrix to 0.static Matrix4f
setZero(Matrix4f m)
Set the given matrix to 0.Matrix
store(float[] buf)
Matrix
store(FloatBuffer buf)
Store this matrix in a float buffer.Matrix
store3f(FloatBuffer buf)
Store the rotation portion of this matrix in a float buffer.Matrix
storeTranspose(FloatBuffer buf)
Store this matrix in a float buffer.static Matrix4f
sub(Matrix4f left, Matrix4f right, Matrix4f dest)
Subtract the right matrix from the left and place the result in a third matrix.java.lang.String
toString()
Returns a string representation of this matrixstatic Vector4f
transform(Matrix4f left, Vector4f right, Vector4f dest)
Transform a Vector by a matrix and return the result in a destination vector.Matrix4f
translate(Vector2f vec)
Translate this matrixMatrix4f
translate(Vector2f vec, Matrix4f dest)
Translate this matrix and stash the result in another matrixstatic Matrix4f
translate(Vector2f vec, Matrix4f src, Matrix4f dest)
Translate the source matrix and stash the result in the destination matrixMatrix4f
translate(Vector3f vec)
Translate this matrixMatrix4f
translate(Vector3f vec, Matrix4f dest)
Translate this matrix and stash the result in another matrixstatic Matrix4f
translate(Vector3f vec, Matrix4f src, Matrix4f dest)
Translate the source matrix and stash the result in the destination matrixMatrix
transpose()
Transpose this matrixMatrix4f
transpose(Matrix4f dest)
Transpose this matrix and place the result in another matrixstatic Matrix4f
transpose(Matrix4f src, Matrix4f dest)
Transpose the source matrix and place the result in the destination matrix
-
-
-
Field Detail
-
m00
public float m00
-
m01
public float m01
-
m02
public float m02
-
m03
public float m03
-
m10
public float m10
-
m11
public float m11
-
m12
public float m12
-
m13
public float m13
-
m20
public float m20
-
m21
public float m21
-
m22
public float m22
-
m23
public float m23
-
m30
public float m30
-
m31
public float m31
-
m32
public float m32
-
m33
public float m33
-
-
Constructor Detail
-
Matrix4f
public Matrix4f()
Construct a new matrix, initialized to the identity.
-
Matrix4f
public Matrix4f(Matrix4f src)
-
-
Method Detail
-
toString
public java.lang.String toString()
Returns a string representation of this matrix- Overrides:
toString
in classjava.lang.Object
-
setIdentity
public Matrix setIdentity()
Set this matrix to be the identity matrix.- Specified by:
setIdentity
in classMatrix
- Returns:
- this
-
setIdentity
public static Matrix4f setIdentity(Matrix4f m)
Set the given matrix to be the identity matrix.- Parameters:
m
- The matrix to set to the identity- Returns:
- m
-
setZero
public Matrix setZero()
Set this matrix to 0.
-
setZero
public static Matrix4f setZero(Matrix4f m)
Set the given matrix to 0.- Parameters:
m
- The matrix to set to 0- Returns:
- m
-
load
public Matrix4f load(Matrix4f src)
Load from another matrix4f- Parameters:
src
- The source matrix- Returns:
- this
-
load
public static Matrix4f load(Matrix4f src, Matrix4f dest)
Copy the source matrix to the destination matrix- Parameters:
src
- The source matrixdest
- The destination matrix, or null of a new one is to be created- Returns:
- The copied matrix
-
load
public Matrix load(FloatBuffer buf)
Load from a float buffer. The buffer stores the matrix in column major (OpenGL) order.
-
load
public Matrix load(float[] buf)
Load from a float buffer. The buffer stores the matrix in column major (OpenGL) order.- Parameters:
buf
- A float array to read from- Returns:
- this
-
loadTranspose
public Matrix loadTranspose(FloatBuffer buf)
Load from a float buffer. The buffer stores the matrix in row major (maths) order.- Specified by:
loadTranspose
in classMatrix
- Parameters:
buf
- A float buffer to read from- Returns:
- this
-
store
public Matrix store(FloatBuffer buf)
Store this matrix in a float buffer. The matrix is stored in column major (openGL) order.
-
store
public Matrix store(float[] buf)
-
storeTranspose
public Matrix storeTranspose(FloatBuffer buf)
Store this matrix in a float buffer. The matrix is stored in row major (maths) order.- Specified by:
storeTranspose
in classMatrix
- Parameters:
buf
- The buffer to store this matrix in- Returns:
- this
-
store3f
public Matrix store3f(FloatBuffer buf)
Store the rotation portion of this matrix in a float buffer. The matrix is stored in column major (openGL) order.- Parameters:
buf
- The buffer to store this matrix in
-
add
public static Matrix4f add(Matrix4f left, Matrix4f right, Matrix4f dest)
Add two matrices together and place the result in a third matrix.- Parameters:
left
- The left source matrixright
- The right source matrixdest
- The destination matrix, or null if a new one is to be created- Returns:
- the destination matrix
-
sub
public static Matrix4f sub(Matrix4f left, Matrix4f right, Matrix4f dest)
Subtract the right matrix from the left and place the result in a third matrix.- Parameters:
left
- The left source matrixright
- The right source matrixdest
- The destination matrix, or null if a new one is to be created- Returns:
- the destination matrix
-
mul
public static Matrix4f mul(Matrix4f left, Matrix4f right, Matrix4f dest)
Multiply the right matrix by the left and place the result in a third matrix.- Parameters:
left
- The left source matrixright
- The right source matrixdest
- The destination matrix, or null if a new one is to be created- Returns:
- the destination matrix
-
transform
public static Vector4f transform(Matrix4f left, Vector4f right, Vector4f dest)
Transform a Vector by a matrix and return the result in a destination vector.- Parameters:
left
- The left matrixright
- The right vectordest
- The destination vector, or null if a new one is to be created- Returns:
- the destination vector
-
transpose
public Matrix transpose()
Transpose this matrix
-
translate
public Matrix4f translate(Vector2f vec)
Translate this matrix- Parameters:
vec
- The vector to translate by- Returns:
- this
-
translate
public Matrix4f translate(Vector3f vec)
Translate this matrix- Parameters:
vec
- The vector to translate by- Returns:
- this
-
scale
public Matrix4f scale(Vector3f vec)
Scales this matrix- Parameters:
vec
- The vector to scale by- Returns:
- this
-
scale
public static Matrix4f scale(Vector3f vec, Matrix4f src, Matrix4f dest)
Scales the source matrix and put the result in the destination matrix- Parameters:
vec
- The vector to scale bysrc
- The source matrixdest
- The destination matrix, or null if a new matrix is to be created- Returns:
- The scaled matrix
-
rotate
public Matrix4f rotate(float angle, Vector3f axis)
Rotates the matrix around the given axis the specified angle- Parameters:
angle
- the angle, in radians.axis
- The vector representing the rotation axis. Must be normalized.- Returns:
- this
-
rotate
public Matrix4f rotate(float angle, Vector3f axis, Matrix4f dest)
Rotates the matrix around the given axis the specified angle- Parameters:
angle
- the angle, in radians.axis
- The vector representing the rotation axis. Must be normalized.dest
- The matrix to put the result, or null if a new matrix is to be created- Returns:
- The rotated matrix
-
rotate
public static Matrix4f rotate(float angle, Vector3f axis, Matrix4f src, Matrix4f dest)
Rotates the source matrix around the given axis the specified angle and put the result in the destination matrix.- Parameters:
angle
- the angle, in radians.axis
- The vector representing the rotation axis. Must be normalized.src
- The matrix to rotatedest
- The matrix to put the result, or null if a new matrix is to be created- Returns:
- The rotated matrix
-
translate
public Matrix4f translate(Vector3f vec, Matrix4f dest)
Translate this matrix and stash the result in another matrix- Parameters:
vec
- The vector to translate bydest
- The destination matrix or null if a new matrix is to be created- Returns:
- the translated matrix
-
translate
public static Matrix4f translate(Vector3f vec, Matrix4f src, Matrix4f dest)
Translate the source matrix and stash the result in the destination matrix- Parameters:
vec
- The vector to translate bysrc
- The source matrixdest
- The destination matrix or null if a new matrix is to be created- Returns:
- The translated matrix
-
translate
public Matrix4f translate(Vector2f vec, Matrix4f dest)
Translate this matrix and stash the result in another matrix- Parameters:
vec
- The vector to translate bydest
- The destination matrix or null if a new matrix is to be created- Returns:
- the translated matrix
-
translate
public static Matrix4f translate(Vector2f vec, Matrix4f src, Matrix4f dest)
Translate the source matrix and stash the result in the destination matrix- Parameters:
vec
- The vector to translate bysrc
- The source matrixdest
- The destination matrix or null if a new matrix is to be created- Returns:
- The translated matrix
-
transpose
public Matrix4f transpose(Matrix4f dest)
Transpose this matrix and place the result in another matrix- Parameters:
dest
- The destination matrix or null if a new matrix is to be created- Returns:
- the transposed matrix
-
transpose
public static Matrix4f transpose(Matrix4f src, Matrix4f dest)
Transpose the source matrix and place the result in the destination matrix- Parameters:
src
- The source matrixdest
- The destination matrix or null if a new matrix is to be created- Returns:
- the transposed matrix
-
determinant
public float determinant()
- Specified by:
determinant
in classMatrix
- Returns:
- the determinant of the matrix
-
invert
public Matrix invert()
Invert this matrix
-
invert
public static Matrix4f invert(Matrix4f src, Matrix4f dest)
Invert the source matrix and put the result in the destination- Parameters:
src
- The source matrixdest
- The destination matrix, or null if a new matrix is to be created- Returns:
- The inverted matrix if successful, null otherwise
-
negate
public Matrix4f negate(Matrix4f dest)
Negate this matrix and place the result in a destination matrix.- Parameters:
dest
- The destination matrix, or null if a new matrix is to be created- Returns:
- the negated matrix
-
negate
public static Matrix4f negate(Matrix4f src, Matrix4f dest)
Negate this matrix and place the result in a destination matrix.- Parameters:
src
- The source matrixdest
- The destination matrix, or null if a new matrix is to be created- Returns:
- The negated matrix
-
equals
public boolean equals(java.lang.Object m)
- Overrides:
equals
in classjava.lang.Object
-
-