Options
All
  • Public
  • Public/Protected
  • All
Menu

Class Vector2

Vector2 class with x and y component. Can also be used as an array with two indices, i.e. using [0] and [1].

class
alias

Vector2

Hierarchy

  • Vector2

Indexable

[index: number]: number

Declare that Vector2 will have numeric properties.

Index

Constructors

constructor

  • new Vector2(x: number, y: number): Vector2
  • new Vector2(vector: VectorLike): Vector2
  • new Vector2(...nums: number[]): Vector2
  • Construct a new Vector2.

    Parameters

    • x: number

      Initial x component of vector

    • y: number

      Initial y component of vector

    Returns Vector2

  • Construct a new Vector2 using component from another vector.

    Parameters

    • vector: VectorLike

    Returns Vector2

  • Construct a new Vector2.

    Parameters

    • Rest ...nums: number[]

      A series of numbers

    Returns Vector2

Properties

length

length: number = 2

Length variable to use vector as array.

mutate

mutate: boolean = false

Does the vector mutate?

Accessors

immutable

  • Set immutable and return reference to self.

    Returns Vector2

    Reference to self

magnitude

  • get magnitude(): number
  • set magnitude(val: number): void
  • Magnitude of vector.

    Returns number

  • Magnitude of vector.

    Parameters

    • val: number

    Returns void

mutable

  • Set mutable and return reference to self.

    Returns Vector2

    Reference to self

x

  • get x(): number
  • set x(value: number): void
  • Alternative getter/setter for x component.

    Returns number

  • Alternative getter/setter for x component.

    Parameters

    • value: number

    Returns void

y

  • get y(): number
  • set y(value: number): void
  • Alternative getter/setter for y component.

    Returns number

  • Alternative getter/setter for y component.

    Parameters

    • value: number

    Returns void

Static down

Static left

Static negativeInfinity

Static one

Static positiveInfinity

Static right

Static up

Static zero

Methods

__@iterator

  • __@iterator(): object
  • Returns object

    • next: function
      • next(): object
      • Returns object

        • done: boolean
        • value: number

add

  • Add values of given vector to target vector.

    Parameters

    • x: number

      X component to add

    • y: number

      Y component to add

    Returns Vector2

    Resulting vector

  • Add values of given vector to target vector.

    Parameters

    • vector: VectorLike

      Vector to add

    Returns Vector2

    Resulting vector

clampMagnitude

  • clampMagnitude(n: number): Vector2
  • Ensures that the magnitude of the vector does not exceed a given length.

    Parameters

    • n: number

      Numeric value

    Returns Vector2

    Resulting vector

clone

  • Creates a new vector with identical values. Mutable state is not transferred.

    Returns Vector2

    Clone of vector

isZeroVector

  • isZeroVector(epsilon?: number): boolean
  • Returns true if x and y is zero, otherwise returns false.

    Parameters

    • Default value epsilon: number = 0

      Accepted deviation from 0.00 (Default: 0)

    Returns boolean

    — Is target zero vector?

modify

  • modify(modifier: function): Vector2
  • [Mutation] Modifies both the x and y-component of a vector using a given function.

    Parameters

    • modifier: function

      Function used to modify

        • (d: number): number
        • Parameters

          • d: number

          Returns number

    Returns Vector2

    Reference to vector

normalize

  • [Mutation] Normalizes the vector.

    Returns Vector2

    Reference to vector

normalized

rescale

  • Rescale the vector to given length.

    Parameters

    • n: number

      Numeric value

    Returns Vector2

    Resulting vector

rotate

  • Rotate the vector by specified amount of radians. Positive rotation is counter-clockwise.

    Parameters

    • rad: number

      Radians to rotate

    Returns Vector2

    Resulting vector

rotate180

  • Rotate the vector counter-clockwise by an amount of 180 degrees. Resulting vector is opposite of original.

    Returns Vector2

    Resulting vector

rotate270

  • Rotate the vector counter-clockwise by an amount of 270 degrees. Resulting vector is perpendicular to the original.

    Returns Vector2

    Resulting vector

rotate90

  • Rotate the vector counter-clockwise by an amount of 90 degrees. Resulting vector is perpendicular to the original.

    Returns Vector2

    Resulting vector

rotateDeg

  • Rotate the vector by specified amount of degrees. Positive rotation is counter-clockwise.

    Parameters

    • deg: number

    Returns Vector2

    Resulting vector

scale

  • Scale vector by a numeric value.

    Parameters

    • n: number

      Numeric value

    Returns Vector2

    Resulting vector

set

  • [Mutation] Set both components of vector.

    Parameters

    • x: number

      New x component of vector

    • y: number

      New y component of vector

    Returns Vector2

    Reference to self

  • [Mutation] Set both components of vector.

    Parameters

    • vector: VectorLike

      Vector-like object with values on the format: [ x, y ]

    Returns Vector2

    Reference to self

