Skip to content

@temporary-escape/mod-sdk / Quaternion

Class: Quaternion ​

Defined in: math/quaternion.ts:7

Constructors ​

Constructor ​

ts
new Quaternion(
   w?: number, 
   x?: number, 
   y?: number, 
   z?: number
): Quaternion;

Defined in: math/quaternion.ts:13

Parameters ​

ParameterTypeDefault value
wnumber1
xnumber0
ynumber0
znumber0

Returns ​

Quaternion

Properties ​

PropertyTypeDefined in
wnumbermath/quaternion.ts:11
xnumbermath/quaternion.ts:8
ynumbermath/quaternion.ts:9
znumbermath/quaternion.ts:10

Methods ​

toString() ​

ts
toString(): string;

Defined in: math/quaternion.ts:20

Returns ​

string


add() ​

ts
static add(a: Quaternion, b: Quaternion): Quaternion;

Defined in: math/quaternion.ts:63

Parameters ​

ParameterType
aQuaternion
bQuaternion

Returns ​

Quaternion


angle() ​

ts
static angle(q: Quaternion): number;

Defined in: math/quaternion.ts:111

Returns the quaternion rotation angle.

Parameters ​

ParameterType
qQuaternion

Returns ​

number


angleAxis() ​

ts
static angleAxis(angle: number, v: Vector3f): Quaternion;

Defined in: math/quaternion.ts:50

Build a quaternion from an angle and a normalized axis.

Parameters ​

ParameterType
anglenumber
vVector3f

Returns ​

Quaternion


axis() ​

ts
static axis(q: Quaternion): Vector3f;

Defined in: math/quaternion.ts:125

Returns the q rotation axis.

Parameters ​

ParameterType
qQuaternion

Returns ​

Vector3f


cmpEqual() ​

ts
static cmpEqual(a: Quaternion, b: Quaternion): Vector4b;

Defined in: math/quaternion.ts:97

Component wise comparison of two quaternions.

Parameters ​

ParameterType
aQuaternion
bQuaternion

Returns ​

Vector4b


cmpNotEqual() ​

ts
static cmpNotEqual(a: Quaternion, b: Quaternion): Vector4b;

Defined in: math/quaternion.ts:104

Component wise comparison of two quaternions.

Parameters ​

ParameterType
aQuaternion
bQuaternion

Returns ​

Vector4b


conjugate() ​

ts
static conjugate(q: Quaternion): Quaternion;

Defined in: math/quaternion.ts:134

Parameters ​

ParameterType
qQuaternion

Returns ​

Quaternion


dot() ​

ts
static dot(x: Quaternion, y: Quaternion): number;

Defined in: math/quaternion.ts:24

Parameters ​

ParameterType
xQuaternion
yQuaternion

Returns ​

number


eq() ​

ts
static eq(a: Quaternion, b: Quaternion): boolean;

Defined in: math/quaternion.ts:83

Returns true if two quaternions are equal.

Parameters ​

ParameterType
aQuaternion
bQuaternion

Returns ​

boolean


eulerAngles() ​

ts
static eulerAngles(q: Quaternion): Vector3f;

Defined in: math/quaternion.ts:274

Parameters ​

ParameterType
qQuaternion

Returns ​

Vector3f


greaterThan() ​

ts
static greaterThan(x: Quaternion, y: Quaternion): Vector4b;

Defined in: math/quaternion.ts:278

Parameters ​

ParameterType
xQuaternion
yQuaternion

Returns ​

Vector4b


greaterThanEqual() ​

ts
static greaterThanEqual(x: Quaternion, y: Quaternion): Vector4b;

Defined in: math/quaternion.ts:282

Parameters ​

ParameterType
xQuaternion
yQuaternion

Returns ​

Vector4b


identity() ​

ts
static identity(): Quaternion;

Defined in: math/quaternion.ts:43

Creates an identity quaternion.

Returns ​

Quaternion


inverse() ​

ts
static inverse(q: Quaternion): Quaternion;

Defined in: math/quaternion.ts:141

Returns the q inverse.

Parameters ​

ParameterType
qQuaternion

Returns ​

Quaternion


length() ​

ts
static length(q: Quaternion): number;

Defined in: math/quaternion.ts:223

Parameters ​

ParameterType
qQuaternion

Returns ​

number


length2() ​

ts
static length2(q: Quaternion): number;

Defined in: math/quaternion.ts:227

Parameters ​

ParameterType
qQuaternion

Returns ​

number


lerp() ​

ts
static lerp(
   x: Quaternion, 
   y: Quaternion, 
   a: number
): Quaternion;

Defined in: math/quaternion.ts:150

Linear interpolation between two quaternions.

Parameters ​

ParameterType
xQuaternion
yQuaternion
anumber

Returns ​

Quaternion


lessThan() ​

ts
static lessThan(x: Quaternion, y: Quaternion): Vector4b;

