UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
UnrealMathVectorCommon.h.inl File Reference

Go to the source code of this file.

Classes

struct  TCustomLerp< VectorRegister4Float >
 
struct  TCustomLerp< VectorRegister4Double >
 

Functions

FORCEINLINE VectorRegister4Double MakeVectorRegister (double X, double Y, double Z, float W)
 
FORCEINLINE VectorRegister4Float VectorZero (void)
 
FORCEINLINE VectorRegister4Float VectorOne (void)
 
template<typename T >
FORCEINLINE TVectorRegisterType< T > VectorLoad (const UE::Math::TQuat< T > *Ptr)
 VectorLoad.
 
template<typename T >
FORCEINLINE TVectorRegisterType< T > VectorLoad (const UE::Math::TVector4< T > *Ptr)
 
FORCEINLINE VectorRegister4Float VectorLoad (const VectorRegister4Float *Ptr)
 
FORCEINLINE VectorRegister4Double VectorLoad (const VectorRegister4Double *Ptr)
 
template<typename T >
FORCEINLINE TVectorRegisterType< T > VectorLoadAligned (const UE::Math::TQuat< T > *Ptr)
 VectorLoadAligned.
 
template<typename T >
FORCEINLINE TVectorRegisterType< T > VectorLoadAligned (const UE::Math::TVector4< T > *Ptr)
 
template<typename T >
FORCEINLINE TVectorRegisterType< T > VectorLoadAligned (const UE::Math::TPlane< T > *Ptr)
 
FORCEINLINE VectorRegister4Float VectorLoadAligned (const VectorRegister4Float *Ptr)
 
FORCEINLINE VectorRegister4Double VectorLoadAligned (const VectorRegister4Double *Ptr)
 
FORCEINLINE VectorRegister4Float VectorLoadFloat3 (const float *Ptr)
 VectorLoadFloat3.
 
template<typename T >
FORCEINLINE TVectorRegisterType< T > VectorLoadFloat3 (const UE::Math::TVector< T > *Ptr)
 
FORCEINLINE VectorRegister4Double VectorLoadDouble3 (const double *Ptr)
 
FORCEINLINE VectorRegister4Float VectorLoadFloat3_W0 (const float *Ptr)
 VectorLoadFloat3_W0.
 
FORCEINLINE VectorRegister4Double VectorLoadFloat3_W0 (const double *Ptr)
 
template<typename T >
FORCEINLINE TVectorRegisterType< T > VectorLoadFloat3_W0 (const UE::Math::TVector< T > *Ptr)
 
template<typename T >
FORCEINLINE TVectorRegisterType< T > VectorLoadFloat3_W0 (const UE::Math::TRotator< T > *Ptr)
 
FORCEINLINE VectorRegister4Double VectorLoadDouble3_W0 (const double *Ptr)
 
FORCEINLINE VectorRegister4Float VectorLoadFloat3_W1 (const float *Ptr)
 VectorLoadFloat3_W1.
 
template<typename T >
FORCEINLINE TVectorRegisterType< T > VectorLoadFloat3_W1 (const UE::Math::TVector< T > *Ptr)
 
FORCEINLINE VectorRegister4Double VectorLoadDouble3_W1 (const double *Ptr)
 
FORCEINLINE VectorRegister4Float VectorLoadFloat1 (const VectorRegister4Float *Ptr)
 VectorLoadFloat1.
 
FORCEINLINE VectorRegister4Double VectorLoadFloat1 (const VectorRegister4Double *Ptr)
 
FORCEINLINE VectorRegister4Double VectorLoadFloat1 (const double *Ptr)
 
template<typename T >
FORCEINLINE void VectorStoreAligned (TVectorRegisterType< T > Vec, UE::Math::TVector4< T > *Dst)
 VectorStoreAligned.
 
FORCEINLINE void VectorStoreAligned (VectorRegister4Float Vec, struct UE::Math::TVector4< double > *Dst)
 
template<typename T >
FORCEINLINE void VectorStoreAligned (TVectorRegisterType< T > Vec, struct UE::Math::TQuat< T > *Dst)
 
FORCEINLINE void VectorStoreAligned (VectorRegister4Float Vec, struct UE::Math::TQuat< double > *Dst)
 
