API Reference

Class List

pc.Vec2

A 2-dimensional vector.

var v = new pc.Vec2(1, 2);

Summary

Static Properties

ONEA constant vector set to [1, 1].[read only]
RIGHTA constant vector set to [1, 0].[read only]
UPA constant vector set to [0, 1].[read only]
ZEROA constant vector set to [0, 0].[read only]

Properties

xThe first element of the vector.
yThe second element of the vector.

Methods

addAdds a 2-dimensional vector to another in place.
add2Adds two 2-dimensional vectors together and returns the result.
cloneReturns an identical copy of the specified 2-dimensional vector.
copyCopied the contents of a source 2-dimensional vector to a destination 2-dimensional vector.
dotReturns the result of a dot product operation performed on the two specified 2-dimensional vectors.
equalsReports whether two vectors are equal.
lengthReturns the magnitude of the specified 2-dimensional vector.
lengthSqReturns the magnitude squared of the specified 2-dimensional vector.
lerpReturns the result of a linear interpolation between two specified 2-dimensional vectors.
mulMultiplies a 2-dimensional vector to another in place.
mul2Returns the result of multiplying the specified 2-dimensional vectors together.
normalizeReturns the specified 2-dimensional vector copied and converted to a unit vector.
scaleScales each component of the specified 2-dimensional vector by the supplied scalar value.
setSets the specified 2-dimensional vector to the supplied numerical values.
subSubtracts a 2-dimensional vector from another in place.
sub2Subtracts two 2-dimensional vectors from one another and returns the result.
toStringConverts the vector to string form.

Details

Static Properties

ONEA constant vector set to [1, 1].[read only]
A constant vector set to [1, 0].[read only]
UPA constant vector set to [0, 1].[read only]
ZEROA constant vector set to [0, 0].[read only]

Constructor

Vec2([x], [y])

Creates a new Vec2 object.

var v = new pc.Vec2(1, 2);

Parameters

xNumberThe x value. If x is an array of length 2, the array will be used to populate all components.
yNumberThe y value.

Properties

Numberx

The first element of the vector.

var vec = new pc.Vec2(10, 20);

// Get x
var x = vec.x;

// Set x
vec.x = 0;
Numbery

The second element of the vector.

var vec = new pc.Vec2(10, 20);

// Get y
var y = vec.y;

// Set y
vec.y = 0;

Methods

add(rhs)

Adds a 2-dimensional vector to another in place.

var a = new pc.Vec2(10, 10);
var b = new pc.Vec2(20, 20);

a.add(b);

// Should output [30, 30]
console.log("The result of the addition is: " + a.toString());

Parameters

rhspc.Vec2The vector to add to the specified vector.

Returns

pc.Vec2 Self for chaining.

add2(lhs, rhs)

Adds two 2-dimensional vectors together and returns the result.

var a = new pc.Vec2(10, 10);
var b = new pc.Vec2(20, 20);
var r = new pc.Vec2();

r.add2(a, b);
// Should output [30, 30]

console.log("The result of the addition is: " + r.toString());

Parameters

lhspc.Vec2The first vector operand for the addition.
rhspc.Vec2The second vector operand for the addition.

Returns

pc.Vec2 Self for chaining.

clone()

Returns an identical copy of the specified 2-dimensional vector.

var v = new pc.Vec2(10, 20);
var vclone = v.clone();
console.log("The result of the cloning is: " + vclone.toString());

Returns

pc.Vec2 A 2-dimensional vector containing the result of the cloning.

copy(rhs)

Copied the contents of a source 2-dimensional vector to a destination 2-dimensional vector.

var src = new pc.Vec2(10, 20);
var dst = new pc.Vec2();

dst.copy(src);

console.log("The two vectors are " + (dst.equals(src) ? "equal" : "different"));

Parameters

rhspc.Vec2A vector to copy to the specified vector.

Returns

pc.Vec2 Self for chaining.

dot(rhs)

Returns the result of a dot product operation performed on the two specified 2-dimensional vectors.

var v1 = new pc.Vec2(5, 10);
var v2 = new pc.Vec2(10, 20);
var v1dotv2 = v1.dot(v2);
console.log("The result of the dot product is: " + v1dotv2);

Parameters

rhspc.Vec2The second 2-dimensional vector operand of the dot product.

Returns

Number The result of the dot product operation.

equals(rhs)

Reports whether two vectors are equal.

var a = new pc.Vec2(1, 2);
var b = new pc.Vec2(4, 5);
console.log("The two vectors are " + (a.equals(b) ? "equal" : "different"));

Parameters

