Skip to content

Shapemetry API


Shapemetry API / Transformation

Class: Transformation

Defined in: core/Transformation.ts:4

A 4×4 affine transformation. Rotation factories take radians; transform() applies the perspective divide.

Constructors

Constructor

new Transformation(elements): Transformation

Defined in: core/Transformation.ts:7

Parameters

elements

number[]

Returns

Transformation

Properties

elements

readonly elements: number[]

Defined in: core/Transformation.ts:5

Methods

toJSON()

toJSON(): TransformationJSON

Defined in: core/Transformation.ts:11

Returns

TransformationJSON


fromJSON()

static fromJSON(d): Transformation

Defined in: core/Transformation.ts:12

Parameters

d

TransformationJSON

Returns

Transformation


isIdentity()

isIdentity(): boolean

Defined in: core/Transformation.ts:14

Returns

boolean


identity()

static identity(): Transformation

Defined in: core/Transformation.ts:23

Returns

Transformation


fromTranslation()

static fromTranslation(tx, ty, tz): Transformation

Defined in: core/Transformation.ts:32

Parameters

tx

number

ty

number

tz

number

Returns

Transformation


fromScaling()

static fromScaling(sx, sy, sz): Transformation

Defined in: core/Transformation.ts:41

Parameters

sx

number

sy

number

sz

number

Returns

Transformation


fromReflection()

static fromReflection(nx, ny, nz): Transformation

Defined in: core/Transformation.ts:52

Householder reflection: I - 2 n n^T. Normal is normalized internally; non-unit input is accepted.

Parameters

nx

number

ny

number

nz

number

Returns

Transformation


fromRotation()

static fromRotation(ax, ay, az, rad): Transformation

Defined in: core/Transformation.ts:65

Rodrigues rotation. Axis (ax,ay,az) is normalized internally; non-unit input is accepted.

Parameters

ax

number

ay

number

az

number

rad

number

Returns

Transformation


from2d()

static from2d(tx, ty, rad, sx, sy): Transformation

Defined in: core/Transformation.ts:81

2D transformation in XY plane: translate + rotate + scale.

Parameters

tx

number

ty

number

rad

number

sx

number

sy

number

Returns

Transformation


fromEuler()

static fromEuler(euler): Transformation

Defined in: core/Transformation.ts:93

Euler XYZ rotation: Rx(x) * Ry(y) * Rz(z).

Parameters

euler
x

number

y

number

z

number

Returns

Transformation


translate()

translate(tx, ty, tz): Transformation

Defined in: core/Transformation.ts:106

Pre-multiply by T(tx,ty,tz): result = T * this

Parameters

tx

number

ty

number

tz

number

Returns

Transformation


rotate()

rotate(ax, ay, az, rad): Transformation

Defined in: core/Transformation.ts:111

Pre-multiply by R(axis, rad): result = R * this

Parameters

ax

number

ay

number

az

number

rad

number

Returns

Transformation


scale()

scale(sx, sy, sz): Transformation

Defined in: core/Transformation.ts:116

Pre-multiply by S(sx,sy,sz): result = S * this

Parameters

sx

number

sy

number

sz

number

Returns

Transformation


flip()

flip(): Transformation

Defined in: core/Transformation.ts:120

Returns

Transformation


transpose()

transpose(): Transformation

Defined in: core/Transformation.ts:126

Returns

Transformation


multiply()

multiply(other): Transformation

Defined in: core/Transformation.ts:137

Column-major: result = this * other

Parameters

other

Transformation

Returns

Transformation


inverse()

inverse(): Transformation | null

Defined in: core/Transformation.ts:151

Returns

Transformation | null