FORCEINLINE void VectorStoreAligned (VectorRegister4Float Vec, VectorRegister4Float *Dst)
 
FORCEINLINE void VectorStoreAligned (VectorRegister4Double Vec, VectorRegister4Double *Dst)
 
template<typename T >
FORCEINLINE void VectorStore (VectorRegister4Float Vec, UE::Math::TVector4< T > *Dst)
 VectorStore.
 
template<typename T >
FORCEINLINE void VectorStore (VectorRegister4Double Vec, UE::Math::TVector4< T > *Dst)
 
template<typename T >
FORCEINLINE void VectorStore (TVectorRegisterType< T > Vec, struct UE::Math::TQuat< T > *Dst)
 
FORCEINLINE void VectorStore (VectorRegister4Float Vec, struct UE::Math::TQuat< double > *Dst)
 
FORCEINLINE void VectorStore (VectorRegister4Float Vec, VectorRegister4Float *Dst)
 
FORCEINLINE void VectorStore (VectorRegister4Double Vec, VectorRegister4Double *Dst)
 
template<typename T >
FORCEINLINE void VectorStoreFloat3 (VectorRegister4Float Vec, UE::Math::TVector< T > *Dst)
 VectorStoreFloat3.
 
template<typename T >
FORCEINLINE void VectorStoreFloat3 (VectorRegister4Double Vec, UE::Math::TVector< T > *Dst)
 
template<typename T >
FORCEINLINE void VectorStoreFloat3 (VectorRegister4Float Vec, UE::Math::TRotator< T > *Dst)
 
template<typename T >
FORCEINLINE void VectorStoreFloat3 (VectorRegister4Double Vec, UE::Math::TRotator< T > *Dst)
 
FORCEINLINE void VectorStoreFloat1 (VectorRegister4Float Vec, int32 *Dst)
 VectorStoreFloat1.
 
FORCEINLINE void VectorStoreFloat1 (VectorRegister4Double Vec, int32 *Dst)
 
FORCEINLINE void VectorStoreFloat1 (VectorRegister4Double Vec, int64 *Dst)
 
FORCEINLINE VectorRegister4Float VectorReciprocalSqrtAccurate (VectorRegister4Float Vec)
 
FORCEINLINE VectorRegister4Double VectorReciprocalSqrtAccurate (VectorRegister4Double Vec)
 
FORCEINLINE VectorRegister4Float VectorReciprocalAccurate (VectorRegister4Float Vec)
 
FORCEINLINE VectorRegister4Double VectorReciprocalAccurate (VectorRegister4Double Vec)
 
template<typename TVectorRegisterType >
FORCEINLINE TVectorRegisterType VectorNormalize (TVectorRegisterType Vector)
 
template<typename TVectorRegisterType >
FORCEINLINE TVectorRegisterType VectorNormalizeAccurate (TVectorRegisterType Vector)
 
template<typename TVectorRegisterType >
FORCEINLINE TVectorRegisterType VectorNormalizeEstimate (TVectorRegisterType Vector)
 
FORCEINLINE VectorRegister4Float VectorNormalizeSafe (VectorRegister4Float Vector, VectorRegister4Float DefaultValue)
 
FORCEINLINE VectorRegister4Double VectorNormalizeSafe (VectorRegister4Double Vector, VectorRegister4Double DefaultValue)
 
FORCEINLINE uint32 VectorAnyLesserThan (VectorRegister4Float Vec1, VectorRegister4Float Vec2)
 
FORCEINLINE uint32 VectorAnyLesserThan (VectorRegister4Double Vec1, VectorRegister4Double Vec2)
 
FORCEINLINE uint32 VectorAllGreaterThan (VectorRegister4Float Vec1, VectorRegister4Float Vec2)
 
FORCEINLINE uint32 VectorAllGreaterThan (VectorRegister4Double Vec1, VectorRegister4Double Vec2)
 
FORCEINLINE uint32 VectorAllLesserThan (VectorRegister4Float Vec1, VectorRegister4Float Vec2)
 
FORCEINLINE uint32 VectorAllLesserThan (VectorRegister4Double Vec1, VectorRegister4Double Vec2)
 
FORCEINLINE VectorRegister4Float VectorClamp (VectorRegister4Float X, VectorRegister4Float VecMin, VectorRegister4Float VecMax)
 
FORCEINLINE VectorRegister4Double VectorClamp (VectorRegister4Double X, VectorRegister4Double VecMin, VectorRegister4Double VecMax)
 
FORCEINLINE VectorRegister4Float VectorLerp (VectorRegister4Float A, VectorRegister4Float B, VectorRegister4Float Alpha)
 
FORCEINLINE VectorRegister4Double VectorLerp (VectorRegister4Double A, VectorRegister4Double B, VectorRegister4Double Alpha)
 
FORCEINLINE VectorRegister4Float VectorAccumulateQuaternionShortestPath (VectorRegister4Float A, VectorRegister4Float B)
 
FORCEINLINE VectorRegister4Double VectorAccumulateQuaternionShortestPath (VectorRegister4Double A, VectorRegister4Double B)
 
FORCEINLINE VectorRegister4Float VectorNormalizeQuaternion (VectorRegister4Float UnnormalizedQuat)
 
FORCEINLINE VectorRegister4Double VectorNormalizeQuaternion (VectorRegister4Double UnnormalizedQuat)
 
FORCEINLINE VectorRegister4Float VectorMod360 (VectorRegister4Float X)
 
FORCEINLINE VectorRegister4Double VectorMod360 (VectorRegister4Double X)
 
FORCEINLINE VectorRegister4Float VectorNormalizeRotator (VectorRegister4Float UnnormalizedRotator)
 
FORCEINLINE VectorRegister4Double VectorNormalizeRotator (VectorRegister4Double UnnormalizedRotator)
 
FORCEINLINE VectorRegister4Float VectorLerpQuat (VectorRegister4Float A, VectorRegister4Float B, VectorRegister4Float Alpha)
 
FORCEINLINE VectorRegister4Double VectorLerpQuat (VectorRegister4Double A, VectorRegister4Double B, VectorRegister4Double Alpha)
 
FORCEINLINE VectorRegister4Float VectorBiLerpQuat (VectorRegister4Float P00, VectorRegister4Float P10, VectorRegister4Float P01, VectorRegister4Float P11, VectorRegister4Float FracX, VectorRegister4Float FracY)
 
FORCEINLINE VectorRegister4Double VectorBiLerpQuat (VectorRegister4Double P00, VectorRegister4Double P10, VectorRegister4Double P01, VectorRegister4Double P11, VectorRegister4Double FracX, VectorRegister4Double FracY)
 
FORCEINLINE VectorRegister4Float VectorQuaternionInverse (VectorRegister4Float NormalizedQuat)
 
FORCEINLINE VectorRegister4Double VectorQuaternionInverse (VectorRegister4Double NormalizedQuat)
 
FORCEINLINE VectorRegister4Float VectorQuaternionRotateVector (VectorRegister4Float Quat, VectorRegister4Float VectorW0)
 
FORCEINLINE VectorRegister4Double VectorQuaternionRotateVector (VectorRegister4Double Quat, VectorRegister4Double VectorW0)
 
FORCEINLINE VectorRegister4Float VectorQuaternionInverseRotateVector (VectorRegister4Float Quat, VectorRegister4Float VectorW0)
 
FORCEINLINE VectorRegister4Double VectorQuaternionInverseRotateVector (VectorRegister4Double Quat, VectorRegister4Double VectorW0)
 
FORCEINLINE VectorRegister4Double VectorMultiply (VectorRegister4Double Vec1, VectorRegister4Float Vec2)
 
FORCEINLINE VectorRegister4Double VectorMultiplyAdd (VectorRegister4Double Vec1, VectorRegister4Float Vec2, VectorRegister4Double Acc)
 
FORCEINLINE VectorRegister4Double VectorMultiplyAdd (VectorRegister4Double Vec1, VectorRegister4Float Vec2, VectorRegister4Float Acc)
 
FORCEINLINE VectorRegister4Double VectorSetDouble (double X, double Y, double Z, double W)
 
FORCEINLINE VectorRegister4Double VectorSetDouble1 (double D)
 
FORCEINLINE void VectorStoreDouble3 (VectorRegister4Double Vec, double *Ptr)
 
FORCEINLINE void VectorStoreDouble1 (VectorRegister4Double Vec, double *Ptr)
 
FORCEINLINE VectorRegister4Float VectorSetFloat3 (float X, float Y, float Z)
 
FORCEINLINE VectorRegister4Double VectorSetFloat3 (double X, double Y, double Z)
 
FORCEINLINE VectorRegister4Double VectorSetDouble3 (double X, double Y, double Z)
 
FORCEINLINE VectorRegister4Float VectorSet (float X, float Y, float Z, float W)
 
FORCEINLINE VectorRegister4Double VectorSet (double X, double Y, double Z, double W)
 
FORCEINLINE VectorRegister4Float VectorSet (uint32 X, uint32 Y, uint32 Z, uint32 W)
 
FORCEINLINE VectorRegister4Float VectorFractional (VectorRegister4Float Vec)
 
FORCEINLINE VectorRegister4Double VectorFractional (VectorRegister4Double Vec)
 
FORCEINLINE void VectorQuaternionMultiply (FQuat4f *RESTRICT Result, const FQuat4f *RESTRICT Quat1, const FQuat4f *RESTRICT Quat2)
 
FORCEINLINE void VectorQuaternionMultiply (FQuat4d *RESTRICT Result, const FQuat4d *RESTRICT Quat1, const FQuat4d *RESTRICT Quat2)
 
FORCEINLINE uint32 appCountTrailingZeros (uint32 Value)
 

Function Documentation

◆ appCountTrailingZeros()

FORCEINLINE uint32 appCountTrailingZeros ( uint32  Value)

Counts the number of trailing zeros in the bit representation of the value, counting from least-significant bit to most.

Parameters
Valuethe value to determine the number of leading zeros for
Returns
the number of zeros before the first "on" bit

◆ MakeVectorRegister()

FORCEINLINE VectorRegister4Double MakeVectorRegister ( double  X,
double  Y,
double  Z,
float  W 
)

◆ VectorAccumulateQuaternionShortestPath() [1/2]

FORCEINLINE VectorRegister4Double VectorAccumulateQuaternionShortestPath ( VectorRegister4Double  A,
VectorRegister4Double  B 
)

◆ VectorAccumulateQuaternionShortestPath() [2/2]

FORCEINLINE VectorRegister4Float VectorAccumulateQuaternionShortestPath ( VectorRegister4Float  A,
VectorRegister4Float  B 
)

◆ VectorAllGreaterThan() [1/2]

FORCEINLINE uint32 VectorAllGreaterThan ( VectorRegister4Double  Vec1,
VectorRegister4Double  Vec2 
)

◆ VectorAllGreaterThan() [2/2]

FORCEINLINE uint32 VectorAllGreaterThan ( VectorRegister4Float  Vec1,
VectorRegister4Float  Vec2 
)

Returns non-zero if all elements in Vec1 are greater than the corresponding elements in Vec2, otherwise 0.

Parameters
Vec11st source vector
Vec22nd source vector
Returns
Non-zero integer if (Vec1.x > Vec2.x) && (Vec1.y > Vec2.y) && (Vec1.z > Vec2.z) && (Vec1.w > Vec2.w)

◆ VectorAllLesserThan() [1/2]

FORCEINLINE uint32 VectorAllLesserThan ( VectorRegister4Double  Vec1,
VectorRegister4Double  Vec2 
)

◆ VectorAllLesserThan() [2/2]

FORCEINLINE uint32 VectorAllLesserThan ( VectorRegister4Float  Vec1,
VectorRegister4Float  Vec2 
)

Returns non-zero if all elements in Vec1 are lesser than the corresponding elements in Vec2, otherwise 0.

Parameters
Vec11st source vector
Vec22nd source vector
Returns
Non-zero integer if (Vec1.x < Vec2.x) && (Vec1.y < Vec2.y) && (Vec1.z < Vec2.z) && (Vec1.w < Vec2.w)

◆ VectorAnyLesserThan() [1/2]

FORCEINLINE uint32 VectorAnyLesserThan ( VectorRegister4Double  Vec1,
VectorRegister4Double  Vec2 
)

