Package org.lwjgl.util.vector

# Class Matrix2f

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

All Implemented Interfaces:
  `Serializable`

public class Matrix2f extends Matrix implements Serializable
Holds a 2x2 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`
`m10`
`float`
`m11`

## Constructor Summary

Constructors
Constructor
Description
`Matrix2f()`
Constructor for Matrix2f.
`Matrix2f(Matrix2f src)`
Constructor

## Method Summary

Modifier and Type
Method
Description
`static Matrix2f`
`add(Matrix2f left, Matrix2f right, Matrix2f dest)`
Add two matrices together and place the result in a third matrix.
`float`
`determinant()`
`Matrix`
`invert()`
Invert this matrix
`static Matrix2f`
`invert(Matrix2f src, Matrix2f dest)`
Invert the source matrix and place the result in the destination matrix.
`Matrix`
`load(FloatBuffer buf)`
Load from a float buffer.
`Matrix2f`
`load(Matrix2f src)`
Load from another matrix
`static Matrix2f`
`load(Matrix2f src, Matrix2f dest)`
Copy the source matrix to the destination matrix.
`Matrix`
`loadTranspose(FloatBuffer buf)`
Load from a float buffer.
`static Matrix2f`
`mul(Matrix2f left, Matrix2f right, Matrix2f dest)`
Multiply the right matrix by the left and place the result in a third matrix.
`Matrix`
`negate()`
Negate this matrix
`Matrix2f`
`negate(Matrix2f dest)`
Negate this matrix and stash the result in another matrix.
`static Matrix2f`
`negate(Matrix2f src, Matrix2f dest)`
Negate the source matrix and stash the result in the destination matrix.
`Matrix`
`setIdentity()`
Set this matrix to be the identity matrix.
`static Matrix2f`
`setIdentity(Matrix2f src)`
Set the source matrix to be the identity matrix.
`Matrix`
`setZero()`
Set this matrix to 0.
`static Matrix2f`
`setZero(Matrix2f src)`
`Matrix`
`store(FloatBuffer buf)`
Store this matrix in a float buffer.
`Matrix`
`storeTranspose(FloatBuffer buf)`
Store this matrix in a float buffer.
`static Matrix2f`
`sub(Matrix2f left, Matrix2f right, Matrix2f 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 Vector2f`
`transform(Matrix2f left, Vector2f right, Vector2f dest)`
Transform a Vector by a matrix and return the result in a destination vector.
`Matrix`
`transpose()`
Transpose this matrix
`Matrix2f`
`transpose(Matrix2f dest)`
Transpose this matrix and place the result in another matrix.
`static Matrix2f`
`transpose(Matrix2f src, Matrix2f dest)`
Transpose the source matrix and place the result in 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

### m10

public float m10

### m11

public float m11

## Constructor Details

### Matrix2f

public Matrix2f()
Constructor for Matrix2f. The matrix is initialised to the identity.

### Matrix2f

public Matrix2f(Matrix2f src)
Constructor

## Method Details

### load

public Matrix2f load(Matrix2f src)
Load from another matrix

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

### load

public static Matrix2f load(Matrix2f src, Matrix2f dest)
Copy the source matrix to the destination matrix.

Parameters:
  `src` - The source matrix
  `dest` - The destination matrix, or null if a new one should 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 (mathematical) 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 Matrix2f add(Matrix2f left, Matrix2f right, Matrix2f 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 Matrix2f sub(Matrix2f left, Matrix2f right, Matrix2f 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 Matrix2f mul(Matrix2f left, Matrix2f right, Matrix2f 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 Vector2f transform(Matrix2f left, Vector2f right, Vector2f 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 Matrix2f transpose(Matrix2f 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 Matrix2f transpose(Matrix2f src, Matrix2f dest)
Transpose the source matrix and place the result in the destination matrix.

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

### invert

public Matrix invert()
Invert this matrix

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

### invert

public static Matrix2f invert(Matrix2f src, Matrix2f dest)
Invert the source matrix and place the result in the destination matrix.

Parameters:
  `src` - The source matrix to be inverted
  `dest` - The destination matrix or null if a new matrix is to be created
Returns:
  The inverted matrix, or null if source can't be reverted.

### toString

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

Overrides:
  `toString` in class `Object`

### negate

public Matrix negate()
Negate this matrix

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

### negate

public Matrix2f negate(Matrix2f dest)
Negate this matrix and stash the result in another matrix.

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

### negate

public static Matrix2f negate(Matrix2f src, Matrix2f dest)
Negate the source matrix and stash the result in the destination matrix.

Parameters:
  `src` - The source matrix to be negated
  `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 Matrix2f setIdentity(Matrix2f src)
Set the source matrix to be the identity matrix.

Parameters:
  `src` - The matrix to set to the identity.
Returns:
  The source matrix

### setZero

public Matrix setZero()
Set this matrix to 0.

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

### setZero

public static Matrix2f setZero(Matrix2f src)

### determinant

public float determinant()

Specified by:
  `determinant` in class `Matrix`
Returns:
  the determinant of the matrix