rhspc.Vec2The vector to compare to the specified vector.

Returns

Boolean true if the vectors are equal and false otherwise.

length()

Returns the magnitude of the specified 2-dimensional vector.

var vec = new pc.Vec2(3, 4);
var len = vec.length();
// Should output 5
console.log("The length of the vector is: " + len);

Returns

Number The magnitude of the specified 2-dimensional vector.

lengthSq()

Returns the magnitude squared of the specified 2-dimensional vector.

var vec = new pc.Vec2(3, 4);
var len = vec.lengthSq();
// Should output 25
console.log("The length squared of the vector is: " + len);

Returns

Number The magnitude of the specified 2-dimensional vector.

lerp(lhs, rhs, alpha)

Returns the result of a linear interpolation between two specified 2-dimensional vectors.

var a = new pc.Vec2(0, 0);
var b = new pc.Vec2(10, 10);
var r = new pc.Vec2();

r.lerp(a, b, 0);   // r is equal to a
r.lerp(a, b, 0.5); // r is 5, 5
r.lerp(a, b, 1);   // r is equal to b

Parameters

lhspc.Vec2The 2-dimensional to interpolate from.
rhspc.Vec2The 2-dimensional to interpolate to.
alphaNumberThe value controlling the point of interpolation. Between 0 and 1, the linear interpolant will occur on a straight line between lhs and rhs. Outside of this range, the linear interpolant will occur on a ray extrapolated from this line.

Returns

pc.Vec2 Self for chaining.

mul(rhs)

Multiplies a 2-dimensional vector to another in place.

var a = new pc.Vec2(2, 3);
var b = new pc.Vec2(4, 5);

a.mul(b);

// Should output 8, 15
console.log("The result of the multiplication is: " + a.toString());

Parameters

rhspc.Vec2The 2-dimensional vector used as the second multiplicand of the operation.

Returns

pc.Vec2 Self for chaining.

mul2(lhs, rhs)

Returns the result of multiplying the specified 2-dimensional vectors together.

var a = new pc.Vec2(2, 3);
var b = new pc.Vec2(4, 5);
var r = new pc.Vec2();

r.mul2(a, b);

// Should output 8, 15
console.log("The result of the multiplication is: " + r.toString());

Parameters

lhspc.Vec2The 2-dimensional vector used as the first multiplicand of the operation.
rhspc.Vec2The 2-dimensional vector used as the second multiplicand of the operation.

Returns

pc.Vec2 Self for chaining.

normalize()

Returns the specified 2-dimensional vector copied and converted to a unit vector. If the vector has a length of zero, the vector's elements will be set to zero.

var v = new pc.Vec2(25, 0);

v.normalize();

// Should output 1, 0
console.log("The result of the vector normalization is: " + v.toString());

Returns

pc.Vec2 Self for chaining.

scale(scalar)

Scales each component of the specified 2-dimensional vector by the supplied scalar value.

var v = new pc.Vec2(2, 4);

// Multiply by 2
v.scale(2);

// Negate
v.scale(-1);

// Divide by 2
v.scale(0.5);

Parameters

scalarNumberThe value by which each vector component is multiplied.

Returns

pc.Vec2 Self for chaining.

set(x, y)

Sets the specified 2-dimensional vector to the supplied numerical values.

var v = new pc.Vec2();
v.set(5, 10);

// Should output 5, 10
console.log("The result of the vector set is: " + v.toString());

Parameters

xNumberThe value to set on the first component of the vector.
yNumberThe value to set on the second component of the vector.

Returns

pc.Vec2 Self for chaining.

sub(rhs)

Subtracts a 2-dimensional vector from another in place.

var a = new pc.Vec2(10, 10);
var b = new pc.Vec2(20, 20);

a.sub(b);

// Should output [-10, -10]
console.log("The result of the addition is: " + a.toString());

Parameters

rhspc.Vec2The vector to add to the specified vector.

Returns

pc.Vec2 Self for chaining.

sub2(lhs, rhs)

Subtracts two 2-dimensional vectors from one another and returns the result.

var a = new pc.Vec2(10, 10);
var b = new pc.Vec2(20, 20);
var r = new pc.Vec2();

r.sub2(a, b);

// Should output [-10, -10]
console.log("The result of the addition is: " + r.toString());

Parameters

lhspc.Vec2The first vector operand for the addition.
rhspc.Vec2The second vector operand for the addition.

Returns

pc.Vec2 Self for chaining.

toString()

Converts the vector to string form.

var v = new pc.Vec2(20, 10);
// Should output '[20, 10]'
console.log(v.toString());

Returns

String The vector in string form.