◆ VectorAnyLesserThan() [2/2]

FORCEINLINE uint32 VectorAnyLesserThan ( VectorRegister4Float  Vec1,
VectorRegister4Float  Vec2 
)

Returns non-zero if any element in Vec1 is lesser than the corresponding element in Vec2, otherwise 0.

Parameters
Vec11st source vector
Vec22nd source vector
Returns
Non-zero integer if (Vec1.x < Vec2.x) || (Vec1.y < Vec2.y) || (Vec1.z < Vec2.z) || (Vec1.w < Vec2.w)

◆ VectorBiLerpQuat() [1/2]

◆ VectorBiLerpQuat() [2/2]

Bi-Linear Quaternion interpolation for quaternions stored in VectorRegisters. Result is NOT normalized.

◆ VectorClamp() [1/2]

◆ VectorClamp() [2/2]

Clamps X to be between VecMin and VecMax, inclusive.

◆ VectorFractional() [1/2]

◆ VectorFractional() [2/2]

◆ VectorLerp() [1/2]

◆ VectorLerp() [2/2]

Lerp between two vectors

◆ VectorLerpQuat() [1/2]

◆ VectorLerpQuat() [2/2]

Fast Linear Quaternion Interpolation for quaternions stored in VectorRegisters. Result is NOT normalized.

◆ VectorLoad() [1/4]

template<typename T >
FORCEINLINE TVectorRegisterType< T > VectorLoad ( const UE::Math::TQuat< T > *  Ptr)

VectorLoad.

Overloads for code passing &MyVector, &MyQuat, etc.

◆ VectorLoad() [2/4]

template<typename T >
FORCEINLINE TVectorRegisterType< T > VectorLoad ( const UE::Math::TVector4< T > *  Ptr)

◆ VectorLoad() [3/4]

◆ VectorLoad() [4/4]

◆ VectorLoadAligned() [1/5]

template<typename T >
FORCEINLINE TVectorRegisterType< T > VectorLoadAligned ( const UE::Math::TPlane< T > *  Ptr)

◆ VectorLoadAligned() [2/5]

template<typename T >
FORCEINLINE TVectorRegisterType< T > VectorLoadAligned ( const UE::Math::TQuat< T > *  Ptr)

VectorLoadAligned.

◆ VectorLoadAligned() [3/5]

template<typename T >
FORCEINLINE TVectorRegisterType< T > VectorLoadAligned ( const UE::Math::TVector4< T > *  Ptr)

◆ VectorLoadAligned() [4/5]

FORCEINLINE VectorRegister4Double VectorLoadAligned ( const VectorRegister4Double Ptr)

◆ VectorLoadAligned() [5/5]

FORCEINLINE VectorRegister4Float VectorLoadAligned ( const VectorRegister4Float Ptr)

◆ VectorLoadDouble3()

FORCEINLINE VectorRegister4Double VectorLoadDouble3 ( const double Ptr)

◆ VectorLoadDouble3_W0()

FORCEINLINE VectorRegister4Double VectorLoadDouble3_W0 ( const double Ptr)

◆ VectorLoadDouble3_W1()

FORCEINLINE VectorRegister4Double VectorLoadDouble3_W1 ( const double Ptr)

◆ VectorLoadFloat1() [1/3]

FORCEINLINE VectorRegister4Double VectorLoadFloat1 ( const double Ptr)

◆ VectorLoadFloat1() [2/3]

FORCEINLINE VectorRegister4Double VectorLoadFloat1 ( const VectorRegister4Double Ptr)

◆ VectorLoadFloat1() [3/3]

FORCEINLINE VectorRegister4Float VectorLoadFloat1 ( const VectorRegister4Float Ptr)

VectorLoadFloat1.

◆ VectorLoadFloat3() [1/2]

FORCEINLINE VectorRegister4Float VectorLoadFloat3 ( const float Ptr)

VectorLoadFloat3.

Loads 3 floats from unaligned memory and sets W=0.

Parameters
PtrUnaligned memory pointer to the 3 floats
Returns
VectorRegister4Float(Ptr[0], Ptr[1], Ptr[2], 0.0f)

◆ VectorLoadFloat3() [2/2]

template<typename T >
FORCEINLINE TVectorRegisterType< T > VectorLoadFloat3 ( const UE::Math::TVector< T > *  Ptr)

◆ VectorLoadFloat3_W0() [1/4]

FORCEINLINE VectorRegister4Double VectorLoadFloat3_W0 ( const double Ptr)

◆ VectorLoadFloat3_W0() [2/4]

FORCEINLINE VectorRegister4Float VectorLoadFloat3_W0 ( const float Ptr)

VectorLoadFloat3_W0.

Loads 3 floats from unaligned memory and sets W=0.

Parameters
PtrUnaligned memory pointer to the 3 floats
Returns
VectorRegister4Float(Ptr[0], Ptr[1], Ptr[2], 0.0f)

◆ VectorLoadFloat3_W0() [3/4]

template<typename T >
FORCEINLINE TVectorRegisterType< T > VectorLoadFloat3_W0 ( const UE::Math::TRotator< T > *  Ptr)

◆ VectorLoadFloat3_W0() [4/4]

template<typename T >
FORCEINLINE TVectorRegisterType< T > VectorLoadFloat3_W0 ( const UE::Math::TVector< T > *  Ptr)

◆ VectorLoadFloat3_W1() [1/2]

FORCEINLINE VectorRegister4Float VectorLoadFloat3_W1 ( const float Ptr)

VectorLoadFloat3_W1.

Loads 3 floats from unaligned memory and sets W=1.

Parameters
PtrUnaligned memory pointer to the 3 floats
Returns
VectorRegister4Float(Ptr[0], Ptr[1], Ptr[2], 1.0f)

◆ VectorLoadFloat3_W1() [2/2]

template<typename T >
FORCEINLINE TVectorRegisterType< T > VectorLoadFloat3_W1 ( const UE::Math::TVector< T > *  Ptr)

◆ VectorMod360() [1/2]

◆ VectorMod360() [2/2]

◆ VectorMultiply()

◆ VectorMultiplyAdd() [1/2]

◆ VectorMultiplyAdd() [2/2]

◆ VectorNormalize()

◆ VectorNormalizeAccurate()

FORCEINLINE TVectorRegisterType VectorNormalizeAccurate ( TVectorRegisterType  Vector)

◆ VectorNormalizeEstimate()

FORCEINLINE TVectorRegisterType VectorNormalizeEstimate ( TVectorRegisterType  Vector)

◆ VectorNormalizeQuaternion() [1/2]

FORCEINLINE VectorRegister4Double VectorNormalizeQuaternion ( VectorRegister4Double  UnnormalizedQuat)

◆ VectorNormalizeQuaternion() [2/2]

FORCEINLINE VectorRegister4Float VectorNormalizeQuaternion ( VectorRegister4Float  UnnormalizedQuat)

◆ VectorNormalizeRotator() [1/2]

FORCEINLINE VectorRegister4Double VectorNormalizeRotator ( VectorRegister4Double  UnnormalizedRotator)

◆ VectorNormalizeRotator() [2/2]

FORCEINLINE VectorRegister4Float VectorNormalizeRotator ( VectorRegister4Float  UnnormalizedRotator)

◆ VectorNormalizeSafe() [1/2]

FORCEINLINE VectorRegister4Double VectorNormalizeSafe ( VectorRegister4Double  Vector,
VectorRegister4Double  DefaultValue 
)

◆ VectorNormalizeSafe() [2/2]

FORCEINLINE VectorRegister4Float VectorNormalizeSafe ( VectorRegister4Float  Vector,
VectorRegister4Float  DefaultValue 
)

◆ VectorOne()

◆ VectorQuaternionInverse() [1/2]

FORCEINLINE VectorRegister4Double VectorQuaternionInverse ( VectorRegister4Double  NormalizedQuat)

◆ VectorQuaternionInverse() [2/2]

FORCEINLINE VectorRegister4Float VectorQuaternionInverse ( VectorRegister4Float  NormalizedQuat)

Inverse quaternion ( -X, -Y, -Z, W)

◆ VectorQuaternionInverseRotateVector() [1/2]

FORCEINLINE VectorRegister4Double VectorQuaternionInverseRotateVector ( VectorRegister4Double  Quat,
VectorRegister4Double  VectorW0 
)

