Drag[en]gine Script Module DragonScript  1.23
Dragengine.Scenery.DMatrix Class Reference

Immutable 4x3-component row major double precision matrix. More...

Inheritance diagram for Dragengine.Scenery.DMatrix:

Public Member Functions

Management
float getAt (int row, int col)
 Value at row and colon. More...
 
float get11 ()
 Value at (1,1). More...
 
float get12 ()
 Value at (1,2). More...
 
float get13 ()
 Value at (1,3). More...
 
float get14 ()
 Value at (1,4). More...
 
float get21 ()
 Value at (2,1). More...
 
float get22 ()
 Value at (2,2). More...
 
float get23 ()
 Value at (2,3). More...
 
float get24 ()
 Value at (2,4). More...
 
float get31 ()
 Value at (3,1). More...
 
float get32 ()
 Value at (3,2). More...
 
float get33 ()
 Value at (3,3). More...
 
float get34 ()
 Value at (3,4). More...
 
DVector getViewVector ()
 Vector composed of the third column. More...
 
DVector getUpVector ()
 Vector composed of the second column. More...
 
DVector getRightVector ()
 Vector composed of the first column. More...
 
DVector getPosition ()
 Vector composed of the fourth column. More...
 
DVector transformNormal (DVector normal)
 Transform normal by matrix. More...
 
DVector getEulerAngles ()
 Euler angles. More...
 
DMatrix getInverse ()
 Inverse. More...
 
DMatrix getRotation ()
 Matrix with only the rotational part. More...
 
DMatrix normalize ()
 Normalize matrix. More...
 
Quaternion toQuaternion ()
 Quaternion from upper 3x3 matrix. More...
 
DMatrix4 toDMatrix4 ()
 the double precision matrix. More...
 
Matrix4 toMatrix4 ()
 the single precision matrix. More...
 
Matrix toMatrix ()
 the single precision matrix. More...
 
bool equals (Object other)
 Matrix is equal to another object. More...
 
int hashCode ()
 Hash code for use as dictionary keys. More...
 
String toString ()
 String representation of matrix. More...
 
String toString (int precision)
 String representation of matrix with precision. More...
 
Operators
DMatrix operator+ (DMatrix matrix)
 Sum of matrix with another DMatrix. More...
 
DMatrix operator- (DMatrix matrix)
 Difference of matrix and another DMatrix. More...
 
DMatrix operator* (float k)
 Matrix multiplied by a factor. More...
 
DMatrix operator/ (float k)
 Matrix divided by a factor. More...
 
DMatrix operator* (DMatrix matrix)
 Matrix multiplied by another DMatrix. More...
 
DVector operator* (DVector vector)
 Vector transformed by matrix. More...
 

Constructors

DMatrix new ()
 Create identity matrix. More...
 
DMatrix new (float a11, float a12, float a13, float a14, float a21, float a22, float a23, float a24, float a31, float a32, float a33, float a34)
 Create matrix from values. More...
 
static DMatrix newTranslation (DVector translation)
 Create translation matrix. More...
 
static DMatrix newTranslation (float tx, float ty, float tz)
 Create translation matrix. More...
 
static DMatrix newScaling (DVector scaling)
 Create scaling matrix. More...
 
static DMatrix newScaling (float sx, float sy, float sz)
 Create scaling matrix. More...
 
static DMatrix newRotationX (float rotation)
 Create rotation around the x axis matrix. More...
 
static DMatrix newRotationY (float rotation)
 Create rotation around the y axis matrix. More...
 
static DMatrix newRotationZ (float rotation)
 Create rotation around the z axis matrix. More...
 
static DMatrix newRotation (DVector rotation)
 Create rotation matrix. More...
 
static DMatrix newRotation (float rx, float ry, float rz)
 Create rotation matrix. More...
 
static DMatrix newRotationAxis (DVector axis, float rotation)
 Create rotation matrix. More...
 
static DMatrix newSRT (DVector scaling, DVector rotation, DVector translation)
 Create scaling-rotation-translation matrix composing of a scaling followed by a rotation and a translation. More...
 
static DMatrix newRT (DVector rotation, DVector translation)
 Create rotation-translation matrix composing of a rotation followed by a translation. More...
 
static DMatrix newSVUT (DVector scaling, DVector view, DVector up, DVector translation)
 Create scale-view-up-translation matrix composing of a rotation followed by a world matrix. More...
 
static DMatrix newVU (DVector view, DVector up)
 Create view-up matrix. More...
 
static DMatrix newCamera (DVector position, DVector view, DVector up)
 Create camera matrix. More...
 
static DMatrix newWorld (DVector position, DVector view, DVector up)
 Create world matrix. More...
 
static DMatrix newWorld (DVector position, Quaternion orientation)
 Create world matrix. More...
 
static DMatrix newFromQuaternion (Quaternion quaternion)
 Create rotation matrix from the given quaternion. More...
 

File Handling

