[AI] A four-dimensional vector, supporting operations relevant for matrix and quaternion math (homoge...
virtual int EqualsHamiltonProduct(const Vector4 &p_a, const Vector4 &p_b)
[AI] Set this vector to the Hamilton product of two quaternion Vector4s.
void Clear() override
[AI] Sets all four components to zero.
virtual void SetMatrixProduct(const float *p_vec, const float *p_mat)
[AI] Set this vector to the result of a matrix-vector product: result = p_mat * p_vec.
void AddImpl(const float *p_value) override
[AI] Adds the values pointed to by p_value to this vector.
virtual int NormalizeQuaternion()
[AI] Normalize this quaternion (interpreted as vector) in place.
float DotImpl(const float *p_a, const float *p_b) const override
void EqualsImpl(const float *p_data) override
[AI] Assigns values from provided array to this vector.
void SubImpl(const float *p_value) override
[AI] Subtracts the vector specified by p_value from this vector.
void MulImpl(const float *p_value) override
[AI] Multiplies this vector by another vector (per element).
void Fill(const float &p_value) override
[AI] Fill all four floats with p_value.
float LenSquared() const override
[AI] Computes the squared magnitude of the 4D vector.
void DivImpl(const float &p_value) override
[AI] Divides this vector by a scalar value.