Skip to content

Documentation / base / ObservableVector2

Class: ObservableVector2

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

Observable 2 dimentional vector

Extends

Indexable

[index: number]: number

Constructors

Constructor

new ObservableVector2(x, y): ObservableVector2

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

Creates a new Vector2 initialized with values.

Parameters

x

number

The x component.

y

number

The y component.

Returns

ObservableVector2

Inherited from

Vector2.constructor

Constructor

new ObservableVector2(elements): ObservableVector2

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

Creates a new Vector2 initialized with values in an array.

Parameters

elements

number[]

Array that contains the x, y values.

Returns

ObservableVector2

Inherited from

Vector2.constructor

Constructor

new ObservableVector2(array): ObservableVector2

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

Creates a new Vector2 initialized with values in a Float32Array.

Parameters

array

Float32Array<ArrayBuffer>

Float32Array object that contains the x, y values.

Returns

ObservableVector2

Inherited from

Vector2.constructor

Constructor

new ObservableVector2(buffer, offset): ObservableVector2

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

Creates a new Vector2 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

ObservableVector2

Inherited from

Vector2.constructor

Constructor

new ObservableVector2(): ObservableVector2

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

Creates a new Vector2 filled with zero values.

Returns

ObservableVector2

Inherited from

Vector2.constructor

Accessors

magnitude

Get Signature

get magnitude(): number

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

Get the length of the vector.

Returns

number

Inherited from

Vector2.magnitude


magnitudeSq

Get Signature

get magnitudeSq(): number

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

Get the squared length of the vector.

Returns

number

Inherited from

Vector2.magnitudeSq


callback

Get Signature

get callback(): () => void

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

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:506

Parameters
cb

() => void

Returns

void


x

Get Signature

get x(): number

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

Get the x component value.

Returns

number

Set Signature

set x(val): void

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

Get the x component value.

Parameters
val

number

Returns

void

Overrides

Vector2.x


y

Get Signature

get y(): number

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

Get the y component value.

Returns

number

Set Signature

set y(val): void

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

Get the y component value.

Parameters
val

number

Returns

void

Overrides

Vector2.y

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

Vector2.equalsTo


toString()

toString(): string

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

Convert this to string object.

Returns

string

Inherited from

Vector2.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

Vector2.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

Vector2.setRandom


clone()

clone(): Vector2

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

Creates a new Vector2 initialized with values from this vector.

Returns

Vector2

The new Vector2.

Inherited from

Vector2.clone


setAndNormalize()

setAndNormalize(x, y): ObservableVector2

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

Set component values and then normalize the vector.

Parameters

x

number

The x component value.

y

number

The y component value.

Returns

ObservableVector2

self

Inherited from

Vector2.setAndNormalize


subBy()

subBy(other): ObservableVector2

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

Subtract a vector from this vector.

Parameters

other

Vector2

The vector that will be subtract.

Returns

ObservableVector2

self

Inherited from

Vector2.subBy


addBy()

addBy(other): ObservableVector2

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

Add a vector to this vector.

Parameters

other

Vector2

The vector that will be added.

Returns

ObservableVector2

self

Inherited from

Vector2.addBy


combineBy()

combineBy(other, t0, t1): ObservableVector2

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

Combine a vector to this vector.

Parameters

other

Vector2

The vector that will be added.

t0

number

Scale factor for this vector

t1

number

Scale factor for other vector

Returns

ObservableVector2

self

Inherited from

Vector2.combineBy


mulBy()

mulBy(other): ObservableVector2

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

Multiply this vector by a vector.

Parameters

other

Vector2

The vector that will be multiplied by.

Returns

ObservableVector2

self

Inherited from

Vector2.mulBy


divBy()

divBy(other): ObservableVector2

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

Divide this vector by a vector.

Parameters

other

Vector2

The vector that will be divide by.

Returns

ObservableVector2

self

Inherited from

Vector2.divBy


scaleBy()

scaleBy(f): ObservableVector2

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

Scale this vector by a scalar number.

Parameters

f

number

amount to scale this vector by.

Returns

ObservableVector2

self

Inherited from

Vector2.scaleBy


inplaceNormalize()

inplaceNormalize(): ObservableVector2

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

Normalize this vector inplace.

Returns

ObservableVector2

self

Inherited from

Vector2.inplaceNormalize


inplaceInverse()

inplaceInverse(): ObservableVector2

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

Inverse this vector inplace.

Returns

ObservableVector2

self

Inherited from

Vector2.inplaceInverse


inplaceMin()

inplaceMin(other): ObservableVector2

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

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

Parameters

other

Vector2

The vector that to be compared with.

Returns

ObservableVector2

self

Inherited from

Vector2.inplaceMin


inplaceMax()

inplaceMax(other): ObservableVector2

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

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

Parameters

other

Vector2

The vector that to be compared with.

Returns

ObservableVector2

self

Inherited from

Vector2.inplaceMax


zero()

static zero(): Vector2

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

Creates a new Vector2 initialized with zero values.

Returns

Vector2

The new vector

Inherited from

Vector2.zero


one()

static one(): Vector2

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

Creates a new Vector2 initialized with one.

Returns

Vector2

The new vector

Inherited from

Vector2.one


axisPX()

static axisPX(): Vector2

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

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

Returns

Vector2

The new vector

Inherited from

Vector2.axisPX


axisNX()

static axisNX(): Vector2

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

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

Returns