void writeToFile (FileWriter writer)
 Write matrix to a file writer. More...
 
static DMatrix readFromFile (FileReader reader)
 Read matrix from a file reader. More...
 

Detailed Description

Immutable 4x3-component row major double precision matrix.

This is a native class. It can not be subclassed.

Member Function Documentation

◆ equals()

bool Dragengine.Scenery.DMatrix.equals ( Object  other)

Matrix is equal to another object.

Implements Object.equals(Object).

Returns
true if other is of type DMatrix and components are equal.

◆ get11()

float Dragengine.Scenery.DMatrix.get11 ( )

Value at (1,1).

◆ get12()

float Dragengine.Scenery.DMatrix.get12 ( )

Value at (1,2).

◆ get13()

float Dragengine.Scenery.DMatrix.get13 ( )

Value at (1,3).

◆ get14()

float Dragengine.Scenery.DMatrix.get14 ( )

Value at (1,4).

◆ get21()

float Dragengine.Scenery.DMatrix.get21 ( )

Value at (2,1).

◆ get22()

float Dragengine.Scenery.DMatrix.get22 ( )

Value at (2,2).

◆ get23()

float Dragengine.Scenery.DMatrix.get23 ( )

Value at (2,3).

◆ get24()

float Dragengine.Scenery.DMatrix.get24 ( )

Value at (2,4).

◆ get31()

float Dragengine.Scenery.DMatrix.get31 ( )

Value at (3,1).

◆ get32()

float Dragengine.Scenery.DMatrix.get32 ( )

Value at (3,2).

◆ get33()

float Dragengine.Scenery.DMatrix.get33 ( )

Value at (3,3).

◆ get34()

float Dragengine.Scenery.DMatrix.get34 ( )

Value at (3,4).

◆ getAt()

float Dragengine.Scenery.DMatrix.getAt ( int  row,
int  col 
)

Value at row and colon.

Exceptions
EInvalidParamrow is less than 0 or larger than 2.
EInvalidParamcol is less than 0 or larger than 3.

◆ getEulerAngles()

DVector Dragengine.Scenery.DMatrix.getEulerAngles ( )

Euler angles.

◆ getInverse()

DMatrix Dragengine.Scenery.DMatrix.getInverse ( )

Inverse.

◆ getPosition()

DVector Dragengine.Scenery.DMatrix.getPosition ( )

Vector composed of the fourth column.

◆ getRightVector()

DVector Dragengine.Scenery.DMatrix.getRightVector ( )

Vector composed of the first column.

◆ getRotation()

DMatrix Dragengine.Scenery.DMatrix.getRotation ( )

Matrix with only the rotational part.

◆ getUpVector()

DVector Dragengine.Scenery.DMatrix.getUpVector ( )

Vector composed of the second column.

◆ getViewVector()

DVector Dragengine.Scenery.DMatrix.getViewVector ( )

Vector composed of the third column.

◆ hashCode()

int Dragengine.Scenery.DMatrix.hashCode ( )

Hash code for use as dictionary keys.

Implements Object.hashCode().

◆ new() [1/2]

DMatrix Dragengine.Scenery.DMatrix.new ( )

Create identity matrix.

◆ new() [2/2]

DMatrix Dragengine.Scenery.DMatrix.new ( float  a11,
float  a12,
float  a13,
float  a14,
float  a21,
float  a22,
float  a23,
float  a24,
float  a31,
float  a32,
float  a33,
float  a34 
)

Create matrix from values.

◆ newCamera()

static DMatrix Dragengine.Scenery.DMatrix.newCamera ( DVector  position,
DVector  view,
DVector  up 
)
static

Create camera matrix.

◆ newFromQuaternion()

static DMatrix Dragengine.Scenery.DMatrix.newFromQuaternion ( Quaternion  quaternion)
static

Create rotation matrix from the given quaternion.

◆ newRotation() [1/2]

static DMatrix Dragengine.Scenery.DMatrix.newRotation ( DVector  rotation)
static

Create rotation matrix.

◆ newRotation() [2/2]

static DMatrix Dragengine.Scenery.DMatrix.newRotation ( float  rx,
float  ry,
float  rz 
)
static

Create rotation matrix.

◆ newRotationAxis()

static DMatrix Dragengine.Scenery.DMatrix.newRotationAxis ( DVector  axis,
float  rotation 
)
static

Create rotation matrix.

◆ newRotationX()

static DMatrix Dragengine.Scenery.DMatrix.newRotationX ( float  rotation)
static

Create rotation around the x axis matrix.

◆ newRotationY()

static DMatrix Dragengine.Scenery.DMatrix.newRotationY ( float  rotation)
static

Create rotation around the y axis matrix.

◆ newRotationZ()

static DMatrix Dragengine.Scenery.DMatrix.newRotationZ ( float  rotation)
static

Create rotation around the z axis matrix.

◆ newRT()