Defined in: math/quaternion.ts:286

Parameters ​

ParameterType
xQuaternion
yQuaternion

Returns ​

Vector4b


lessThanEqual() ​

ts
static lessThanEqual(x: Quaternion, y: Quaternion): Vector4b;

Defined in: math/quaternion.ts:290

Parameters ​

ParameterType
xQuaternion
yQuaternion

Returns ​

Vector4b


lookAt() ​

ts
static lookAt(direction: Vector3f, up: Vector3f): Quaternion;

Defined in: math/quaternion.ts:299

Build a quaternion looking at a direction, based on the default handedness. The engine compiles GLM with GLM_FORCE_LEFT_HANDED, so this matches glm::quatLookAtLH (which is what glm::quatLookAt resolves to in the engine).

Parameters ​

ParameterType
directionVector3f
upVector3f

Returns ​

Quaternion


mat3Cast() ​

ts
static mat3Cast(q: Quaternion): Matrix3f;

Defined in: math/quaternion.ts:366

Parameters ​

ParameterType
qQuaternion

Returns ​

Matrix3f


mat4Cast() ​

ts
static mat4Cast(q: Quaternion): Matrix4f;

Defined in: math/quaternion.ts:356

Parameters ​

ParameterType
qQuaternion

Returns ​

Matrix4f


mix() ​

ts
static mix(
   x: Quaternion, 
   y: Quaternion, 
   a: number
): Quaternion;

Defined in: math/quaternion.ts:166

Spherical linear interpolation of two quaternions. The interpolation is oriented and the rotation is performed at constant speed. For short path spherical linear interpolation, use the slerp function.

Parameters ​

ParameterType
xQuaternion
yQuaternion
anumber

Returns ​

Quaternion


mul() ​

ts
static mul(a: Quaternion, b: Quaternion): Quaternion;

Defined in: math/quaternion.ts:71

Parameters ​

ParameterType
aQuaternion
bQuaternion

Returns ​

Quaternion


ne() ​

ts
static ne(a: Quaternion, b: Quaternion): boolean;

Defined in: math/quaternion.ts:90

Returns true if two quaternions are not equal.

Parameters ​

ParameterType
aQuaternion
bQuaternion

Returns ​

boolean


normalize() ​

ts
static normalize(q: Quaternion): Quaternion;

Defined in: math/quaternion.ts:234

Returns a normalized quaternion.

Parameters ​

ParameterType
qQuaternion

Returns ​

Quaternion


pitch() ​

ts
static pitch(q: Quaternion): number;

Defined in: math/quaternion.ts:246

Extract the pitch angle from a quaternion.

Parameters ​

ParameterType
qQuaternion

Returns ​

number


roll() ​

ts
static roll(q: Quaternion): number;

Defined in: math/quaternion.ts:265

Extract the roll angle from a quaternion.

Parameters ​

ParameterType
qQuaternion

Returns ​

number


rotate() ​

ts
static rotate(
   q: Quaternion, 
   angle: number, 
   v: Vector3f
): Quaternion;

Defined in: math/quaternion.ts:314

Rotate a quaternion by an angle around an axis.

Parameters ​

ParameterType
qQuaternion
anglenumber
vVector3f

Returns ​

Quaternion


rotation() ​

ts
static rotation(orig: Vector3f, dest: Vector3f): Quaternion;

Defined in: math/quaternion.ts:330

Compute the rotation between two vectors. Vectors need to be normalized.

Parameters ​

ParameterType
origVector3f
destVector3f

Returns ​

Quaternion


slerp() ​

ts
static slerp(
   x: Quaternion, 
   y: Quaternion, 
   a: number
): Quaternion;

Defined in: math/quaternion.ts:195

Spherical linear interpolation of two quaternions.

The interpolation always take the short path and the rotation is performed at constant speed.

Parameters ​

ParameterType
xQuaternion
yQuaternion
anumber

Returns ​

Quaternion


sub() ​

ts
static sub(a: Quaternion, b: Quaternion): Quaternion;

Defined in: math/quaternion.ts:67

Parameters ​

ParameterType
aQuaternion
bQuaternion

Returns ​

Quaternion


toVector() ​

ts
static toVector(q: Quaternion): Vector4f;

Defined in: math/quaternion.ts:352

Convert a quaternion to a vector.

Parameters ​

ParameterType
qQuaternion

Returns ​

Vector4f


unm() ​

ts
static unm(a: Quaternion): Quaternion;

Defined in: math/quaternion.ts:59

Unary minus.

Parameters ​

ParameterType
aQuaternion

Returns ​

Quaternion


yaw() ​

ts
static yaw(q: Quaternion): number;

Defined in: math/quaternion.ts:258

Extract the yaw angle from a quaternion.

Parameters ​

ParameterType
qQuaternion

Returns ​

number