API Reference

Class List

pc.Vec4

A 4-dimensional vector.

var v = new pc.Vec4(1, 2, 3, 4);

Summary

Static Properties

ONE

A constant vector set to [1, 1, 1, 1].[read only]

ZERO

A constant vector set to [0, 0, 0, 0].[read only]

Properties

w

The fourth component of the vector.

x

The first component of the vector.

y

The second component of the vector.

z

The third component of the vector.

Methods

add

Adds a 4-dimensional vector to another in place.

add2

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

clone

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

copy

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

dot

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

equals

Reports whether two vectors are equal.

length

Returns the magnitude of the specified 4-dimensional vector.

lengthSq

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

lerp

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

mul

Multiplies a 4-dimensional vector to another in place.

mul2

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

normalize

Returns this 4-dimensional vector converted to a unit vector in place.

scale

Scales each dimension of the specified 4-dimensional vector by the supplied scalar value.

set

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

sub

Subtracts a 4-dimensional vector from another in place.

sub2

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

toString

Converts the vector to string form.

Details

Static Properties

ONE

A constant vector set to [1, 1, 1, 1].

[read only]
ZERO

A constant vector set to [0, 0, 0, 0].

[read only]

Constructor

Vec4([x], [y], [z], [w])

Creates a new Vec4 object.

var v = new pc.Vec4(1, 2, 3, 4);

Parameters

xnumber, number[]

The x value. If x is an array of length 4, the array will be used to populate all components.

ynumber

The y value.

znumber

The z value.

wnumber

The w value.

Properties

numberw

The fourth component of the vector.

var vec = new pc.Vec4(10, 20, 30, 40);

// Get w
var w = vec.w;

// Set w
vec.w = 0;
numberx

The first component of the vector.

var vec = new pc.Vec4(10, 20, 30, 40);

// Get x
var x = vec.x;

// Set x
vec.x = 0;
numbery

The second component of the vector.

var vec = new pc.Vec4(10, 20, 30, 40);

// Get y
var y = vec.y;

// Set y
vec.y = 0;
numberz

The third component of the vector.

var vec = new pc.Vec4(10, 20, 30, 40);

// Get z
var z = vec.z;

// Set z
vec.z = 0;

Methods

add(rhs)

Adds a 4-dimensional vector to another in place.

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

a.add(b);

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

Parameters

rhspc.Vec4

The vector to add to the specified vector.

Returns

pc.Vec4

Self for chaining.

add2(lhs, rhs)

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

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

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

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

Parameters

lhspc.Vec4

The first vector operand for the addition.

rhspc.Vec4

The second vector operand for the addition.

Returns

pc.Vec4

Self for chaining.

clone()

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

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

Returns

pc.Vec4

A 4-dimensional vector containing the result of the cloning.

copy(rhs)

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

var src = new pc.Vec4(10, 20, 30, 40);
var dst = new pc.Vec4();

dst.copy(src);

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

Parameters

rhspc.Vec4

A vector to copy to the specified vector.

Returns

pc.Vec4

Self for chaining.

dot(rhs)

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

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

Parameters

rhspc.Vec4

The second 4-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.Vec4(1, 2, 3, 4);
var b = new pc.Vec4(5, 6, 7, 8);
console.log("The two vectors are " + (a.equals(b) ? "equal" : "different"));

Parameters

rhspc.Vec4

The 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 4-dimensional vector.

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

Returns

number

The magnitude of the specified 4-dimensional vector.

lengthSq()

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

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

Returns

number

The magnitude of the specified 4-dimensional vector.

lerp(lhs, rhs, alpha)

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

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

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

Parameters

lhspc.Vec4

The 4-dimensional to interpolate from.

rhspc.Vec4

The 4-dimensional to interpolate to.

alphanumber

The 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.Vec4

Self for chaining.

mul(rhs)

Multiplies a 4-dimensional vector to another in place.

var a = new pc.Vec4(2, 3, 4, 5);
var b = new pc.Vec4(4, 5, 6, 7);

a.mul(b);

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

Parameters

rhspc.Vec4

The 4-dimensional vector used as the second multiplicand of the operation.

Returns

pc.Vec4

Self for chaining.

mul2(lhs, rhs)

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

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

r.mul2(a, b);

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

Parameters

lhspc.Vec4

The 4-dimensional vector used as the first multiplicand of the operation.

rhspc.Vec4

The 4-dimensional vector used as the second multiplicand of the operation.

Returns

pc.Vec4

Self for chaining.

normalize()

Returns this 4-dimensional vector converted to a unit vector in place. If the vector has a length of zero, the vector's elements will be set to zero.

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

v.normalize();

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

Returns

pc.Vec4

Self for chaining.

scale(scalar)

Scales each dimension of the specified 4-dimensional vector by the supplied scalar value.

var v = new pc.Vec4(2, 4, 8, 16);

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

// Negate
v.scale(-1);

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

Parameters

scalarnumber

The value by which each vector component is multiplied.

Returns

pc.Vec4

Self for chaining.

set(x, y, z, w)

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

var v = new pc.Vec4();
v.set(5, 10, 20, 40);

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

Parameters

xnumber

The value to set on the first component of the vector.

ynumber

The value to set on the second component of the vector.

znumber

The value to set on the third component of the vector.

wnumber

The value to set on the fourth component of the vector.

Returns

pc.Vec4

Self for chaining.

sub(rhs)

Subtracts a 4-dimensional vector from another in place.

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

a.sub(b);

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

Parameters

rhspc.Vec4

The vector to add to the specified vector.

Returns

pc.Vec4

Self for chaining.

sub2(lhs, rhs)

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

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

r.sub2(a, b);

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

Parameters

lhspc.Vec4

The first vector operand for the subtraction.

rhspc.Vec4

The second vector operand for the subtraction.

Returns

pc.Vec4

Self for chaining.

toString()

Converts the vector to string form.

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

Returns

string

The vector in string form.