static DMatrix Dragengine.Scenery.DMatrix.newRT ( DVector  rotation,
DVector  translation 
)
static

Create rotation-translation matrix composing of a rotation followed by a translation.

◆ newScaling() [1/2]

static DMatrix Dragengine.Scenery.DMatrix.newScaling ( DVector  scaling)
static

Create scaling matrix.

◆ newScaling() [2/2]

static DMatrix Dragengine.Scenery.DMatrix.newScaling ( float  sx,
float  sy,
float  sz 
)
static

Create scaling matrix.

◆ newSRT()

static DMatrix Dragengine.Scenery.DMatrix.newSRT ( DVector  scaling,
DVector  rotation,
DVector  translation 
)
static

Create scaling-rotation-translation matrix composing of a scaling followed by a rotation and a translation.

◆ newSVUT()

static DMatrix Dragengine.Scenery.DMatrix.newSVUT ( DVector  scaling,
DVector  view,
DVector  up,
DVector  translation 
)
static

Create scale-view-up-translation matrix composing of a rotation followed by a world matrix.

◆ newTranslation() [1/2]

static DMatrix Dragengine.Scenery.DMatrix.newTranslation ( DVector  translation)
static

Create translation matrix.

◆ newTranslation() [2/2]

static DMatrix Dragengine.Scenery.DMatrix.newTranslation ( float  tx,
float  ty,
float  tz 
)
static

Create translation matrix.

◆ newVU()

static DMatrix Dragengine.Scenery.DMatrix.newVU ( DVector  view,
DVector  up 
)
static

Create view-up matrix.

◆ newWorld() [1/2]

static DMatrix Dragengine.Scenery.DMatrix.newWorld ( DVector  position,
DVector  view,
DVector  up 
)
static

Create world matrix.

◆ newWorld() [2/2]

static DMatrix Dragengine.Scenery.DMatrix.newWorld ( DVector  position,
Quaternion  orientation 
)
static

Create world matrix.

◆ normalize()

DMatrix Dragengine.Scenery.DMatrix.normalize ( )

Normalize matrix.

Returns matrix with scaling removed. Only normalized matrices are safe to be used with the getEulerAngles() and toQuaternion() calls since scaling interferes with the calculation.

This calls the same as this code

DMatrix.newWorld(m.getPosition(), getViewVector(), m.getUpVector())
DVector getViewVector()
Vector composed of the third column.

but is safe against 0-scaling. In such a case a 0-rotation matrix is created.

◆ operator*() [1/3]

DMatrix Dragengine.Scenery.DMatrix.operator* ( DMatrix  matrix)

Matrix multiplied by another DMatrix.

◆ operator*() [2/3]

DVector Dragengine.Scenery.DMatrix.operator* ( DVector  vector)

Vector transformed by matrix.

◆ operator*() [3/3]

DMatrix Dragengine.Scenery.DMatrix.operator* ( float  k)

Matrix multiplied by a factor.

◆ operator+()

DMatrix Dragengine.Scenery.DMatrix.operator+ ( DMatrix  matrix)

Sum of matrix with another DMatrix.

◆ operator-()

DMatrix Dragengine.Scenery.DMatrix.operator- ( DMatrix  matrix)

Difference of matrix and another DMatrix.

◆ operator/()

DMatrix Dragengine.Scenery.DMatrix.operator/ ( float  k)

Matrix divided by a factor.

Exceptions
EDivisionByZeroscalar is 0.

◆ readFromFile()

static DMatrix Dragengine.Scenery.DMatrix.readFromFile ( FileReader  reader)
static

Read matrix from a file reader.

◆ toDMatrix4()

DMatrix4 Dragengine.Scenery.DMatrix.toDMatrix4 ( )

the double precision matrix.

◆ toMatrix()

Matrix Dragengine.Scenery.DMatrix.toMatrix ( )

the single precision matrix.

◆ toMatrix4()

Matrix4 Dragengine.Scenery.DMatrix.toMatrix4 ( )

the single precision matrix.

◆ toQuaternion()

Quaternion Dragengine.Scenery.DMatrix.toQuaternion ( )

Quaternion from upper 3x3 matrix.

◆ toString() [1/2]

String Dragengine.Scenery.DMatrix.toString ( )

String representation of matrix.

Implements Object.toString()

◆ toString() [2/2]

String Dragengine.Scenery.DMatrix.toString ( int  precision)

String representation of matrix with precision.

Same as toString() except the count of digits of each component is precision.

Parameters
precisionPrecision in digits in the range from 0 to 17 inclusive.
Exceptions
EInvalidParamprecision is less than 0 or larger than 17.

◆ transformNormal()

DVector Dragengine.Scenery.DMatrix.transformNormal ( DVector  normal)

Transform normal by matrix.

◆ writeToFile()

void Dragengine.Scenery.DMatrix.writeToFile ( FileWriter  writer)

Write matrix to a file writer.


The documentation for this class was generated from the following file: