public class

Matrix2D

extends Object
implements Matrix
java.lang.Object
   ↳ casmi.matrix.Matrix2D

Class Overview

2D Matrix class.

Summary

Fields
public double m00
public double m01
public double m02
public double m10
public double m11
public double m12
Public Constructors
Matrix2D()
Matrix2D(double m00, double m01, double m02, double m10, double m11, double m12)
Matrix2D(Matrix matrix)
Public Methods
void apply(Matrix2D source)
void apply(double n00, double n01, double n02, double n03, double n10, double n11, double n12, double n13, double n20, double n21, double n22, double n23, double n30, double n31, double n32, double n33)
void apply(Matrix3D source)
void apply(Matrix source)
Multiply this matrix by another.
void apply(double n00, double n01, double n02, double n10, double n11, double n12)
double determinant()
double[] get(double[] target)
Copies the matrix contents into a 6 entry double array.
Matrix2D get()
Returns a copy of this Matrix.
boolean invert()
Invert this matrix.
Vector3D mult(Vector3D source)
Multiply the x and y coordinates of a Vertex against this matrix.
double[] mult(double[] vec, double[] out)
Multiply a two element vector against this matrix.
double multX(double x, double y)
double multY(double x, double y)
void preApply(Matrix2D left)
Apply another matrix to the left of this one.
void preApply(double n00, double n01, double n02, double n03, double n10, double n11, double n12, double n13, double n20, double n21, double n22, double n23, double n30, double n31, double n32, double n33)
void preApply(Matrix3D left)
void preApply(double n00, double n01, double n02, double n10, double n11, double n12)
void print()
void reset()
void rotate(double angle)
void rotate(double angle, double v0, double v1, double v2)
void rotateX(double angle)
void rotateY(double angle)
void rotateZ(double angle)
void scale(double s)
void scale(double sx, double sy)
void scale(double x, double y, double z)
void set(double m00, double m01, double m02, double m03, double m10, double m11, double m12, double m13, double m20, double m21, double m22, double m23, double m30, double m31, double m32, double m33)
void set(Matrix3D src)
void set(double[] source)
void set(Matrix matrix)
void set(double m00, double m01, double m02, double m10, double m11, double m12)
void shearX(double angle)
void shearY(double angle)
void translate(double x, double y, double z)
void translate(double tx, double ty)
void transpose()
Transpose this matrix.
Protected Methods
boolean isIdentity()
boolean isWarped()
[Expand]
Inherited Methods
From class java.lang.Object
From interface casmi.matrix.Matrix

Fields

public double m00

public double m01

public double m02

public double m10

public double m11

public double m12

Public Constructors

public Matrix2D ()

public Matrix2D (double m00, double m01, double m02, double m10, double m11, double m12)

public Matrix2D (Matrix matrix)

Public Methods

public void apply (Matrix2D source)

public void apply (double n00, double n01, double n02, double n03, double n10, double n11, double n12, double n13, double n20, double n21, double n22, double n23, double n30, double n31, double n32, double n33)

public void apply (Matrix3D source)

public void apply (Matrix source)

Multiply this matrix by another.

public void apply (double n00, double n01, double n02, double n10, double n11, double n12)

public double determinant ()

Returns
  • the determinant of the matrix

public double[] get (double[] target)

Copies the matrix contents into a 6 entry double array. If target is null (or not the correct size), a new array will be created.

public Matrix2D get ()

Returns a copy of this Matrix.

public boolean invert ()

Invert this matrix. Implementation stolen from OpenJDK.

Returns
  • true if successful

public Vector3D mult (Vector3D source)

Multiply the x and y coordinates of a Vertex against this matrix.

public double[] mult (double[] vec, double[] out)

Multiply a two element vector against this matrix. If out is null or not length four, a new double array will be returned. The values for vec and out can be the same (though that's less efficient).

public double multX (double x, double y)

public double multY (double x, double y)

public void preApply (Matrix2D left)

Apply another matrix to the left of this one.

public void preApply (double n00, double n01, double n02, double n03, double n10, double n11, double n12, double n13, double n20, double n21, double n22, double n23, double n30, double n31, double n32, double n33)

public void preApply (Matrix3D left)

public void preApply (double n00, double n01, double n02, double n10, double n11, double n12)

public void print ()

public void reset ()

public void rotate (double angle)

public void rotate (double angle, double v0, double v1, double v2)

public void rotateX (double angle)

public void rotateY (double angle)

public void rotateZ (double angle)

public void scale (double s)

public void scale (double sx, double sy)

public void scale (double x, double y, double z)

public void set (double m00, double m01, double m02, double m03, double m10, double m11, double m12, double m13, double m20, double m21, double m22, double m23, double m30, double m31, double m32, double m33)

public void set (Matrix3D src)

public void set (double[] source)

public void set (Matrix matrix)

public void set (double m00, double m01, double m02, double m10, double m11, double m12)

public void shearX (double angle)

public void shearY (double angle)

public void translate (double x, double y, double z)

public void translate (double tx, double ty)

public void transpose ()

Transpose this matrix.

Protected Methods

protected boolean isIdentity ()

protected boolean isWarped ()