Skip to content

Class: matrix ​

Mutable 4x4 transform matrix.

Basis vectors are exposed as i, j, k; translation is exposed as c.

Source ​

C++ class matrix

Custom Constructor ​

matrix

Remarks ​

Script-exposed mutators return this matrix for chaining. Call identity() or set() before composing transforms when you need a known starting value.

Constructors ​

Constructor ​

ts
new matrix(): matrix;

Create an empty matrix.

Returns ​

matrix

Methods ​

div() ​

Call Signature ​

ts
div(value: matrix, divisor: number): matrix;

Set this matrix to value / divisor.

Parameters ​
ParameterTypeDescription
valuematrixSource matrix.
divisornumberScalar divisor.
Returns ​

matrix

This matrix.

Remarks ​

The binding performs raw scalar division. Pass a non-zero divisor.

Call Signature ​

ts
div(divisor: number): matrix;

Divide this matrix by a scalar.

Parameters ​
ParameterTypeDescription
divisornumberScalar divisor.
Returns ​

matrix

This matrix.

Remarks ​

The binding performs raw scalar division. Pass a non-zero divisor.


getHPB() ​

ts
getHPB(
   value: matrix, 
   heading: number, 
   pitch: number, 
   bank: number): matrix;

Get heading, pitch, and bank from this matrix.

Parameters ​

ParameterTypeDescription
valuematrixPlaceholder kept for existing declaration compatibility.
headingnumberHeading output placeholder.
pitchnumberPitch output placeholder.
banknumberBank output placeholder.

Returns ​

matrix

This matrix.

Remarks ​

Native Lua uses pointer-style output parameters for heading, pitch, and bank; the declaration keeps the legacy shape for compatibility.


identity() ​

ts
identity(): matrix;

Set this matrix to identity.

Returns ​

matrix

This matrix.


mk_xform() ​

ts
mk_xform(rotation: Fquaternion, position: vector): matrix;

Build transform from quaternion and translation.

Parameters ​

ParameterTypeDescription
rotationFquaternionQuaternion value.
positionvectorTranslation vector.

Returns ​

matrix

This matrix.


mul() ​

Call Signature ​

ts
mul(left: matrix, right: matrix): matrix;

Set this matrix to left * right.

Parameters ​
ParameterTypeDescription
leftmatrixLeft matrix.
rightmatrixRight matrix.
Returns ​

matrix

This matrix.

Call Signature ​

ts
mul(value: matrix, multiplier: number): matrix;

Set this matrix to value * multiplier.

Parameters ​
ParameterTypeDescription
valuematrixSource matrix.
multipliernumberScalar multiplier.
Returns ​

matrix

This matrix.

Call Signature ​

ts
mul(multiplier: number): matrix;

Multiply this matrix by a scalar.

Parameters ​
ParameterTypeDescription
multipliernumberScalar multiplier.
Returns ​

matrix

This matrix.


set() ​

Call Signature ​

ts
set(value: matrix): matrix;

Copy another matrix.

Parameters ​
ParameterTypeDescription
valuematrixSource matrix.
Returns ​

matrix

This matrix.

Call Signature ​

ts
set(
   i: vector, 
   j: vector, 
   k: vector, 
   c: vector): matrix;

Set basis and translation vectors.

Parameters ​
ParameterTypeDescription
ivectorX basis vector.
jvectorY basis vector.
kvectorZ basis vector.
cvectorTranslation vector.
Returns ​

matrix

This matrix.


setHPB() ​

ts
setHPB(
   heading: number, 
   pitch: number, 
   bank: number): matrix;

Set rotation from heading, pitch, and bank angles.

Parameters ​

ParameterTypeDescription
headingnumberHeading angle in radians.
pitchnumberPitch angle in radians.
banknumberBank angle in radians.

Returns ​

matrix

This matrix.


setXYZ() ​

ts
setXYZ(
   x: number, 
   y: number, 
   z: number): matrix;

Set rotation from XYZ Euler angles.

Parameters ​

ParameterTypeDescription
xnumberX rotation in radians.
ynumberY rotation in radians.
znumberZ rotation in radians.

Returns ​

matrix

This matrix.


setXYZi() ​

ts
setXYZi(
   x: number, 
   y: number, 
   z: number): matrix;

Set inverse XYZ rotation from Euler angles.

Parameters ​

ParameterTypeDescription
xnumberX rotation in radians.
ynumberY rotation in radians.
znumberZ rotation in radians.

Returns ​

matrix

This matrix.

Properties ​

_14_ ​

ts
_14_: number;

First row fourth component.


_24_ ​

ts
_24_: number;

Second row fourth component.


_34_ ​

ts
_34_: number;

Third row fourth component.


_44_ ​

ts
_44_: number;

Fourth row fourth component.


c ​

ts
c: vector;

Translation vector.


i ​

ts
i: vector;

X basis vector.


j ​

ts
j: vector;

Y basis vector.


k ​

ts
k: vector;

Z basis vector.