Package org.lwjgl.util.vector

# Class Matrix3f

java.lang.Object
org.lwjgl.util.vector.Matrix
org.lwjgl.util.vector.Matrix3f

All Implemented Interfaces:
  `Serializable`

public class Matrix3f extends Matrix implements Serializable
Holds a 3x3 matrix.

Version:
  $Revision$ $Id$
Author:
  cix_foo invalid input: '<'cix_foo@users.sourceforge.net>
See Also:
  - Serialized Form

## Field Summary

Fields
Modifier and Type
Field
Description
`float`
`m00`
`float`
`m01`
`float`
`m02`
`float`
`m10`
`float`
`m11`
`float`
`m12`
`float`
`m20`
`float`
`m21`
`float`
`m22`

## Constructor Summary

Constructors
Constructor
Description
`Matrix3f()`
Constructor for Matrix3f.

## Method Summary

Modifier and Type
Method
Description
`static Matrix3f`
`add(Matrix3f left, Matrix3f right, Matrix3f dest)`
Add two matrices together and place the result in a third matrix.
`float`
`determinant()`
`Matrix`
`invert()`
Invert this matrix
`static Matrix3f`
`invert(Matrix3f src, Matrix3f dest)`
Invert the source matrix and put the result into the destination matrix
`Matrix`
`load(FloatBuffer buf)`
Load from a float buffer.
`Matrix3f`
`load(Matrix3f src)`
Load from another matrix
`static Matrix3f`
`load(Matrix3f src, Matrix3f dest)`
Copy source matrix to destination matrix
`Matrix`
`loadTranspose(FloatBuffer buf)`
Load from a float buffer.
`static Matrix3f`
`mul(Matrix3f left, Matrix3f right, Matrix3f dest)`
Multiply the right matrix by the left and place the result in a third matrix.
`Matrix`
`negate()`
Negate this matrix
`Matrix3f`
`negate(Matrix3f dest)`
Negate this matrix and place the result in a destination matrix.
`static Matrix3f`
`negate(Matrix3f src, Matrix3f dest)`
Negate the source matrix and place the result in the destination matrix.
`Matrix`
`setIdentity()`
Set this matrix to be the identity matrix.
`static Matrix3f`
`setIdentity(Matrix3f m)`
Set the matrix to be the identity matrix.
`Matrix`
`setZero()`
Set this matrix to 0.
`static Matrix3f`
`setZero(Matrix3f m)`
Set the matrix matrix to 0.
`Matrix`
`store(FloatBuffer buf)`
Store this matrix in a float buffer.
`Matrix`
`storeTranspose(FloatBuffer buf)`
Store this matrix in a float buffer.
`static Matrix3f`
`sub(Matrix3f left, Matrix3f right, Matrix3f dest)`
Subtract the right matrix from the left and place the result in a third matrix.
`String`
`toString()`
Returns a string representation of this matrix
`static Vector3f`
`transform(Matrix3f left, Vector3f right, Vector3f dest)`
Transform a Vector by a matrix and return the result in a destination vector.
`Matrix`
`transpose()`
Transpose this matrix
`Matrix3f`
`transpose(Matrix3f dest)`
Transpose this matrix and place the result in another matrix
`static Matrix3f`
`transpose(Matrix3f src, Matrix3f dest)`
Transpose the source matrix and place the result into the destination matrix

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

## Field Details

### m00

public float m00

### m01

public float m01

### m02

public float m02

### m10

public float m10

### m11

public float m11

### m12

public float m12

### m20

public float m20

### m21

public float m21

### m22

public float m22

## Constructor Details

### Matrix3f

public Matrix3f()
Constructor for Matrix3f. Matrix is initialised to the identity.

## Method Details

### load

public Matrix3f load(Matrix3f src)
Load from another matrix

Parameters:
  `src` - The source matrix
Returns:
  this

### load

public static Matrix3f load(Matrix3f src, Matrix3f dest)
Copy source matrix to destination matrix

Parameters:
  `src` - The source matrix
  `dest` - The destination matrix, or null of a new matrix 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.

Specified by:
  `load` in class `Matrix`
Parameters:
  `buf` - A float buffer 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 class `Matrix`
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.

Specified by:
  `store` in class `Matrix`
Parameters:
  `buf` - The buffer to store this matrix in
Returns:
  this

### 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 class `Matrix`
Parameters:
  `buf` - The buffer to store this matrix in
Returns:
  this

### add

public static Matrix3f add(Matrix3f left, Matrix3f right, Matrix3f dest)
Add two matrices together and place the result in a third matrix.

Parameters:
  `left` - The left source matrix
  `right` - The right source matrix
  `dest` - The destination matrix, or null if a new one is to be created
Returns:
  the destination matrix

### sub

public static Matrix3f sub(Matrix3f left, Matrix3f right, Matrix3f dest)
Subtract the right matrix from the left and place the result in a third matrix.

Parameters:
  `left` - The left source matrix
  `right` - The right source matrix
  `dest` - The destination matrix, or null if a new one is to be created
Returns:
  the destination matrix

### mul

public static Matrix3f mul(Matrix3f left, Matrix3f right, Matrix3f dest)
Multiply the right matrix by the left and place the result in a third matrix.

Parameters:
  `left` - The left source matrix
  `right` - The right source matrix
  `dest` - The destination matrix, or null if a new one is to be created
Returns:
  the destination matrix

### transform

public static Vector3f transform(Matrix3f left, Vector3f right, Vector3f dest)
Transform a Vector by a matrix and return the result in a destination vector.

Parameters:
  `left` - The left matrix
  `right` - The right vector
  `dest` - The destination vector, or null if a new one is to be created
Returns:
  the destination vector

### transpose

public Matrix transpose()
Transpose this matrix

Specified by:
  `transpose` in class `Matrix`
Returns:
  this

### transpose

public Matrix3f transpose(Matrix3f 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 Matrix3f transpose(Matrix3f src, Matrix3f dest)
Transpose the source matrix and place the result into the destination matrix

Parameters:
  `src` - The source matrix to be transposed
  `dest` - 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 class `Matrix`
Returns:
  the determinant of the matrix

### toString

public String toString()
Returns a string representation of this matrix

Overrides:
  `toString` in class `Object`

### invert

public Matrix invert()
Invert this matrix

Specified by:
  `invert` in class `Matrix`
Returns:
  this if successful, null otherwise

### invert

public static Matrix3f invert(Matrix3f src, Matrix3f dest)
Invert the source matrix and put the result into the destination matrix

Parameters:
  `src` - The source matrix to be inverted
  `dest` - The destination matrix, or null if a new one is to be created
Returns:
  The inverted matrix if successful, null otherwise

### negate

public Matrix negate()
Negate this matrix

Specified by:
  `negate` in class `Matrix`
Returns:
  this

### negate

public Matrix3f negate(Matrix3f 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 Matrix3f negate(Matrix3f src, Matrix3f dest)
Negate the source matrix and place the result in the destination matrix.

Parameters:
  `src` - The source matrix
  `dest` - The destination matrix, or null if a new matrix is to be created
Returns:
  the negated matrix

### setIdentity

public Matrix setIdentity()
Set this matrix to be the identity matrix.

Specified by:
  `setIdentity` in class `Matrix`
Returns:
  this

### setIdentity

public static Matrix3f setIdentity(Matrix3f m)
Set the matrix to be the identity matrix.

Parameters:
  `m` - The matrix to be set to the identity
Returns:
  m

### setZero

public Matrix setZero()
Set this matrix to 0.

Specified by:
  `setZero` in class `Matrix`
Returns:
  this

### setZero

public static Matrix3f setZero(Matrix3f m)
Set the matrix matrix to 0.

Parameters:
  `m` - The matrix to be set to 0
Returns:
  m