Kanzi 3.9.10
Matrix3x3 Class Reference

Matrix with 3x3 elements. More...

Public Member Functions

 Matrix3x3 ()
 Default constructor, initializes the matrix to identity matrix.
 
 Matrix3x3 (float x0, float x1, float x2, float x3, float x4, float x5, float x6, float x7, float x8)
 Constructs the matrix from elements in column-major order.
 
 Matrix3x3 (Vector2 x, Vector2 y, Vector2 translation)
 Constructs the matrix from three column vectors.
 
Matrix3x3 add (Matrix3x3 m)
 Modifies this matrix by adding another matrix.
 
synchronized void delete ()
 
boolean equals (Object obj)
 Indicates whether some other object is "equal to" this one.
 
float get (int index)
 Returns individual matrix element value at index.
 
Vector3 getColumn (int index)
 Gets the column of a matrix.
 
float getRotationAngle ()
 Get rotation angle of the matrix.
 
Vector3 getRow (int index)
 Gets the row of a matrix.
 
Vector2 getScale ()
 Get scale as a vector.
 
float getScaleX ()
 Get X scale component.
 
float getScaleY ()
 Get Y scale component.
 
Vector2 getTranslation ()
 Get translation.
 
float getTranslationX ()
 Get translation on X axis.
 
float getTranslationY ()
 Get translation on Y axis.
 
Vector2 getXAxis ()
 Get X axis.
 
Vector2 getYAxis ()
 Get Y axis.
 
int hashCode ()
 Returns a hash code value for the object.
 
Matrix3x3 inverse ()
 Applies an inversion to a matrix.
 
Matrix3x3 inverseAffine ()
 Applies an inversion to an affine matrix.
 
Matrix3x3 multiply (Matrix3x3 m)
 Modifies this matrix by multiplying it with another matrix.
 
Matrix3x3 normalized ()
 Normalizes the input matrix.
 
void scale (Vector2 v)
 Scales this matrix.
 
void set (int index, float v)
 Sets the individual matrix element at index to value.
 
void setColumn (int index, Vector3 column)
 Sets the column of a matrix.
 
void setRow (int index, Vector3 row)
 Sets the row of a matrix.
 
void setTranslation (float translationX, float translationY)
 Set translation.
 
void setTranslation (Vector2 translation)
 Set translation.
 
void setTranslationX (float translationX)
 Set translation on X axis.
 
void setTranslationY (float translationY)
 Set translation on Y axis.
 
void setXAxis (Vector2 v)
 Set X axis.
 
void setYAxis (Vector2 v)
 Set Y axis.
 
Matrix3x3 subtract (Matrix3x3 m)
 Modifies this matrix by subtracting another matrix from this matrix.
 
void translate (Vector2 v)
 Translates this matrix.
 
Matrix3x3 transposed ()
 Applies a transpose to a matrix.
 

Static Public Member Functions

static Matrix3x3 add (Matrix3x3 lhs, Matrix3x3 rhs)
 Creates a new matrix by adding an existing matrix to another one.
 
static Matrix3x3 createFilled (float value)
 Creates a matrix with all elements set to value.
 
static Matrix3x3 createIdentity ()
 Creates identity matrix.
 
static Matrix3x3 createRotationInDegrees (float angleInDegrees)
 Creates a rotation matrix.
 
static Matrix3x3 createRotationInRadians (float angleInRadians)
 Creates a rotation matrix.
 
static Matrix3x3 createScale (Vector2 scale)
 Creates a scaled matrix.
 
static Matrix3x3 createSRT (Vector2 scale, float rotationInRadians, Vector2 translation)
 Create an SRT matrix.
 
static Matrix3x3 createTranslation (float x, float y)
 Creates translation matrix.
 
static Matrix3x3 createTranslation (Vector2 translation)
 Creates translation matrix.
 
static float getDeterminant (Matrix3x3 matrix)
 Calculates the determinant of the matrix.
 
static float getDeterminant2x2 (Matrix3x3 matrix)
 Calculates the determinant of the 2X2 part of a matrix.
 
static float getTrace (Matrix3x3 matrix)
 Calculates the trace of a matrix.
 
static boolean isScalingOnly (Matrix3x3 matrix)
 Determines whether a matrix is scaling-only.
 
static boolean isTranslationOnly (Matrix3x3 matrix)
 Determines whether a matrix is translation-only.
 
static Vector2 matrixMultiplyVectorBy2x2 (Matrix3x3 m, Vector2 v)
 Multiply a 2D vector with the top 2x2 part of a given matrix.
 
static Vector2 multiply (Matrix3x3 m, Vector2 v)
 Multiplies matrix with a vector and returns the product.
 
static Vector3 multiply (Matrix3x3 m, Vector3 v)
 Multiplies matrix with a vector and returns the product.
 