◆ VectorQuaternionInverseRotateVector() [2/2]

FORCEINLINE VectorRegister4Float VectorQuaternionInverseRotateVector ( VectorRegister4Float  Quat,
VectorRegister4Float  VectorW0 
)

Rotate a vector using the inverse of a unit Quaternion (rotation in the opposite direction).

Parameters
QuatUnit Quaternion to use for rotation.
VectorW0Vector to rotate. W component must be zero.
Returns
Vector after rotation by the inverse of Quat.

◆ VectorQuaternionMultiply() [1/2]

FORCEINLINE void VectorQuaternionMultiply ( FQuat4d *RESTRICT  Result,
const FQuat4d *RESTRICT  Quat1,
const FQuat4d *RESTRICT  Quat2 
)

◆ VectorQuaternionMultiply() [2/2]

FORCEINLINE void VectorQuaternionMultiply ( FQuat4f *RESTRICT  Result,
const FQuat4f *RESTRICT  Quat1,
const FQuat4f *RESTRICT  Quat2 
)

◆ VectorQuaternionRotateVector() [1/2]

FORCEINLINE VectorRegister4Double VectorQuaternionRotateVector ( VectorRegister4Double  Quat,
VectorRegister4Double  VectorW0 
)

◆ VectorQuaternionRotateVector() [2/2]

FORCEINLINE VectorRegister4Float VectorQuaternionRotateVector ( VectorRegister4Float  Quat,
VectorRegister4Float  VectorW0 
)

Rotate a vector using a unit Quaternion.

Parameters
QuatUnit Quaternion to use for rotation.
VectorW0Vector to rotate. W component must be zero.
Returns
Vector after rotation by Quat.

◆ VectorReciprocalAccurate() [1/2]

FORCEINLINE VectorRegister4Double VectorReciprocalAccurate ( VectorRegister4Double  Vec)

◆ VectorReciprocalAccurate() [2/2]

FORCEINLINE VectorRegister4Float VectorReciprocalAccurate ( VectorRegister4Float  Vec)

Computes the reciprocal of a vector (component-wise) and returns the result.

Parameters
Vec1st vector
Returns
VectorRegister( 1.0f / Vec.x, 1.0f / Vec.y, 1.0f / Vec.z, 1.0f / Vec.w )

◆ VectorReciprocalSqrtAccurate() [1/2]

FORCEINLINE VectorRegister4Double VectorReciprocalSqrtAccurate ( VectorRegister4Double  Vec)

◆ VectorReciprocalSqrtAccurate() [2/2]

FORCEINLINE VectorRegister4Float VectorReciprocalSqrtAccurate ( VectorRegister4Float  Vec)

◆ VectorSet() [1/3]

FORCEINLINE VectorRegister4Double VectorSet ( double  X,
double  Y,
double  Z,
double  W 
)

◆ VectorSet() [2/3]

FORCEINLINE VectorRegister4Float VectorSet ( float  X,
float  Y,
float  Z,
float  W 
)

Creates a vector out of four FLOATs.

Parameters
X1st float component
Y2nd float component
Z3rd float component
W4th float component
Returns
VectorRegister4Float(X, Y, Z, W)

◆ VectorSet() [3/3]

FORCEINLINE VectorRegister4Float VectorSet ( uint32  X,
uint32  Y,
uint32  Z,
uint32  W 
)

◆ VectorSetDouble()

FORCEINLINE VectorRegister4Double VectorSetDouble ( double  X,
double  Y,
double  Z,
double  W 
)

◆ VectorSetDouble1()

FORCEINLINE VectorRegister4Double VectorSetDouble1 ( double  D)

◆ VectorSetDouble3()

FORCEINLINE VectorRegister4Double VectorSetDouble3 ( double  X,
double  Y,
double  Z 
)

◆ VectorSetFloat3() [1/2]

FORCEINLINE VectorRegister4Double VectorSetFloat3 ( double  X,
double  Y,
double  Z 
)

◆ VectorSetFloat3() [2/2]

FORCEINLINE VectorRegister4Float VectorSetFloat3 ( float  X,
float  Y,
float  Z 
)

Creates a vector out of three FLOATs and leaves W undefined.

