Optionalx: numberOptionaly: numberOptionalz: numberOptionalw: numberProtected_Protected_Protected_Protected_Static ReadonlyoneA Vector with all components set to one.
Static ReadonlywA Vector with the W component set to one and the rest set to zero.
Static ReadonlyxA Vector with the X component set to one and the rest set to zero.
Static ReadonlyyA Vector with the Y component set to one and the rest set to zero.
Static ReadonlyzA Vector with the Z component set to one and the rest set to zero.
Static ReadonlyzeroA Vector with all components set to zero.
Gets the number of elements in this vector.
Returns a copy of the current vector added by the given scalar.
Clones this instance and returns a new Vector4 with identical values.
Clears all elements of the vector to zero.
Performs scalar multiplication of this vector and returns it.
Normalizes the vector.
Evaluates the expression and assigns it to the vector.
The expression to evaluate.
A reference to this vector
MathEx.eval for detailed documentation, limitations and considerations.
Accesses a specific component of the vector.
Index of the component.
Value of the specific component.
Returns whether the provided vector, given a error margin, has the same vector components values as this one.
True if equal, false otherwise.
Returns the length of the vector.
Returns the squared length of the vector.
Returns a normalized copy of the vector.
Assigns the value to the element at the specified index.
Assigns the specified values.
Returns a copy of the current vector subtracted by the given vector.
Converts this instance to an array with 4 elements.
Returns a string representation of an object.
StaticaddStaticaddStaticdistanceStaticdivideStaticdivideStaticdotStaticisCompares two 4D vectors with an error margin.
True if equal, false otherwise.
StaticisStaticmaxStaticminStaticmultiplyStaticmultiplyStaticsubtractStaticsubtract
The Vector4 implements a fixed-size four-dimensional vector with a homogenous
wcoordinate. The class follows the 'copy-on-write' pattern, which means that every operation such as Vector4#normalized or Vector4.add returns a copy of the vector with updates values. It also implies that the values of the vector cannot be directly modified.The concept of immutability improves sharing of objects as all types in TypeScript are assigned by identity, instead of by-value (e.g. a copy) as in other programming languages like C.