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.