Skip to content

Documentation / base / ObservableVector3

Class: ObservableVector3

Defined in: libs/base/src/math/vector.ts:1078

Observable 3 dimentional vector

Extends

Indexable

[index: number]: number

Constructors

Constructor

new ObservableVector3(x, y, z): ObservableVector3

Defined in: libs/base/src/math/vector.ts:603

Creates a new Vector3 initialized with values.

Parameters

x

number

The x component.

y

number

The y component.

z

number

The z component.

Returns

ObservableVector3

Inherited from

Vector3.constructor

Constructor

new ObservableVector3(elements): ObservableVector3

Defined in: libs/base/src/math/vector.ts:608

Creates a new Vector3 initialized with values in an array.

Parameters

elements

number[]

Array that contains the x, y, z values.

Returns

ObservableVector3

Inherited from

Vector3.constructor

Constructor

new ObservableVector3(array): ObservableVector3

Defined in: libs/base/src/math/vector.ts:613

Creates a new Vector3 initialized with values in a Float32Array.

Parameters

array

Float32Array<ArrayBuffer>

Float32Array object that contains the x, y, z values.

Returns

ObservableVector3

Inherited from

Vector3.constructor

Constructor

new ObservableVector3(buffer, offset): ObservableVector3

Defined in: libs/base/src/math/vector.ts:619

Creates a new Vector3 placed on a given ArrayBuffer object.

Parameters

buffer

ArrayBuffer

The array buffer object.

offset

number

The byte offset of the buffer where the vector placed at.

Returns

ObservableVector3

Inherited from

Vector3.constructor

Constructor

new ObservableVector3(): ObservableVector3

Defined in: libs/base/src/math/vector.ts:623

Creates a new Vector3 filled with zero values.

Returns

ObservableVector3

Inherited from

Vector3.constructor

Accessors

magnitude

Get Signature

get magnitude(): number

Defined in: libs/base/src/math/vector.ts:675

Get the length of the vector.

Returns

number

Inherited from

Vector3.magnitude


magnitudeSq

Get Signature

get magnitudeSq(): number

Defined in: libs/base/src/math/vector.ts:679

Get the squared length of the vector.

Returns

number

Inherited from

Vector3.magnitudeSq


callback

Get Signature

get callback(): () => void

Defined in: libs/base/src/math/vector.ts:1082

The callback function which will be executed when the value changed

Returns

() => void

Set Signature

set callback(cb): void

Defined in: libs/base/src/math/vector.ts:1085

Parameters
cb

() => void

Returns

void


x

Get Signature

get x(): number

Defined in: libs/base/src/math/vector.ts:1096

Get the x component value.

Returns

number

Set Signature

set x(val): void

Defined in: libs/base/src/math/vector.ts:1099

Get the x component value.

Parameters
val

number

Returns

void

Overrides

Vector3.x


y

Get Signature

get y(): number

Defined in: libs/base/src/math/vector.ts:1109

Get the y component value.

Returns

number

Set Signature

set y(val): void

Defined in: libs/base/src/math/vector.ts:1112

Get the y component value.

Parameters
val

number

Returns

void

Overrides

Vector3.y


z

Get Signature

get z(): number

Defined in: libs/base/src/math/vector.ts:1122

Get the z component value.

Returns

number

Set Signature

set z(val): void

Defined in: libs/base/src/math/vector.ts:1125

Get the z component value.

Parameters
val

number

Returns

void

Overrides

Vector3.z

Methods

equalsTo()

equalsTo(other, epsl?): boolean

Defined in: libs/base/src/math/vector.ts:31

Check if all data is close enough to another

Parameters

other

Float32Array<ArrayBuffer>

The data to be compared with.

epsl?

number

Returns

boolean

true if close enough, otherwise false.

Inherited from

Vector3.equalsTo


toString()

toString(): string

Defined in: libs/base/src/math/vector.ts:51

Convert this to string object.

Returns

string

Inherited from

Vector3.toString


isNaN()

isNaN(): boolean

Defined in: libs/base/src/math/vector.ts:60

Check the data for the presence of NaN.

Returns

boolean

true if NaN is present, otherwise false.

Inherited from

Vector3.isNaN


setRandom()

setRandom(minValue, maxValue): void

Defined in: libs/base/src/math/vector.ts:74

Generate random vector

Parameters

minValue

number

Minimum value of any component of the vector

maxValue

number

Maximum value of any component of the vector

Returns

void

Inherited from

Vector3.setRandom


clone()

clone(): Vector3

Defined in: libs/base/src/math/vector.ts:650

