API Reference

Class List

pc.Vec4

A 4-dimensional vector.

Summary

Static Properties

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

Properties

wThe fourth component of the vector.
xThe first component of the vector.
yThe second component of the vector.
zThe third component of the vector.

Methods

addAdds a 4-dimensional vector to another in place.
add2Adds two 4-dimensional vectors together and returns the result.
cloneReturns an identical copy of the specified 4-dimensional vector.
copyCopied the contents of a source 4-dimensional vector to a destination 4-dimensional vector.
dotReturns the result of a dot product operation performed on the two specified 4-dimensional vectors.
equalsReports whether two vectors are equal.
lengthReturns the magnitude of the specified 4-dimensional vector.
lengthSqReturns the magnitude squared of the specified 4-dimensional vector.
lerpReturns the result of a linear interpolation between two specified 4-dimensional vectors.
mulReturns the result of multiplying the specified 4-dimensional vectors together.
mul2Returns the result of multiplying the specified 4-dimensional vectors together.
normalizeReturns the specified 4-dimensional vector copied and converted to a unit vector.
scaleScales each dimension of the specified 4-dimensional vector by the supplied scalar value.
setSets the specified 4-dimensional vector to the supplied numerical values.
subSubtracts a 4-dimensional vector from another in place.
sub2Subtracts two 4-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, 1, 1].[read only]
ZEROA constant vector set to [0, 0, 0, 0].[read only]

Constructor

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

Creates a new Vec4 object

Parameters

xNumberThe x value. If x is an array of length 4, the array will be used to populate all components.
yNumberThe y value
zNumberThe z value
wNumberThe 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.Vec4The 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.Vec4The first vector operand for the addition.
rhspc.Vec4The 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.Vec4A 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.Vec4The 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.Vec4The 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.Vec4The 4-dimensional to interpolate from.
rhspc.Vec4The 4-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.Vec4 Self for chaining.

mul(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);

a.mul(b);

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

Parameters

rhspc.Vec4The 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.Vec4The 4-dimensional vector used as the first multiplicand of the operation.
rhspc.Vec4The 4-dimensional vector used as the second multiplicand of the operation.

Returns

pc.Vec4 Self for chaining.

normalize()

Returns the specified 4-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.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 The result of the normalization.

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

scalarNumberThe 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

xNumberThe value to set on the first component of the vector.
yNumberThe value to set on the second component of the vector.
zNumberThe value to set on the third component of the vector.
wNumberThe value to set on the fourth component of the vector.

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.Vec4The 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.Vec4The first vector operand for the subtraction.
rhspc.Vec4The 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.