sub

  • Subtract from vector.

    Parameters

    • x: number

      X component to subtract

    • y: number

      Y component to subtract

    Returns Vector2

    Resulting vector

  • Subtract from vector.

    Parameters

    • vector: VectorLike

      Vector to subtract

    Returns Vector2

    Resulting vector

subFrom

  • subFrom(x: number, y: number): Vector2
  • subFrom(vector: VectorLike): Vector2
  • target - this

    Subtract this vector from given vector.

    Parameters

    • x: number

      X component to subtract from

    • y: number

      Y component to subtract from

    Returns Vector2

    Resulting vector

  • target - this

    Subtract this vector from given vector.

    Parameters

    • vector: VectorLike

      Vector to to subtract from

    Returns Vector2

    Resulting vector

toArray

  • toArray(): [number, number]
  • Create an array from the vector.

    Returns [number, number]

    Array on the format: [ x, y ]

Static add

  • add(a: VectorLike, b: VectorLike): Vector2
  • a + b

    Add two values together.

    static

    Parameters

    • a: VectorLike

      Left operand

    • b: VectorLike

      Right operand

    Returns Vector2

    Resulting vector

Static angle

  • angle(a: VectorLike, b: VectorLike): number
  • Get angle (in radians) between two vectors.

    Parameters

    • a: VectorLike

      First vector

    • b: VectorLike

      Second vector

    Returns number

    Angle in radians

Static angleDeg

  • angleDeg(a: VectorLike, b: VectorLike): number
  • Get angle (in degrees) between two vectors.

    Parameters

    • a: VectorLike

      First vector

    • b: VectorLike

      Second vector

    Returns number

    Angle in degrees

Static angleRight

  • angleRight(v: VectorLike): number
  • Get angle (in radians) between vector and [1, 0].

    Parameters

    • v: VectorLike

      Target vector

    Returns number

    Angle in radians

Static angleRightDeg

  • angleRightDeg(v: VectorLike): number
  • Get angle (in degrees) between vector and [1, 0].

    Parameters

    • v: VectorLike

      Target vector

    Returns number

    Angle in degrees

Static cross

  • cross(a: VectorLike, b: VectorLike): number
  • Get cross product between two vectors.

    Parameters

    • a: VectorLike

      First vector

    • b: VectorLike

      Second vector

    Returns number

    Cross product

Static distance

  • distance(a: VectorLike, b: VectorLike): number
  • Get distance between two positions.

    Parameters

    • a: VectorLike

      First position

    • b: VectorLike

      Second position

    Returns number

    Distance between positions

Static divide

  • divide(v: VectorLike, n: number): Vector2
  • v / n

    Divide vector by a numeric value.

    Parameters

    • v: VectorLike

      Vector to divide

    • n: number

      Numeric value

    Returns Vector2

    Resulting vector

Static dot

  • dot(a: VectorLike, b: VectorLike): number
  • Get dot product between two vectors.

    Parameters

    • a: VectorLike

      First vector

    • b: VectorLike

      Second vector

    Returns number

    Dot product

Static lerp

  • lerp(a: VectorLike, b: VectorLike, t: number): Vector2
  • Interpolate between two positions with given value n.

    Parameters

    • a: VectorLike

      Position to interpolate from

    • b: VectorLike

      Position to interpolate to

    • t: number

      Value between 0 - 1 used for interpolation

    Returns Vector2

    Interpolated position

Static lerpRot

  • lerpRot(a: VectorLike, b: VectorLike, t: number): Vector2
  • Rotates a vector, v1, towards a second vector, v2, based on a factor, n.

    Parameters

    • a: VectorLike

      Vector to interpolate from

    • b: VectorLike

      Vector to interpolate to

    • t: number

      Value between 0 - 1 used for interpolation

    Returns Vector2

    Interpolated vector

Static multiply

  • multiply(v: VectorLike, n: number): Vector2
  • v * n

    Multiply vector by a numeric value.

    Parameters

    • v: VectorLike

      Vector to multiply

    • n: number

      Numeric value

    Returns Vector2

    Resulting vector

Static signedAngle

  • signedAngle(a: VectorLike, b: VectorLike): number
  • Get signed angle (in radians) between two vectors.

    Parameters

    • a: VectorLike

      First vector

    • b: VectorLike

      Second vector

    Returns number

    Signed angle in radians

Static signedAngleDeg

  • signedAngleDeg(a: VectorLike, b: VectorLike): number
  • Get signed angle (in degrees) between two vectors.

    Parameters

    • a: VectorLike

      First vector

    • b: VectorLike

      Second vector

    Returns number

    Signed angle in degrees

Static sub

  • sub(a: VectorLike, b: VectorLike): Vector2
  • a - b

    Subtract second vector from first vector.

    Parameters

    • a: VectorLike

      Left operand

    • b: VectorLike

      Right operand

    Returns Vector2

    Resulting vector

Generated using TypeDoc