# # SceneScript Class Vec2

Utility class which holds a 2 dimensional value pair: `x`

and `y`

.

## # Properties

### # x: Number

Value of first component.

### # y: Number

Value of second component.

## # Constructors

### # constructor(x: Number, y: Number): Vec2

Constructor that sets x and y respectively.

### # constructor(): Vec2

Empty constructor sets all components to 0.

### # constructor(value: Number): Vec2

Sets both x and y members to parameter value.

### # constructor(value: String): Vec2

Will parse the first two numbers from the string and set x and y respectively.

### # constructor(value: Vec3): Vec2

Will use x and y from value and set members respectively.

## # Functions

### # length(): Number

Returns length of the vector.

### # lengthSqr(): Number

Returns squared length of the vector. This is more efficient, so if you only need a binary comparison, use this.

### # normalize(): Vec2

Normalizes the vector and returns the result as a new object.

### # copy(): Vec2

Makes a copy.

### # add(value: Number|Vec2): Vec2

Adds parameter to both components and returns result as a new object.

### # subtract(value: Number|Vec2): Vec2

Subtracts parameter to both components and returns result as a new object.

### # multiply(value: Number|Vec2): Vec2

Multiplies both components with parameter and returns result as a new object.

### # divide(value: Number|Vec2): Vec2

Divides both components by parameter and returns result as a new object. Does not check for zero division.

### # dot(value: Vec2): Number

Computes dot product with vector value.

### # reflect(normal: Vec2): Vec2

Returns reflection vector along normal. Make sure that normal is normalized.

### # perpendicular(): Vec2

Returns perpendicular copy of the vector.

### # toString(): String

Concatenates components with a space in-between so that it can also be parsed again.