Static ReadonlykeysArray of the keys of a vector. Allows to translate an index (0, 1, 2) to a key ("x", "y", "z") or to iterate over a vector.
Creates and returns a clone of this vector.
Returns the length of the vector
Returns the square of the magnitude of the vector without calculating a square root. Faster for simple proximity evaluation.
Retrieves the type of this mutable subclass as the name of the runtime class
The type of the mutable
See EventTarget.addEventListener for reference. Works with EventListenerUnified and EventUnified
Optional_options: boolean | AddEventListenerOptionsUpdates the property values of the instance according to the state of the animation mutator. Override to implement custom animation behavior.
Calls a defined callback function on each component of the vector and assigns the result to the component. Similar to Vector3.map but mutates this vector instead of creating a new one.
A reference to this vector.
Recreates this instance of Serializable with the information from the given Serialization.
See EventTarget.dispatchEvent for reference. Works with with EventUnified
Returns true if the coordinates of this and the given vector are to be considered identical within the given tolerance TODO: examine, if tolerance as criterium for the difference is appropriate with very large coordinate values or if _tolerance should be multiplied by coordinate value
Set the values of this object from the given array starting at the given offset.
The array to read the values from.
(optional) The offset to start reading from.
A reference to this instance.
Returns the distance bewtween this vector and the given vector.
Retrieves the specified attribute types from the metadata of this instance's class.
Collect applicable attributes of the instance and copies of their values in a Mutator-object. By default, a mutator cannot be extended, since extensions are not available in the object the mutator belongs to. A mutator may be reduced by the descendants of Mutable to contain only the properties needed.
Returns an associative array with the same attributes as the given mutator, but with the corresponding types as string-values. Does not recurse into objects! This will return the decorated meta-type instead of the runtime-type of the object, if available.
Collect the attributes of the instance and their values applicable for animation. Basic functionality is identical to getMutator, returned mutator should then be reduced by the subclassed instance
Collect the attributes of the instance and their values applicable for the user interface. Basic functionality is identical to getMutator, returned mutator should then be reduced by the subclassed instance
Returns true if the position described by this is within a sphere with the given center and radius.
Calls a defined callback function on each component of the vector, and returns a new vector that contains the results. Similar to Array.map.
_out or a new vector if none is provided.
Updates the attribute values of the instance according to the state of the mutator. The mutation may be restricted to a subset of the mutator and the event dispatching suppressed. Uses mutateBase, but can be overwritten in subclasses
Negates this vector by flipping the signs of its components
A reference to this vector.
Normalizes this to the given length, 1 by default
A reference to this vector.
Recycles the object for the next reuse by setting its properties to their default states.
Reflects this vector at a given normal. See Vector3.REFLECTION.
A reference to this vector.
See EventTarget.removeEventListener for reference. Works with EventListenerUnified and EventUnified
Optional_options: boolean | AddEventListenerOptionsScales this vector by the given scalar.
A reference to this vector.
Returns a Serialization of this object.
Sets the components of this vector and returns it.
A reference to this vector.
Copy the values of this object into the given array starting at the given offset. Creates a new array if none is provided.
(optional) The receiving array.
(optional) The offset to start writing to.
_out or a new array if none is provided.
Returns a formatted string representation of this vector
Transforms this vector by the given matrix or rotation quaternion. Including or exluding the translation if a matrix is passed. Including is the default, excluding will only rotate and scale this vector.
A reference to this vector.
Updates the values of the given mutator according to the current state of the instance
StaticANGLEStaticCROSSStaticDIFFERENCEStaticDOTComputes the dotproduct of 2 vectors.
StaticGEOStaticgetStaticLERPPerforms a linear interpolation between between two vectors. When t is 0 the result is a, when t is 1 the result is b.
_out or a new vector if none is provided.
Performs a linear interpolation between between two vectors. When t is 0 the result is a, when t is 1 the result is b.
_out or a new vector if none is provided.
StaticNEGATIONStaticNORMALIZATIONStaticONECreates and returns a vector of the given size on each of the three axis
StaticPROJECTIONStaticRATIOStaticREFLECTIONCalculates and returns the reflection of the incoming vector at the given normal vector. The length of normal should be 1.
_________________________
/|\
incoming / | \ reflection
/ | \
normal
StaticSCALEStaticSLERPPerforms a spherical linear interpolation between two vectors.
_out or a new vector if none is provided.
Performs a spherical linear interpolation between two vectors.
_out or a new vector if none is provided.
StaticSMOOTHDAMPSmoothly interpolates between two vectors based on a critically damped spring model. Allows to smooth toward a moving target with an ease-in/ease-out motion maintaining a continuous velocity. Does not overshoot.
The current value.
The target value.
The velocity at which the value is moving. This value is modified by the function and must be maintained in the outside context.
The time it would take for the value to reach the target if it were moving at maximum velocity for the entire duration. When following a moving target the smooth time equals the lag time allowing to calculate the lag distance = target velocity * smooth time.
The elapsed time since the last call to the function.
An optional maximum speed that limits the velocity of the value. Defaults to Infinity.
Optional vector to store the result in.
StaticSUMStaticTRANSFORMATIONCreates and returns a vector through transformation of the given vector by the given matrix or rotation quaternion.
Optional vector to store the result in.
StaticXCreates and returns a vector with the given length pointing in x-direction
StaticYCreates and returns a vector with the given length pointing in y-direction
StaticZCreates and returns a vector with the given length pointing in z-direction
StaticZEROCreates and returns a vector with the value 0 on each axis
Stores and manipulates a threedimensional vector comprised of the components x, y and z
Authors
Jascha Karagöl, HFU, 2019 | Jirka Dell'Oro-Friedl, HFU, 2019-2022 | Jonas Plotzky, HFU, 2023-2025