static Matrix3x3 multiply (Matrix3x3 m1, Matrix3x3 m2)
 Multiplies two matrices and returns the product.
 
static Matrix3x3 subtract (Matrix3x3 lhs, Matrix3x3 rhs)
 Creates a new matrix by subtracting an existing matrix from another one.
 

Protected Member Functions

void finalize ()
 Called by the garbage collector on an object when garbage collection determines that there are no more references to the object.
 

Protected Attributes

transient boolean swigCMemOwn
 Does this object own its native object.
 

Detailed Description

Matrix with 3x3 elements.

Member Function Documentation

◆ add() [1/2]

static Matrix3x3 add ( Matrix3x3 lhs,
Matrix3x3 rhs )
static

Creates a new matrix by adding an existing matrix to another one.

Parameters
lhsFirst matrix, left-hand side.
rhsSecond matrix, right-hand side.
Returns
A new matrix resulting from the addition of the right hand side to the left hand side.

◆ add() [2/2]

Matrix3x3 add ( Matrix3x3 m)

Modifies this matrix by adding another matrix.


Parameters
mAnother matrix.
Returns
This matrix.

◆ createFilled()

static Matrix3x3 createFilled ( float value)
static

Creates a matrix with all elements set to value.


Parameters
valueValue to set to all elements.
Returns
The constructed matrix.
Since
Kanzi 3.9.9

◆ createIdentity()

static Matrix3x3 createIdentity ( )
static

Creates identity matrix.


Returns
Identity matrix.

◆ createRotationInDegrees()

static Matrix3x3 createRotationInDegrees ( float angleInDegrees)
static

Creates a rotation matrix.


Parameters
angleInDegreesRotation angle in degrees.
Returns
Rotation matrix.

◆ createRotationInRadians()

static Matrix3x3 createRotationInRadians ( float angleInRadians)
static

Creates a rotation matrix.


Parameters
angleInRadiansRotation angle in radians.
Returns
Rotation matrix.

◆ createScale()

static Matrix3x3 createScale ( Vector2 scale)
static

Creates a scaled matrix.


Parameters
scaleScaling vector.
Returns
Scaled matrix.

◆ createSRT()

static Matrix3x3 createSRT ( Vector2 scale,
float rotationInRadians,
Vector2 translation )
static

Create an SRT matrix.


Parameters
scaleScales by axises.
rotationInRadiansRotation component in radians.
translationTranslation component.
Returns
Newly constructed matrix.

◆ createTranslation() [1/2]

static Matrix3x3 createTranslation ( float x,
float y )
static

Creates translation matrix.


Parameters
xX component of the Translation vector.
yY component of the Translation vector.
Returns
Translation matrix.

◆ createTranslation() [2/2]

static Matrix3x3 createTranslation ( Vector2 translation)
static

Creates translation matrix.


Parameters
translationTranslation vector.
Returns
Translation matrix.

◆ equals()

boolean equals ( Object obj)

Indicates whether some other object is "equal to" this one.

Parameters
objThe reference object with which to compare.
Returns
True if this object is the same as the obj argument, otherwise false.

◆ finalize()

void finalize ( )
protected

Called by the garbage collector on an object when garbage collection determines that there are no more references to the object.

Finalization is deprecated and subject to removal in future.

◆ get()

float get ( int index)

Returns individual matrix element value at index.


Returns
The matrix element value at index.

◆ getColumn()

Vector3 getColumn ( int index)

Gets the column of a matrix.


Parameters
indexIndex of the accessed column.
Returns
The column.

◆ getDeterminant()

static float getDeterminant ( Matrix3x3 matrix)
static

Calculates the determinant of the matrix.


Parameters
matrixThe matrix for which you want to return the determinant.
Returns
Determinant of the matrix.

◆ getDeterminant2x2()

static float getDeterminant2x2 ( Matrix3x3 matrix)
static

Calculates the determinant of the 2X2 part of a matrix.


Parameters
matrixThe matrix for which you want to return the determinant.
Returns
Determinant of the matrix.

◆ getRotationAngle()

float getRotationAngle ( )

Get rotation angle of the matrix.


Returns
Rotation angle of the matrix.

◆ getRow()

Vector3 getRow ( int index)

Gets the row of a matrix.


Parameters
indexIndex of the accessed row.
Returns
The row.

◆ getTrace()

static float getTrace ( Matrix3x3 matrix)
static

Calculates the trace of a matrix.


Returns
Trace of the matrix

◆ getTranslation()

Vector2 getTranslation ( )

Get translation.


Returns
Translation vector.

◆ getTranslationX()

float getTranslationX ( )

Get translation on X axis.


Returns
Translation X component.

◆ getTranslationY()

