[gs-longan](../README.md) / Vector2

# Class: Vector2

## Implements

- `IVector2Like`

## Table of contents

### Constructors

- [constructor](Vector2.md#constructor)

### Properties

- [\_data](Vector2.md#_data)

### Accessors

- [data](Vector2.md#data)
- [x](Vector2.md#x)
- [y](Vector2.md#y)

### Methods

- [add](Vector2.md#add)
- [clone](Vector2.md#clone)
- [dot](Vector2.md#dot)
- [equals](Vector2.md#equals)
- [length](Vector2.md#length)
- [lengthSquared](Vector2.md#lengthsquared)
- [normalize](Vector2.md#normalize)
- [scale](Vector2.md#scale)
- [scaleAndAdd](Vector2.md#scaleandadd)
- [scaleFrom](Vector2.md#scalefrom)
- [set](Vector2.md#set)
- [setAll](Vector2.md#setall)
- [subtract](Vector2.md#subtract)
- [subtractFrom](Vector2.md#subtractfrom)
- [FromArray](Vector2.md#fromarray)
- [Hermite](Vector2.md#hermite)
- [Lerp](Vector2.md#lerp)
- [One](Vector2.md#one)
- [Zero](Vector2.md#zero)

## Constructors

### constructor

• **new Vector2**(`x?`, `y?`): [`Vector2`](Vector2.md)

#### Parameters

| Name | Type |
| :------ | :------ |
| `x?` | `number` |
| `y?` | `number` |

#### Returns

[`Vector2`](Vector2.md)

## Properties

### \_data

• **\_data**: `number`[]

## Accessors

### data

• `get` **data**(): `number`[]

#### Returns

`number`[]

#### Implementation of

IVector2Like.data

___

### x

• `get` **x**(): `number`

#### Returns

`number`

#### Implementation of

IVector2Like.x

• `set` **x**(`value`): `void`

#### Parameters

| Name | Type |
| :------ | :------ |
| `value` | `number` |

#### Returns

`void`

#### Implementation of

IVector2Like.x

___

### y

• `get` **y**(): `number`

#### Returns

`number`

#### Implementation of

IVector2Like.y

• `set` **y**(`value`): `void`

#### Parameters

| Name | Type |
| :------ | :------ |
| `value` | `number` |

#### Returns

`void`

#### Implementation of

IVector2Like.y

## Methods

### add

▸ **add**(`vector`): [`Vector2`](Vector2.md)

#### Parameters

| Name | Type |
| :------ | :------ |
| `vector` | `IVector2Like` |

#### Returns

[`Vector2`](Vector2.md)

___

### clone

▸ **clone**(): [`Vector2`](Vector2.md)

#### Returns

[`Vector2`](Vector2.md)

___

### dot

▸ **dot**(`vector`): `number`

Gets the dot product of the current vector and the vector "vector"

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `vector` | `IVector2Like` | defines second vector |

#### Returns

`number`

the dot product (float)

___

### equals

▸ **equals**(`vector`): `boolean`

#### Parameters

| Name | Type |
| :------ | :------ |
| `vector` | [`Vector2`](Vector2.md) |

#### Returns

`boolean`

___

### length

▸ **length**(): `number`

Gets the length of the Vector2
Example Playground https://playground.babylonjs.com/#R1F8YU#25

#### Returns

`number`

the length of the Vector2

___

### lengthSquared

▸ **lengthSquared**(): `number`

Gets the vector squared length

#### Returns

`number`

the vector squared length (float)

___

### normalize

▸ **normalize**(): `this`

#### Returns

`this`

___

### scale

▸ **scale**(`scale`): [`Vector2`](Vector2.md)

#### Parameters

| Name | Type |
| :------ | :------ |
| `scale` | `number` |

#### Returns

[`Vector2`](Vector2.md)

___

### scaleAndAdd

▸ **scaleAndAdd**(`scale`): [`Vector2`](Vector2.md)

#### Parameters

| Name | Type |
| :------ | :------ |
| `scale` | `number` |

#### Returns

[`Vector2`](Vector2.md)

___

### scaleFrom

▸ **scaleFrom**(`scale`): `this`

#### Parameters

| Name | Type |
| :------ | :------ |
| `scale` | `number` |

#### Returns

`this`

___

### set

▸ **set**(`x`, `y`, `z`): `void`

#### Parameters

| Name | Type |
| :------ | :------ |
| `x` | `number` |
| `y` | `number` |
| `z` | `number` |

#### Returns

`void`

___

### setAll

▸ **setAll**(`v`): `this`

#### Parameters

| Name | Type |
| :------ | :------ |
| `v` | `number` |

#### Returns

`this`

___

### subtract

▸ **subtract**(`vector`): [`Vector2`](Vector2.md)

#### Parameters

| Name | Type |
| :------ | :------ |
| `vector` | [`Vector2`](Vector2.md) |

#### Returns

[`Vector2`](Vector2.md)

___

### subtractFrom

▸ **subtractFrom**(`vector`): `this`

#### Parameters

| Name | Type |
| :------ | :------ |
| `vector` | `IVector2Like` |

#### Returns

`this`

___

### FromArray

▸ **FromArray**(`array`, `offset?`): [`Vector2`](Vector2.md)

#### Parameters

| Name | Type | Default value |
| :------ | :------ | :------ |
| `array` | `ArrayLike`\<`number`\> | `undefined` |
| `offset` | `number` | `0` |

#### Returns

[`Vector2`](Vector2.md)

___

### Hermite

▸ **Hermite**(`value1`, `tangent1`, `value2`, `tangent2`, `amount`): [`Vector2`](Vector2.md)

#### Parameters

| Name | Type |
| :------ | :------ |
| `value1` | [`Vector2`](Vector2.md) |
| `tangent1` | [`Vector2`](Vector2.md) |
| `value2` | [`Vector2`](Vector2.md) |
| `tangent2` | [`Vector2`](Vector2.md) |
| `amount` | `number` |

#### Returns

[`Vector2`](Vector2.md)

___

### Lerp

▸ **Lerp**(`start`, `end`, `amount`): [`Vector2`](Vector2.md)

#### Parameters

| Name | Type |
| :------ | :------ |
| `start` | [`Vector2`](Vector2.md) |
| `end` | [`Vector2`](Vector2.md) |
| `amount` | `number` |

#### Returns

[`Vector2`](Vector2.md)

___

### One

▸ **One**(): [`Vector2`](Vector2.md)

Returns a new Vector2 set to (1.0, 1.0)

#### Returns

[`Vector2`](Vector2.md)

a new Vector2

___

### Zero

▸ **Zero**(): [`Vector2`](Vector2.md)

Returns a new Vector2 set to (0.0, 0.0)

#### Returns

[`Vector2`](Vector2.md)

a new empty Vector2