Creates a new Vector3 initialized with values from this vector.

Returns

Vector3

The new vector.

Inherited from

Vector3.clone


xy()

xy(): Vector2

Defined in: libs/base/src/math/vector.ts:686

Creates a new Vector2 initialized with x, y component of this vector.

Returns

Vector2

The new vector

Inherited from

Vector3.xy


setAndNormalize()

setAndNormalize(x, y, z): ObservableVector3

Defined in: libs/base/src/math/vector.ts:709

Set component values and then normalize the vector.

Parameters

x

number

The x component value.

y

number

The y component value.

z

number

The z component value.

Returns

ObservableVector3

self

Inherited from

Vector3.setAndNormalize


subBy()

subBy(other): ObservableVector3

Defined in: libs/base/src/math/vector.ts:718

Subtract a vector from this vector.

Parameters

other

Vector3

The vector that will be subtract.

Returns

ObservableVector3

self

Inherited from

Vector3.subBy


addBy()

addBy(other): ObservableVector3

Defined in: libs/base/src/math/vector.ts:727

Add a vector to this vector.

Parameters

other

Vector3

The vector that will be added.

Returns

ObservableVector3

self

Inherited from

Vector3.addBy


combineBy()

combineBy(other, t0, t1): ObservableVector3

Defined in: libs/base/src/math/vector.ts:738

Combine a vector to this vector.

Parameters

other

Vector3

The vector that will be added.

t0

number

Scale factor for this vector

t1

number

Scale factor for other vector

Returns

ObservableVector3

self

Inherited from

Vector3.combineBy


mulBy()

mulBy(other): ObservableVector3

Defined in: libs/base/src/math/vector.ts:747

Multiply this vector by a vector.

Parameters

other

Vector3

The vector that will be multiplied by.

Returns

ObservableVector3

self

Inherited from

Vector3.mulBy


divBy()

divBy(other): ObservableVector3

Defined in: libs/base/src/math/vector.ts:756

Divide this vector by a vector.

Parameters

other

Vector3

The vector that will be divide by.

Returns

ObservableVector3

self

Inherited from

Vector3.divBy


scaleBy()

scaleBy(f): ObservableVector3

Defined in: libs/base/src/math/vector.ts:765

Scale this vector by a scalar number.

Parameters

f

number

amount to scale this vector by.

Returns

ObservableVector3

self

Inherited from

Vector3.scaleBy


inplaceNormalize()

inplaceNormalize(): ObservableVector3

Defined in: libs/base/src/math/vector.ts:773

Normalize this vector inplace.

Returns

ObservableVector3

self

Inherited from

Vector3.inplaceNormalize


inplaceInverse()

inplaceInverse(): ObservableVector3

Defined in: libs/base/src/math/vector.ts:781

Inverse this vector inplace.

Returns

ObservableVector3

self

Inherited from

Vector3.inplaceInverse


inplaceMin()

inplaceMin(other): ObservableVector3

Defined in: libs/base/src/math/vector.ts:790

Set the component values to the minimum of this vector and another vector.

Parameters

other

Vector3

The vector that to be compared with.

Returns

ObservableVector3

self

Inherited from

Vector3.inplaceMin


inplaceMax()

inplaceMax(other): ObservableVector3

Defined in: libs/base/src/math/vector.ts:799

Set the component values to the maximum of this vector and another vector.

Parameters

other

Vector3

The vector that to be compared with.

Returns

ObservableVector3

self

Inherited from

Vector3.inplaceMax


zero()

static zero(): Vector3

Defined in: libs/base/src/math/vector.ts:807

Creates a new Vector3 initialized with zero values.

Returns

Vector3

The new vector

Inherited from

Vector3.zero


one()

static one(): Vector3

Defined in: libs/base/src/math/vector.ts:814

Creates a new Vector3 initialized with one.

Returns

Vector3

The new vector

Inherited from

Vector3.one


axisPX()

static axisPX(): Vector3

Defined in: libs/base/src/math/vector.ts:821

Creates a new Vector3 pointing in the positive direction of the X axis, i.e. vec3(1, 0, 0)

Returns

Vector3

The new vector

Inherited from

Vector3.axisPX


axisNX()

static axisNX(): Vector3

Defined in: libs/base/src/math/vector.ts:828

Creates a new Vector3 pointing in the negative direction of the X axis, i.e. vec3(-1, 0, 0)

Returns

Vector3

The new vector

Inherited from

Vector3.axisNX


axisPY()

static axisPY(): Vector3