float getTranslationY ( )

Get translation on Y axis.


Returns
Translation Y component.

◆ hashCode()

int hashCode ( )

Returns a hash code value for the object.

Returns
A hash code value for this object.

◆ inverse()

Matrix3x3 inverse ( )

Applies an inversion to a matrix.

Returns
Inverted matrix if the input matrix is invertible, null otherwise.

◆ inverseAffine()

Matrix3x3 inverseAffine ( )

Applies an inversion to an affine matrix.

Returns
Inverted matrix if the input matrix is invertible, null otherwise.

◆ isScalingOnly()

static boolean isScalingOnly ( Matrix3x3 matrix)
static

Determines whether a matrix is scaling-only.


Note: This function allows translation.

Parameters
matrixInput matrix.
Returns
If the input matrix is scaling-only, true, otherwise false.

◆ isTranslationOnly()

static boolean isTranslationOnly ( Matrix3x3 matrix)
static

Determines whether a matrix is translation-only.


Parameters
matrixInput matrix.
Returns
If the input matrix is translation-only, true, otherwise false.

◆ matrixMultiplyVectorBy2x2()

static Vector2 matrixMultiplyVectorBy2x2 ( Matrix3x3 m,
Vector2 v )
static

Multiply a 2D vector with the top 2x2 part of a given matrix.


Returns
The result of the multiplication.

◆ multiply() [1/4]

Matrix3x3 multiply ( Matrix3x3 m)

Modifies this matrix by multiplying it with another matrix.


Parameters
mAnother matrix.
Returns
This matrix.

◆ multiply() [2/4]

static Vector2 multiply ( Matrix3x3 m,
Vector2 v )
static

Multiplies matrix with a vector and returns the product.

Parameters
mLeft hand side matrix.
vRight hand side vector.
Returns
The result vector.

◆ multiply() [3/4]

static Vector3 multiply ( Matrix3x3 m,
Vector3 v )
static

Multiplies matrix with a vector and returns the product.

Parameters
mLeft hand side matrix.
vRight hand side vector.
Returns
The result vector.

◆ multiply() [4/4]

static Matrix3x3 multiply ( Matrix3x3 m1,
Matrix3x3 m2 )
static

Multiplies two matrices and returns the product.

Parameters
m1Left-hand side matrix.
m2Right-hand side matrix.
Returns
The result matrix.

◆ normalized()

Matrix3x3 normalized ( )

Normalizes the input matrix.

The matrix must be an affine transformation.

Returns
A normalized Matrix3x3. null if not affine transformation.

◆ scale()

void scale ( Vector2 v)

Scales this matrix.


Parameters
vScaling vector.

◆ set()

void set ( int index,
float v )

Sets the individual matrix element at index to value.


Parameters
indexMatrix element index to set.

◆ setColumn()

void setColumn ( int index,
Vector3 column )

Sets the column of a matrix.


Parameters
indexIndex of the accessed column.
columnThe value to set to the column.

◆ setRow()

void setRow ( int index,
Vector3 row )

Sets the row of a matrix.


Parameters
indexIndex of the accessed row.
rowThe value to set to the row.

◆ setTranslation() [1/2]

void setTranslation ( float translationX,
float translationY )

Set translation.


Parameters
translationXTranslation X component.
translationYTranslation Y component.

◆ setTranslation() [2/2]

void setTranslation ( Vector2 translation)

Set translation.


Parameters
translationTranslation vector.

◆ setTranslationX()

void setTranslationX ( float translationX)

Set translation on X axis.


Parameters
translationXTranslation X component.

◆ setTranslationY()

void setTranslationY ( float translationY)

Set translation on Y axis.


Parameters
translationYTranslation Y component.

◆ setXAxis()

void setXAxis ( Vector2 v)

Set X axis.


Parameters
vX axis vector.

◆ setYAxis()

void setYAxis ( Vector2 v)

Set Y axis.


Parameters
vY axis vector.

◆ subtract() [1/2]

static Matrix3x3 subtract ( Matrix3x3 lhs,
Matrix3x3 rhs )
static

Creates a new matrix by subtracting an existing matrix from another one.

Parameters
lhsFirst matrix, left hand side.
rhsSecond matrix, right hand side.
Returns
A new matrix resulting from the subtraction of the right hand side to the left hand side.

◆ subtract() [2/2]

Matrix3x3 subtract ( Matrix3x3 m)

Modifies this matrix by subtracting another matrix from this matrix.


Parameters
mAnother matrix.
Returns
This matrix.

◆ translate()

void translate ( Vector2 v)

Translates this matrix.


Parameters
vTranslation vector.

◆ transposed()

Matrix3x3 transposed ( )

Applies a transpose to a matrix.


Returns
Newly constructed transpose matrix.