Parameters
X1st float component
Y2nd float component
Z3rd float component
Returns
VectorRegister4Float(X, Y, Z, undefined)

◆ VectorStore() [1/6]

template<typename T >
FORCEINLINE void VectorStore ( TVectorRegisterType< T >  Vec,
struct UE::Math::TQuat< T > *  Dst 
)

◆ VectorStore() [2/6]

template<typename T >
FORCEINLINE void VectorStore ( VectorRegister4Double  Vec,
UE::Math::TVector4< T > *  Dst 
)

◆ VectorStore() [3/6]

FORCEINLINE void VectorStore ( VectorRegister4Double  Vec,
VectorRegister4Double Dst 
)

◆ VectorStore() [4/6]

FORCEINLINE void VectorStore ( VectorRegister4Float  Vec,
struct UE::Math::TQuat< double > *  Dst 
)

◆ VectorStore() [5/6]

template<typename T >
FORCEINLINE void VectorStore ( VectorRegister4Float  Vec,
UE::Math::TVector4< T > *  Dst 
)

VectorStore.

◆ VectorStore() [6/6]

FORCEINLINE void VectorStore ( VectorRegister4Float  Vec,
VectorRegister4Float Dst 
)

◆ VectorStoreAligned() [1/6]

template<typename T >
FORCEINLINE void VectorStoreAligned ( TVectorRegisterType< T >  Vec,
struct UE::Math::TQuat< T > *  Dst 
)

◆ VectorStoreAligned() [2/6]

template<typename T >
FORCEINLINE void VectorStoreAligned ( TVectorRegisterType< T >  Vec,
UE::Math::TVector4< T > *  Dst 
)

VectorStoreAligned.

◆ VectorStoreAligned() [3/6]

FORCEINLINE void VectorStoreAligned ( VectorRegister4Double  Vec,
VectorRegister4Double Dst 
)

◆ VectorStoreAligned() [4/6]

FORCEINLINE void VectorStoreAligned ( VectorRegister4Float  Vec,
struct UE::Math::TQuat< double > *  Dst 
)

◆ VectorStoreAligned() [5/6]

FORCEINLINE void VectorStoreAligned ( VectorRegister4Float  Vec,
struct UE::Math::TVector4< double > *  Dst 
)

◆ VectorStoreAligned() [6/6]

FORCEINLINE void VectorStoreAligned ( VectorRegister4Float  Vec,
VectorRegister4Float Dst 
)

◆ VectorStoreDouble1()

FORCEINLINE void VectorStoreDouble1 ( VectorRegister4Double  Vec,
double Ptr 
)

◆ VectorStoreDouble3()

FORCEINLINE void VectorStoreDouble3 ( VectorRegister4Double  Vec,
double Ptr 
)

◆ VectorStoreFloat1() [1/3]

FORCEINLINE void VectorStoreFloat1 ( VectorRegister4Double  Vec,
int32 Dst 
)

◆ VectorStoreFloat1() [2/3]

FORCEINLINE void VectorStoreFloat1 ( VectorRegister4Double  Vec,
int64 Dst 
)

◆ VectorStoreFloat1() [3/3]

FORCEINLINE void VectorStoreFloat1 ( VectorRegister4Float  Vec,
int32 Dst 
)

VectorStoreFloat1.

◆ VectorStoreFloat3() [1/4]

template<typename T >
FORCEINLINE void VectorStoreFloat3 ( VectorRegister4Double  Vec,
UE::Math::TRotator< T > *  Dst 
)

◆ VectorStoreFloat3() [2/4]

template<typename T >
FORCEINLINE void VectorStoreFloat3 ( VectorRegister4Double  Vec,
UE::Math::TVector< T > *  Dst 
)

◆ VectorStoreFloat3() [3/4]

template<typename T >
FORCEINLINE void VectorStoreFloat3 ( VectorRegister4Float  Vec,
UE::Math::TRotator< T > *  Dst 
)

◆ VectorStoreFloat3() [4/4]

template<typename T >
FORCEINLINE void VectorStoreFloat3 ( VectorRegister4Float  Vec,
UE::Math::TVector< T > *  Dst 
)

VectorStoreFloat3.

◆ VectorZero()