Defined in: libs/base/src/math/vector.ts:835

Creates a new Vector3 pointing in the positive direction of the Y axis, i.e. vec3(0, 1, 0)

Returns

Vector3

The new vector

Inherited from

Vector3.axisPY


axisNY()

static axisNY(): Vector3

Defined in: libs/base/src/math/vector.ts:842

Creates a new Vector3 pointing in the negative direction of the Y axis, i.e. vec3(0, -1, 0)

Returns

Vector3

The new vector

Inherited from

Vector3.axisNY


axisPZ()

static axisPZ(): Vector3

Defined in: libs/base/src/math/vector.ts:849

Creates a new Vector3 pointing in the positive direction of the Z axis, i.e. vec3(0, 0, 1)

Returns

Vector3

The new vector

Inherited from

Vector3.axisPZ


axisNZ()

static axisNZ(): Vector3

Defined in: libs/base/src/math/vector.ts:856

Creates a new Vector2 pointing in the negative direction of the Z axis, i.e. vec3(0, 0, -1)

Returns

Vector3

The new vector

Inherited from

Vector3.axisNZ


distance()

static distance(v1, v2): number

Defined in: libs/base/src/math/vector.ts:865

Calculates the distance between two Vector3's.

Parameters

v1

Vector3

The first vector.

v2

Vector3

The second vector.

Returns

number

distance between v1 and v2

Inherited from

Vector3.distance


distanceSq()

static distanceSq(v1, v2): number

Defined in: libs/base/src/math/vector.ts:874

Calculates the squared distance between two Vector3's.

Parameters

v1

Vector3

The first vector.

v2

Vector3

The second vector.

Returns

number

squared distance between v1 and v2

Inherited from

Vector3.distanceSq


normalize()

static normalize(v, result?): Vector3

Defined in: libs/base/src/math/vector.ts:886

Normalize a Vector3

Parameters

v

Vector3

The input vector

result?

Vector3

The output vector (can be the same vector as v). if not specified, a new vector will be created.

Returns

Vector3

The output vector

Inherited from

Vector3.normalize


inverse()

static inverse(v, result?): Vector3

Defined in: libs/base/src/math/vector.ts:899

Inverse a Vector3

Parameters

v

Vector3

The input vector

result?

Vector3

The output vector (can be the same vector as v). if not specified, a new vector will be created.

Returns

Vector3

The output vector

Inherited from

Vector3.inverse


sub()

static sub(a, b, result?): Vector3

Defined in: libs/base/src/math/vector.ts:912

Subtract two Vector3's.

Parameters

a

Vector3

The first operand.

b

Vector3

The second operand.

result?

Vector3

The output vector (can be the same vector as a or b). if not specified, a new vector will be created.

Returns

Vector3

The output vector

Inherited from

Vector3.sub


add()

static add(a, b, result?): Vector3

Defined in: libs/base/src/math/vector.ts:925

Add two Vector3's.

Parameters

a

Vector3

The first operand.

b

Vector3

The second operand.

result?

Vector3

The output vector (can be the same vector as a or b). if not specified, a new vector will be created.

Returns

Vector3

The output vector

Inherited from

Vector3.add


combine()

static combine(a, b, t0, t1, result?): Vector3

Defined in: libs/base/src/math/vector.ts:940

Combine two Vector3's.

Parameters

a

Vector3

The first operand.

b

Vector3

The second operand.

t0

number

Scale factor for the first operand

t1

number

Scale factor for the second operand

result?

Vector3

The output vector (can be the same vector as a or b). if not specified, a new vector will be created.

Returns

Vector3

The output vector

Inherited from

Vector3.combine


lerp()

static lerp(a, b, t, result?): Vector3

Defined in: libs/base/src/math/vector.ts:954

Linearly interpolate between two Vector3's.

Parameters

a

Vector3

The first operand.

b

Vector3

The second operand.

t

number

The interpolation factor. The result is equal to a when t = 0 and equal to b when t = 1.

result?

Vector3

The output vector (can be the same vector as a or b). if not specified, a new vector will be created.

Returns

Vector3

The output vector

Inherited from

Vector3.lerp


mul()

static mul(a, b, result?): Vector3

Defined in: libs/base/src/math/vector.ts:967

Multiply two Vector3's.

Parameters

a

Vector3

The first operand.

b

Vector3

The second operand.

result?

Vector3

The output vector (can be the same vector as a or b). if not specified, a new vector will be created.

Returns

Vector3

The output vector

Inherited from

Vector3.mul


div()

static div(a, b, result?): Vector3

