Class: MockVector
Mock of the X-Ray engine 3D vector class for jest/node.
Pure-JS implementation of the subset of vector behaviour used by shared utilities, so code that calls new vector() can run under jest when vector is bound to this mock.
Implements
vector
Constructors
Constructor
new MockVector(): MockVector;Returns
MockVector
Methods
abs()
abs(vector: TReadonlyVector): MockVector;Set this vector to absolute component values of another vector.
Parameters
| Parameter | Type | Description |
|---|---|---|
vector | TReadonlyVector | Source vector. |
Returns
MockVector
This vector.
Implementation of
vector.absadd()
add(first: number | Readonly<vector>, second?: number | Readonly<vector>): MockVector;Add a scalar to every component.
Parameters
| Parameter | Type |
|---|---|
first | number | Readonly<vector> |
second? | number | Readonly<vector> |
Returns
MockVector
This vector.
Implementation of
vector.addalign()
align(): MockVector;Snap components to the engine alignment grid.
Returns
MockVector
This vector.
Implementation of
vector.alignasMock()
asMock(): vector;Returns
vector
average()
average(first: TReadonlyVector, second?: Readonly<vector>): MockVector;Set this vector to the midpoint between two vectors.
Parameters
| Parameter | Type |
|---|---|
first | TReadonlyVector |
second? | Readonly<vector> |
Returns
MockVector
This vector.
Implementation of
vector.averageclamp()
clamp(min: TReadonlyVector, max?: Readonly<vector>): MockVector;Clamp this vector between two bounds.
Parameters
| Parameter | Type | Description |
|---|---|---|
min | TReadonlyVector | Minimum components. |
max? | Readonly<vector> | Maximum components. |
Returns
MockVector
This vector.
Implementation of
vector.clampcrossproduct()
crossproduct(first: TReadonlyVector, second: TReadonlyVector): MockVector;Set this vector to a cross product.
Parameters
| Parameter | Type |
|---|---|
first | TReadonlyVector |
second | TReadonlyVector |
Returns
MockVector
This vector.
Implementation of
vector.crossproductdistance_to()
Call Signature
distance_to(target: TReadonlyVector): number;Get 3D distance to another vector.
Parameters
| Parameter | Type |
|---|---|
target | TReadonlyVector |
Returns
number
Distance.
Implementation of
vector.distance_toCall Signature
distance_to(): number;Returns
number
Implementation of
vector.distance_todistance_to_sqr()
Call Signature
distance_to_sqr(target: TReadonlyVector): number;Get squared 3D distance to another vector.
Parameters
| Parameter | Type |
|---|---|
target | TReadonlyVector |
Returns
number
Squared distance.
Implementation of
vector.distance_to_sqrCall Signature
distance_to_sqr(): number;Returns
number
Implementation of
vector.distance_to_sqrdistance_to_xz()
distance_to_xz(target: TReadonlyVector): number;Get distance to another vector on the XZ plane.
Parameters
| Parameter | Type |
|---|---|
target | TReadonlyVector |
Returns
number
XZ-plane distance.
Implementation of
vector.distance_to_xzdiv()
div(first: number | Readonly<vector>, second?: number | Readonly<vector>): MockVector;Divide every component by a scalar.
Parameters
| Parameter | Type |
|---|---|
first | number | Readonly<vector> |
second? | number | Readonly<vector> |
Returns
MockVector
This vector.
Remarks
The binding performs raw division. Pass a non-zero divisor.
Implementation of
vector.divdotproduct()
dotproduct(target: TReadonlyVector): number;Get dot product with another vector.
Parameters
| Parameter | Type |
|---|---|
target | TReadonlyVector |
Returns
number
Dot product.
Implementation of
vector.dotproductgetH()
getH(): number;Get heading angle for this direction vector.
Returns
number
Heading angle in radians.
Remarks
Intended for direction vectors. For arbitrary points, the result is just the angle of that vector from origin.
Implementation of
vector.getHgetP()
getP(): number;Get pitch angle for this direction vector.
Returns
number
Pitch angle in radians.
Remarks
Intended for direction vectors. For arbitrary points, the result is just the angle of that vector from origin.
Implementation of
vector.getPinertion()
inertion(vector: TReadonlyVector, value: number): MockVector;Smooth this vector toward another vector.
Parameters
| Parameter | Type | Description |
|---|---|---|
vector | TReadonlyVector | Target vector. |
value | number | Blend factor. |
Returns
MockVector
This vector.
Implementation of
vector.inertioninvert()
invert(vector?: Readonly<vector>): MockVector;Negate this vector.
Parameters
| Parameter | Type |
|---|---|
vector? | Readonly<vector> |
Returns
MockVector
This vector.
Implementation of
vector.invertlerp()
lerp(
from: TReadonlyVector,
to: TReadonlyVector,
factor: number): MockVector;Linearly interpolate between two vectors.
Parameters
| Parameter | Type | Description |
|---|---|---|
from | TReadonlyVector | Start vector. |
to | TReadonlyVector | End vector. |
factor | number | Interpolation factor. |
Returns
MockVector
This vector.
Implementation of
vector.lerpmad()
mad(
first: TReadonlyVector,
second: number | Readonly<vector>,
third?: number | Readonly<vector>): MockVector;Add two vectors and store the result.
Parameters
| Parameter | Type |
|---|---|
first | TReadonlyVector |
second | number | Readonly<vector> |
third? | number | Readonly<vector> |
Returns
MockVector
This vector.
Implementation of
vector.madmagnitude()
magnitude(): number;Get vector length.
Returns
number
3D vector magnitude.
Implementation of
vector.magnitudemax()
max(first: TReadonlyVector, second?: Readonly<vector>): MockVector;Set this vector to component-wise maximum of two vectors.
Parameters
| Parameter | Type |
|---|---|
first | TReadonlyVector |
second? | Readonly<vector> |
Returns
MockVector
This vector.
Implementation of
vector.maxmin()
min(first: TReadonlyVector, second?: Readonly<vector>): MockVector;Set this vector to component-wise minimum of two vectors.
Parameters
| Parameter | Type |
|---|---|
first | TReadonlyVector |
second? | Readonly<vector> |
Returns
MockVector
This vector.
Implementation of
vector.minmul()
mul(first: number | Readonly<vector>, second?: number | Readonly<vector>): MockVector;Multiply every component by a scalar.
Parameters
| Parameter | Type |
|---|---|
first | number | Readonly<vector> |
second? | number | Readonly<vector> |
Returns
MockVector
This vector.
Implementation of
vector.mulnormalize()
normalize(): MockVector;Normalize this vector safely.
Returns
MockVector
This vector.
Remarks
The script binding routes normalize() through the same safe native path as normalize_safe().
Implementation of
vector.normalizenormalize_safe()
normalize_safe(vector?: Readonly<vector>): MockVector;Normalize this vector safely.
Parameters
| Parameter | Type |
|---|---|
vector? | Readonly<vector> |
Returns
MockVector
This vector.
Implementation of
vector.normalize_safereflect()
reflect(direction: TReadonlyVector, normal: TReadonlyVector): MockVector;Reflect a direction vector around a normal.
Parameters
| Parameter | Type | Description |
|---|---|---|
direction | TReadonlyVector | Incoming direction. |
normal | TReadonlyVector | Surface normal. |
Returns
MockVector
This vector.
Implementation of
vector.reflectset()
Call Signature
set(
x: number,
y: number,
z: number): MockVector;Copy another vector.
Parameters
| Parameter | Type |
|---|---|
x | number |
y | number |
z | number |
Returns
MockVector
This vector.
Implementation of
vector.setCall Signature
set(x: TReadonlyVector): MockVector;Set components.
Parameters
| Parameter | Type | Description |
|---|---|---|
x | TReadonlyVector | X component. |
Returns
MockVector
This vector.
Implementation of
vector.setset_length()
set_length(value: number): MockVector;Change vector length while keeping direction.
Parameters
| Parameter | Type | Description |
|---|---|---|
value | number | New length. |
Returns
MockVector
This vector.
Remarks
Use on a vector that already has a meaningful direction.
Implementation of
vector.set_lengthsetHP()
setHP(h: number, p: number): MockVector;Set direction from heading and pitch.
Parameters
| Parameter | Type |
|---|---|
h | number |
p | number |
Returns
MockVector
This vector.
Implementation of
vector.setHPsimilar()
similar(vector: TReadonlyVector, epsilon: number): boolean;Compare vectors with tolerance.
Parameters
| Parameter | Type | Description |
|---|---|---|
vector | TReadonlyVector | Vector to compare. |
epsilon | number | Allowed component difference. |
Returns
boolean
Whether vectors are similar.
Implementation of
vector.similarslide()
slide(direction: TReadonlyVector, normal: TReadonlyVector): MockVector;Slide a direction along a surface normal.
Parameters
| Parameter | Type | Description |
|---|---|---|
direction | TReadonlyVector | Direction vector. |
normal | TReadonlyVector | Surface normal. |
Returns
MockVector
This vector.
Implementation of
vector.slidesub()
sub(first: number | Readonly<vector>, second?: number | Readonly<vector>): MockVector;Subtract a scalar from every component.
Parameters
| Parameter | Type |
|---|---|
first | number | Readonly<vector> |
second? | number | Readonly<vector> |
Returns
MockVector
This vector.
Implementation of
vector.subcreate()
static create(
x?: number,
y?: number,
z?: number): MockVector;Parameters
| Parameter | Type | Default value |
|---|---|---|
x | number | 0 |
y | number | 0 |
z | number | 0 |
Returns
MockVector
mock()
static mock(
x?: number,
y?: number,
z?: number): vector;Parameters
| Parameter | Type | Default value |
|---|---|---|
x | number | 0 |
y | number | 0 |
z | number | 0 |
Returns
vector
Properties
x
x: number = 0;X component.
Implementation of
vector.xy
y: number = 0;Y component.
Implementation of
vector.yz
z: number = 0;Z component.
Implementation of
vector.zDEFAULT_DISTANCE
static DEFAULT_DISTANCE: number = 20;