Class: Vec4

pc.Vec4

A 4-dimensional vector.

Constructor

new Vec4(xopt, yopt, zopt, wopt)

Creates a new Vec4 object.
Parameters:
Name Type Attributes Description
x Number <optional>
The x value. If x is an array of length 4, the array will be used to populate all components.
y Number <optional>
The y value.
z Number <optional>
The z value.
w Number <optional>
The w value.
Source:
Example
var v = new pc.Vec4(1, 2, 3, 4);

Members

w :Number

The fourth component of the vector.
Type:
  • Number
Source:
Example
var vec = new pc.Vec4(10, 20, 30, 40);

// Get w
var w = vec.w;

// Set w
vec.w = 0;

x :Number

The first component of the vector.
Type:
  • Number
Source:
Example
var vec = new pc.Vec4(10, 20, 30, 40);

// Get x
var x = vec.x;

// Set x
vec.x = 0;

y :Number

The second component of the vector.
Type:
  • Number
Source:
Example
var vec = new pc.Vec4(10, 20, 30, 40);

// Get y
var y = vec.y;

// Set y
vec.y = 0;

z :Number

The third component of the vector.
Type:
  • Number
Source:
Example
var vec = new pc.Vec4(10, 20, 30, 40);

// Get z
var z = vec.z;

// Set z
vec.z = 0;

(static, readonly) ONE :pc.Vec4

A constant vector set to [1, 1, 1, 1].
Type:
Source:

(static, readonly) ZERO :pc.Vec4

A constant vector set to [0, 0, 0, 0].
Type:
Source:

Methods

add(rhs) → {pc.Vec4}

Adds a 4-dimensional vector to another in place.
Parameters:
Name Type Description
rhs pc.Vec4 The vector to add to the specified vector.
Source:
Returns:
Self for chaining.
Type
pc.Vec4
Example
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());

add2(lhs, rhs) → {pc.Vec4}

Adds two 4-dimensional vectors together and returns the result.
Parameters:
Name Type Description
lhs pc.Vec4 The first vector operand for the addition.
rhs pc.Vec4 The second vector operand for the addition.
Source:
Returns:
Self for chaining.
Type
pc.Vec4
Example
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());

clone() → {pc.Vec4}

Returns an identical copy of the specified 4-dimensional vector.
Source:
Returns:
A 4-dimensional vector containing the result of the cloning.
Type
pc.Vec4
Example
var v = new pc.Vec4(10, 20, 30, 40);
var vclone = v.clone();
console.log("The result of the cloning is: " + vclone.toString());

copy(rhs) → {pc.Vec4}

Copied the contents of a source 4-dimensional vector to a destination 4-dimensional vector.
Parameters:
Name Type Description
rhs pc.Vec4 A vector to copy to the specified vector.
Source:
Returns:
Self for chaining.
Type
pc.Vec4
Example
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"));

dot(rhs) → {Number}

Returns the result of a dot product operation performed on the two specified 4-dimensional vectors.
Parameters:
Name Type Description
rhs pc.Vec4 The second 4-dimensional vector operand of the dot product.
Source:
Returns:
The result of the dot product operation.
Type
Number
Example
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);

equals(rhs) → {Boolean}

Reports whether two vectors are equal.
Parameters:
Name Type Description
rhs pc.Vec4 The vector to compare to the specified vector.
Source:
Returns:
true if the vectors are equal and false otherwise.
Type
Boolean
Example
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"));

length() → {Number}

Returns the magnitude of the specified 4-dimensional vector.
Source:
Returns:
The magnitude of the specified 4-dimensional vector.
Type
Number
Example
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);

lengthSq() → {Number}

Returns the magnitude squared of the specified 4-dimensional vector.
Source:
Returns:
The magnitude of the specified 4-dimensional vector.
Type
Number
Example
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);

lerp(lhs, rhs, alpha) → {pc.Vec4}

Returns the result of a linear interpolation between two specified 4-dimensional vectors.
Parameters:
Name Type Description
lhs pc.Vec4 The 4-dimensional to interpolate from.
rhs pc.Vec4 The 4-dimensional to interpolate to.
alpha Number 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.
Source:
Returns:
Self for chaining.
Type
pc.Vec4
Example
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

mul(rhs) → {pc.Vec4}

Multiplies a 4-dimensional vector to another in place.
Parameters:
Name Type Description
rhs pc.Vec4 The 4-dimensional vector used as the second multiplicand of the operation.
Source:
Returns:
Self for chaining.
Type
pc.Vec4
Example
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());

mul2(lhs, rhs) → {pc.Vec4}

Returns the result of multiplying the specified 4-dimensional vectors together.
Parameters:
Name Type Description
lhs pc.Vec4 The 4-dimensional vector used as the first multiplicand of the operation.
rhs pc.Vec4 The 4-dimensional vector used as the second multiplicand of the operation.
Source:
Returns:
Self for chaining.
Type
pc.Vec4
Example
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());

normalize() → {pc.Vec4}

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.
Source:
Returns:
The result of the normalization.
Type
pc.Vec4
Example
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());

scale(scalar) → {pc.Vec4}

Scales each dimension of the specified 4-dimensional vector by the supplied scalar value.
Parameters:
Name Type Description
scalar Number The value by which each vector component is multiplied.
Source:
Returns:
Self for chaining.
Type
pc.Vec4
Example
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);

set(x, y, z, w) → {pc.Vec4}

Sets the specified 4-dimensional vector to the supplied numerical values.
Parameters:
Name Type Description
x Number The value to set on the first component of the vector.
y Number The value to set on the second component of the vector.
z Number The value to set on the third component of the vector.
w Number The value to set on the fourth component of the vector.
Source:
Returns:
Self for chaining.
Type
pc.Vec4
Example
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());

sub(rhs) → {pc.Vec4}

Subtracts a 4-dimensional vector from another in place.
Parameters:
Name Type Description
rhs pc.Vec4 The vector to add to the specified vector.
Source:
Returns:
Self for chaining.
Type
pc.Vec4
Example
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());

sub2(lhs, rhs) → {pc.Vec4}

Subtracts two 4-dimensional vectors from one another and returns the result.
Parameters:
Name Type Description
lhs pc.Vec4 The first vector operand for the subtraction.
rhs pc.Vec4 The second vector operand for the subtraction.
Source:
Returns:
Self for chaining.
Type
pc.Vec4
Example
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());

toString() → {String}

Converts the vector to string form.
Source:
Returns:
The vector in string form.
Type
String
Example
var v = new pc.Vec4(20, 10, 5, 0);
// Should output '[20, 10, 5, 0]'
console.log(v.toString());