Defined in: libs/base/src/math/vector.ts:980

Divide two Vector3's.

Parameters

a

Vector3

The first operand.

b

Vector3

The second operand.

result?

Vector3

The output vector (can be the same vector as a or b). if not specified, a new vector will be created.

Returns

Vector3

The output vector

Inherited from

Vector3.div


scale()

static scale(a, b, result?): Vector3

Defined in: libs/base/src/math/vector.ts:993

Scale a Vector3 by a scalar number.

Parameters

a

Vector3

The vector to be scaled.

b

number

The scalar number.

result?

Vector3

The output vector (can be the same vector as a). if not specified, a new vector will be created.

Returns

Vector3

The output vector

Inherited from

Vector3.scale


min()

static min(a, b, result?): Vector3

Defined in: libs/base/src/math/vector.ts:1006

Calculates the minimum of two Vector3's.

Parameters

a

Vector3

The first operand.

b

Vector3

The second operand.

result?

Vector3

The output vector (can be the same vector as a or b). if not specified, a new vector will be created.

Returns

Vector3

The output vector

Inherited from

Vector3.min


max()

static max(a, b, result?): Vector3

Defined in: libs/base/src/math/vector.ts:1019

Calculates the maximum of two Vector3's.

Parameters

a

Vector3

The first operand.

b

Vector3

The second operand.

result?

Vector3

The output vector (can be the same vector as a or b). if not specified, a new vector will be created.

Returns

Vector3

The output vector

Inherited from

Vector3.max


abs()

static abs(a, result?): Vector3

Defined in: libs/base/src/math/vector.ts:1031

Calculates the absolute values of a Vector3.

Parameters

a

Vector3

The input vector.

result?

Vector3

The output vector (can be the same vector as a or b). if not specified, a new vector will be created.

Returns

Vector3

The output vector

Inherited from

Vector3.abs


dot()

static dot(a, b): number

Defined in: libs/base/src/math/vector.ts:1043

Calculates the dot product of two Vector3's.

Parameters

a

Vector3

The first operand.

b

Vector3

The second operand.

Returns

number

dot product of a and b

Inherited from

Vector3.dot


cross()

static cross(a, b, result?): Vector3

Defined in: libs/base/src/math/vector.ts:1052

Calculates the cross product of two Vector3's.

Parameters

a

Vector3

The first operand.

b

Vector3

The second operand.

result?

Vector3

Returns

Vector3

the cross product of the two vectors.

Inherited from

Vector3.cross


angleBetween()

static angleBetween(a, b): number

Defined in: libs/base/src/math/vector.ts:1064

Calculates the angle between two Vector3's.

Parameters

a

Vector3

The first operand.

b

Vector3

The second operand.

Returns

number

the angle between the two vectors in radians

Inherited from

Vector3.angleBetween


setCallback()

setCallback(cb): ObservableVector3

Defined in: libs/base/src/math/vector.ts:1089

Set callback

Parameters

cb

() => void

Returns

ObservableVector3


setXYZ()

setXYZ(x, y, z): ObservableVector3

Defined in: libs/base/src/math/vector.ts:1135

Set component values.

Parameters

x

number

The x component value.

y

number

The y component value.

z

number

The z component value.

Returns

ObservableVector3

self

Overrides

Vector3.setXYZ


copyWithin()

copyWithin(target, start, end?): ObservableVector3

Defined in: libs/base/src/math/vector.ts:1148

Inherited from Float32Array.copyWithin

Parameters

target

number

start

number

end?

number

Returns

ObservableVector3

Overrides

Vector3.copyWithin


fill()

fill(value, start?, end?): ObservableVector3

Defined in: libs/base/src/math/vector.ts:1156

Inherited from Float32Array.fill

Parameters

value

number

start?

number

end?

number

Returns

ObservableVector3

Overrides

Vector3.fill


reverse()

reverse(): ObservableVector3

Defined in: libs/base/src/math/vector.ts:1164

Inherited from Float32Array.reverse

Returns

ObservableVector3

Overrides

Vector3.reverse


set()

set(array, offset?): void

Defined in: libs/base/src/math/vector.ts:1172

Inherited from Float32Array.set

Parameters

array

ArrayLike<number>

offset?

number

Returns

void

Overrides

Vector3.set


sort()

sort(compareFn?): ObservableVector3

Defined in: libs/base/src/math/vector.ts:1179

Inherited from Float32Array.sort

Parameters

compareFn?

(a, b) => number

Returns

ObservableVector3

Overrides

Vector3.sort

Released under the MIT License.