public class Mat33

  1. Object
  2. Mat33
A 3-by-3 matrix. Stored in column-major order.

Fields

public static final Mat33 IDENTITY
public final Vec3 ex
public final Vec3 ey
public final Vec3 ez

Constructors

public Mat33()
public Mat33(Vec3 argCol1, Vec3 argCol2, Vec3 argCol3)

Methods

public void setZero()
public static final Vec3 mul(Mat33 A, Vec3 v)
public static final Vec2 mul22(Mat33 A, Vec2 v)
public static final void mul22ToOut(Mat33 A, Vec2 v, Vec2 out)
public static final void mul22ToOutUnsafe(Mat33 A, Vec2 v, Vec2 out)
public static final void mulToOut(Mat33 A, Vec3 v, Vec3 out)
public static final void mulToOutUnsafe(Mat33 A, Vec3 v, Vec3 out)
public final Vec2 solve22(Vec2 b)Solve A * x = b, where b is a column vector.
public final void solve22ToOut(Vec2 b, Vec2 out)Solve A * x = b, where b is a column vector.
public final Vec3 solve33(Vec3 b)Solve A * x = b, where b is a column vector.
public final void solve33ToOut(Vec3 b, Vec3 out)Solve A * x = b, where b is a column vector.
public void getInverse22(Mat33 M)
public void getSymInverse33(Mat33 M)
public int hashCode()Returns a hash code value for the object.
public boolean equals(Object obj)Indicates whether some other object is “equal to” this one.

Inherited methods

Field details

IDENTITY

public static final Mat33 IDENTITY

ex

public final Vec3 ex

ey

public final Vec3 ey

ez

public final Vec3 ez

Constructor details

Mat33

public Mat33()

Mat33

public Mat33(Vec3 argCol1, Vec3 argCol2, Vec3 argCol3)

Method details

setZero

public void setZero()

mul

public static final Vec3 mul(Mat33 A, Vec3 v)

mul22

public static final Vec2 mul22(Mat33 A, Vec2 v)

mul22ToOut

public static final void mul22ToOut(Mat33 A, Vec2 v, Vec2 out)

mul22ToOutUnsafe

public static final void mul22ToOutUnsafe(Mat33 A, Vec2 v, Vec2 out)

mulToOut

public static final void mulToOut(Mat33 A, Vec3 v, Vec3 out)

mulToOutUnsafe

public static final void mulToOutUnsafe(Mat33 A, Vec3 v, Vec3 out)

solve22

public final Vec2 solve22(Vec2 b)
Solve A * x = b, where b is a column vector. This is more efficient than computing the inverse in one-shot cases.

solve22ToOut

public final void solve22ToOut(Vec2 b, Vec2 out)
Solve A * x = b, where b is a column vector. This is more efficient than computing the inverse in one-shot cases.

solve33

public final Vec3 solve33(Vec3 b)
Solve A * x = b, where b is a column vector. This is more efficient than computing the inverse in one-shot cases.

solve33ToOut

public final void solve33ToOut(Vec3 b, Vec3 out)
Solve A * x = b, where b is a column vector. This is more efficient than computing the inverse in one-shot cases.

Parameters

b Vec3
Not documented.
out Vec3
the result

getInverse22

public void getInverse22(Mat33 M)

getSymInverse33

public void getSymInverse33(Mat33 M)

hashCode

public int hashCode()
Returns a hash code value for the object. This method is supported for the benefit of hashtables such as those provided by java.util.Hashtable. The general contract of hashCode is: Whenever it is invoked on the same object more than once during an execution of a Java application, the hashCode method must consistently return the same integer, provided no information used in equals comparisons on the object is modified. This integer need not remain consistent from one execution of an application to another execution of the same application. If two objects are equal according to the equals(Object) method, then calling the hashCode method on each of the two objects must produce the same integer result. It is not required that if two objects are unequal according to the equals(java.lang.Object) method, then calling the hashCode method on each of the two objects must produce distinct integer results. However, the programmer should be aware that producing distinct integer results for unequal objects may improve the performance of hashtables. As much as is reasonably practical, the hashCode method defined by class Object does return distinct integers for distinct objects. (This is typically implemented by converting the internal address of the object into an integer, but this implementation technique is not required by the JavaTM programming language.)

equals

public boolean equals(Object obj)
Indicates whether some other object is “equal to” this one. The equals method implements an equivalence relation: It is reflexive: for any reference value x, x.equals(x) should return true. It is symmetric: for any reference values x and y, x.equals(y) should return true if and only if y.equals(x) returns true. It is transitive: for any reference values x, y, and z, if x.equals(y) returns true and y.equals(z) returns true, then x.equals(z) should return true. It is consistent: for any reference values x and y, multiple invocations of x.equals(y) consistently return true or consistently return false, provided no information used in equals comparisons on the object is modified. For any non-null reference value x, x.equals(null) should return false. The equals method for class Object implements the most discriminating possible equivalence relation on objects; that is, for any reference values x and y, this method returns true if and only if x and y refer to the same object (x==y has the value true).