Vector2

The new vector

Inherited from

Vector2.axisNX


axisPY()

static axisPY(): Vector2

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

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

Returns

Vector2

The new vector

Inherited from

Vector2.axisPY


axisNY()

static axisNY(): Vector2

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

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

Returns

Vector2

The new vector

Inherited from

Vector2.axisNY


distance()

static distance(v1, v2): number

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

Calculates the distance between two Vector2's.

Parameters

v1

Vector2

The first vector.

v2

Vector2

The second vector.

Returns

number

distance between v1 and v2

Inherited from

Vector2.distance


distanceSq()

static distanceSq(v1, v2): number

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

Calculates the squared distance between two Vector2's.

Parameters

v1

Vector2

The first vector.

v2

Vector2

The second vector.

Returns

number

squared distance between v1 and v2

Inherited from

Vector2.distanceSq


normalize()

static normalize(v, result?): Vector2

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

Normalize a Vector2

Parameters

v

Vector2

The input vector

result?

Vector2

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

Returns

Vector2

The output vector

Inherited from

Vector2.normalize


inverse()

static inverse(v, result?): Vector2

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

Inverse a Vector2

Parameters

v

Vector2

The input vector

result?

Vector2

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

Returns

Vector2

The output vector

Inherited from

Vector2.inverse


sub()

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

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

Subtract two Vector2's.

Parameters

a

Vector2

The first operand.

b

Vector2

The second operand.

result?

Vector2

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

Returns

Vector2

The output vector

Inherited from

Vector2.sub


add()

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

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

Add two Vector2's.

Parameters

a

Vector2

The first operand.

b

Vector2

The second operand.

result?

Vector2

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

Returns

Vector2

The output vector

Inherited from

Vector2.add


combine()

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

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

Combine two Vector2's.

Parameters

a

Vector2

The first operand.

b

Vector2

The second operand.

t0

number

Scale factor for the first operand

t1

number

Scale factor for the second operand

result?

Vector2

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

Returns

Vector2

The output vector

Inherited from

Vector2.combine


lerp()

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

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

Linearly interpolate between two Vector2's.

Parameters

a

Vector2

The first operand.

b

Vector2

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?

Vector2

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

Returns

Vector2

The output vector

Inherited from

Vector2.lerp


mul()

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

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

Multiply two Vector2's.

Parameters

a

Vector2

The first operand.

b

Vector2

The second operand.

result?

Vector2

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

Returns

Vector2

The output vector

Inherited from

Vector2.mul


div()

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

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

Divide two Vector2's.

Parameters

a

Vector2

The first operand.

b

Vector2

The second operand.

result?

Vector2

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

Returns

Vector2

The output vector

Inherited from

Vector2.div


scale()

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

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

Scale a Vector2 by a scalar number.

Parameters

a

Vector2

The vector to be scaled.

b

number

The scalar number.

result?

Vector2

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

Returns

Vector2

The output vector

Inherited from

Vector2.scale


min()

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

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

Calculates the minimum of two Vector2's.

Parameters

a

Vector2

The first operand.

b

Vector2

The second operand.

result?

Vector2

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

Returns

Vector2

The output vector

Inherited from

Vector2.min


max()

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

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

Calculates the maximum of two Vector2's.

Parameters

a

Vector2

The first operand.

b

Vector2

The second operand.

result?

Vector2

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

Returns

Vector2

The output vector

Inherited from

Vector2.max


abs()

static abs(a, result?): Vector2

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

Calculates the absolute values of a Vector2.

Parameters

a

Vector2

The input vector.

result?

Vector2

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

Returns

Vector2

The output vector

Inherited from

Vector2.abs


dot()

static dot(a, b): number

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

Calculates the dot product of two Vector2's.

Parameters

a

Vector2

The first operand.

b

Vector2

The second operand.

Returns

number

dot product of a and b

Inherited from

Vector2.dot


cross()

static cross(a, b): number

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

Calculates the cross product of two Vector2's.

Parameters

a

Vector2

The first operand.

b

Vector2

The second operand.

Returns

number

z component of the cross product of the two vectors.

Inherited from

Vector2.cross


setCallback()

setCallback(cb): ObservableVector2

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

Set callback

Parameters

cb

() => void

Returns

ObservableVector2


setXY()

setXY(x, y): ObservableVector2

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

Set component values.

Parameters

x

number

The x component value.

y

number

The y component value.

Returns

ObservableVector2

self

Overrides

Vector2.setXY


copyWithin()

copyWithin(target, start, end?): ObservableVector2

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

Inherited from Float32Array.copyWithin

Parameters

target

number

start

number

end?

number

Returns

ObservableVector2

Overrides

Vector2.copyWithin


fill()

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

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

Inherited from Float32Array.fill

Parameters

value

number

start?

number

end?

number

Returns

ObservableVector2

Overrides

Vector2.fill


reverse()

reverse(): ObservableVector2

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

Inherited from Float32Array.reverse

Returns

ObservableVector2

Overrides

Vector2.reverse


set()

set(array, offset?): void

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

Inherited from Float32Array.set

Parameters

array

ArrayLike<number>

offset?

number

Returns

void

Overrides

Vector2.set


sort()

sort(compareFn?): ObservableVector2

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

Inherited from Float32Array.sort

Parameters

compareFn?

(a, b) => number

Returns

ObservableVector2

Overrides

Vector2.sort

Released under the MIT License.