Options
All
• Public
• Public/Protected
• All

# Class Vector

A 2D vector on a plane.

## Constructors

• new Vector(x: number, y: number): Vector
• #### Parameters

• ##### x: number

X component of the Vector

• ##### y: number

Y component of the Vector

_x: number = 0
_y: number = 0

## Accessors

• get size(): number
• set size(newLength: number): void
• The size (magnitude) of the Vector

#### Returns number

• Setting the size mutates the current vector

warning

Can be used to set the size of the vector, be very careful using this, mutating vectors can cause hard to find bugs

#### Returns void

• get x(): number
• set x(val: number): void
• Get the x component of the vector

#### Returns number

• Set the x component, THIS MUTATES the current vector. It is usually better to create a new vector.

warning

Be very careful setting components on shared vectors, mutating shared vectors can cause hard to find bugs

#### Returns void

• get y(): number
• set y(val: number): void
• Get the y component of the vector

#### Returns number

• Set the y component, THIS MUTATES the current vector. It is usually better to create a new vector.

warning

Be very careful setting components on shared vectors, mutating shared vectors can cause hard to find bugs

#### Returns void

• A unit vector pointing down (0, 1)

#### Returns Vector

• A (0.5, 0.5) vector

#### Returns Vector

• A unit vector pointing left (-1, 0)

#### Returns Vector

• A unit vector pointing right (1, 0)

#### Returns Vector

• A unit vector pointing up (0, -1)

## Methods

• Adds one vector to another

#### Parameters

• ##### v: Vector

The vector to add

#### Returns Vector

• Adds one vector to this one modifying the original

warning

Be very careful using this, mutating vectors can cause hard to find bugs

#### Parameters

• ##### v: Vector

The vector to add

#### Returns Vector

• Returns the average (midpoint) between the current point and the specified

#### Returns Vector

• Creates new vector that has the same values as the previous.

#### Returns Vector

• Performs a 2D cross product with scalar. 2D cross products with a scalar return a vector.

#### Parameters

• ##### v: number

The scalar to cross

#### Returns Vector

• Performs a 2D cross product with another vector. 2D cross products return a scalar value not a vector.

#### Parameters

• ##### v: Vector

The vector to cross

#### Returns number

• The distance to another vector. If no other Vector is specified, this will return the [[magnitude]].

#### Parameters

• ##### Optional v: Vector

The other vector. Leave blank to use origin vector.

#### Returns number

• Performs a dot product with another vector

#### Parameters

• ##### v: Vector

The vector to dot

#### Returns number

• equals(vector: Vector, tolerance?: number): boolean
• Compares this point against another and tests for equality

#### Parameters

• ##### vector: Vector

The other point to compare to

• ##### tolerance: number = 0.001

Amount of euclidean distance off we are willing to tolerate

#### Returns boolean

• Negate the current vector

#### Returns Vector

• Returns the normal vector to this one, same as the perpendicular of length 1

#### Returns Vector

• Normalizes a vector to have a magnitude of 1.

#### Returns Vector

• Returns the perpendicular vector to this one

#### Returns Vector

• Rotates the current vector around a point by a certain number of degrees in radians

#### Returns Vector

• Scales a vector's by a factor of size

#### Returns Vector

• scaleEqual(size: number): Vector
• Scales this vector by a factor of size and modifies the original

warning

Be very careful using this, mutating vectors can cause hard to find bugs

#### Returns Vector

• setTo(x: number, y: number): void
• Sets the x and y components at once, THIS MUTATES the current vector. It is usually better to create a new vector.

warning

Be very careful using this, mutating vectors can cause hard to find bugs

#### Returns void

• squareDistance(v?: Vector): number

#### Returns number

• Subtracts a vector from another, if you subtract vector `B.sub(A)` the resulting vector points from A -> B

#### Parameters

• ##### v: Vector

The vector to subtract

#### Returns Vector

• Subtracts a vector from this one modifying the original

warning

Be very careful using this, mutating vectors can cause hard to find bugs

#### Parameters

• ##### v: Vector

The vector to subtract

#### Returns Vector

• toAngle(): number
• Returns the angle of this vector.

#### Returns number

• toString(fixed?: number): string
• Returns a string representation of the vector.

#### Returns Vector

• Calculates distance between two Vectors

#### Returns number

• fromAngle(angle: number): Vector
• Returns a vector of unit length in the direction of the specified angle in Radians.

#### Parameters

• ##### angle: number

The angle to generate the vector

#### Returns Vector

• Checks if vector is not null, undefined, or if any of its components are NaN or Infinity.