Ark Server API (ASA) - Wiki
Loading...
Searching...
No Matches
UnrealMathVectorCommon.h File Reference
+ This graph shows which files directly or indirectly include this file:

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< TVectorLoad (const UE::Math::TQuat< T > *Ptr)
 VectorLoad.
 
template<typename T >
FORCEINLINE TVectorRegisterType< TVectorLoad (const UE::Math::TVector4< T > *Ptr)
 
FORCEINLINE VectorRegister4Float VectorLoad (const VectorRegister4Float *Ptr)
 
FORCEINLINE VectorRegister4Double VectorLoad (const VectorRegister4Double *Ptr)
 
template<typename T >
FORCEINLINE TVectorRegisterType< TVectorLoadAligned (const UE::Math::TQuat< T > *Ptr)
 VectorLoadAligned.
 
template<typename T >
FORCEINLINE TVectorRegisterType< TVectorLoadAligned (const UE::Math::TVector4< T > *Ptr)
 
template<typename T >
FORCEINLINE TVectorRegisterType< TVectorLoadAligned (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< TVectorLoadFloat3 (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< TVectorLoadFloat3_W0 (const UE::Math::TVector< T > *Ptr)
 
template<typename T >
FORCEINLINE TVectorRegisterType< TVectorLoadFloat3_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< TVectorLoadFloat3_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 (const TVectorRegisterType< T > &Vec, UE::Math::TVector4< T > *Dst)
 VectorStoreAligned.
 
FORCEINLINE void VectorStoreAligned (const VectorRegister4Float &Vec, struct UE::Math::TVector4< double > *Dst)
 
template<typename T >
FORCEINLINE void VectorStoreAligned (const TVectorRegisterType< T > &Vec, struct UE::Math::TQuat< T > *Dst)
 
FORCEINLINE void VectorStoreAligned (const VectorRegister4Float &Vec, struct UE::Math::TQuat< double > *Dst)
 
FORCEINLINE void VectorStoreAligned (const VectorRegister4Float &Vec, VectorRegister4Float *Dst)
 
FORCEINLINE void VectorStoreAligned (const VectorRegister4Double &Vec, VectorRegister4Double *Dst)
 
template<typename T >
FORCEINLINE void VectorStore (const VectorRegister4Float &Vec, UE::Math::TVector4< T > *Dst)
 VectorStore.
 
template<typename T >
FORCEINLINE void VectorStore (const VectorRegister4Double &Vec, UE::Math::TVector4< T > *Dst)
 
template<typename T >
FORCEINLINE void VectorStore (const TVectorRegisterType< T > &Vec, struct UE::Math::TQuat< T > *Dst)
 
FORCEINLINE void VectorStore (const VectorRegister4Float &Vec, struct UE::Math::TQuat< double > *Dst)
 
FORCEINLINE void VectorStore (const VectorRegister4Float &Vec, VectorRegister4Float *Dst)
 
FORCEINLINE void VectorStore (const VectorRegister4Double &Vec, VectorRegister4Double *Dst)
 
template<typename T >
FORCEINLINE void VectorStoreFloat3 (const VectorRegister4Float &Vec, UE::Math::TVector< T > *Dst)
 VectorStoreFloat3.
 
template<typename T >
FORCEINLINE void VectorStoreFloat3 (const VectorRegister4Double &Vec, UE::Math::TVector< T > *Dst)
 
template<typename T >
FORCEINLINE void VectorStoreFloat3 (const VectorRegister4Float &Vec, UE::Math::TRotator< T > *Dst)
 
template<typename T >
FORCEINLINE void VectorStoreFloat3 (const VectorRegister4Double &Vec, UE::Math::TRotator< T > *Dst)
 
FORCEINLINE void VectorStoreFloat1 (const VectorRegister4Float &Vec, int32 *Dst)
 VectorStoreFloat1.
 
FORCEINLINE void VectorStoreFloat1 (const VectorRegister4Double &Vec, int32 *Dst)
 
FORCEINLINE void VectorStoreFloat1 (const VectorRegister4Double &Vec, int64 *Dst)
 
FORCEINLINE VectorRegister4Float VectorReciprocalSqrtAccurate (const VectorRegister4Float &Vec)
 
FORCEINLINE VectorRegister4Double VectorReciprocalSqrtAccurate (const VectorRegister4Double &Vec)
 
FORCEINLINE VectorRegister4Float VectorReciprocalAccurate (const VectorRegister4Float &Vec)
 
FORCEINLINE VectorRegister4Double VectorReciprocalAccurate (const VectorRegister4Double &Vec)
 
template<typename TVectorRegisterType >
FORCEINLINE TVectorRegisterType VectorNormalize (const TVectorRegisterType &Vector)
 
template<typename TVectorRegisterType >
FORCEINLINE TVectorRegisterType VectorNormalizeAccurate (const TVectorRegisterType &Vector)
 
template<typename TVectorRegisterType >
FORCEINLINE TVectorRegisterType VectorNormalizeEstimate (const TVectorRegisterType &Vector)
 
FORCEINLINE VectorRegister4Float VectorNormalizeSafe (const VectorRegister4Float &Vector, const VectorRegister4Float &DefaultValue)
 
FORCEINLINE VectorRegister4Double VectorNormalizeSafe (const VectorRegister4Double &Vector, const 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 (const VectorRegister4Float &X, const VectorRegister4Float &VecMin, const VectorRegister4Float &VecMax)
 
FORCEINLINE VectorRegister4Double VectorClamp (const VectorRegister4Double &X, const VectorRegister4Double &VecMin, const VectorRegister4Double &VecMax)
 
FORCEINLINE VectorRegister4Float VectorLerp (const VectorRegister4Float &A, const VectorRegister4Float &B, const VectorRegister4Float &Alpha)
 
FORCEINLINE VectorRegister4Double VectorLerp (const VectorRegister4Double &A, const VectorRegister4Double &B, const VectorRegister4Double &Alpha)
 
FORCEINLINE VectorRegister4Float VectorAccumulateQuaternionShortestPath (const VectorRegister4Float &A, const VectorRegister4Float &B)
 
FORCEINLINE VectorRegister4Double VectorAccumulateQuaternionShortestPath (const VectorRegister4Double &A, const VectorRegister4Double &B)
 
FORCEINLINE VectorRegister4Float VectorNormalizeQuaternion (const VectorRegister4Float &UnnormalizedQuat)
 
FORCEINLINE VectorRegister4Double VectorNormalizeQuaternion (const VectorRegister4Double &UnnormalizedQuat)
 
FORCEINLINE VectorRegister4Float VectorMod360 (const VectorRegister4Float &X)
 
FORCEINLINE VectorRegister4Double VectorMod360 (const VectorRegister4Double &X)
 
FORCEINLINE VectorRegister4Float VectorNormalizeRotator (const VectorRegister4Float &UnnormalizedRotator)
 
FORCEINLINE VectorRegister4Double VectorNormalizeRotator (const VectorRegister4Double &UnnormalizedRotator)
 
FORCEINLINE VectorRegister4Float VectorLerpQuat (const VectorRegister4Float &A, const VectorRegister4Float &B, const VectorRegister4Float &Alpha)
 
FORCEINLINE VectorRegister4Double VectorLerpQuat (const VectorRegister4Double &A, const VectorRegister4Double &B, const VectorRegister4Double &Alpha)
 
FORCEINLINE VectorRegister4Float VectorBiLerpQuat (const VectorRegister4Float &P00, const VectorRegister4Float &P10, const VectorRegister4Float &P01, const VectorRegister4Float &P11, const VectorRegister4Float &FracX, const VectorRegister4Float &FracY)
 
FORCEINLINE VectorRegister4Double VectorBiLerpQuat (const VectorRegister4Double &P00, const VectorRegister4Double &P10, const VectorRegister4Double &P01, const VectorRegister4Double &P11, const VectorRegister4Double &FracX, const VectorRegister4Double &FracY)
 
FORCEINLINE VectorRegister4Float VectorQuaternionInverse (const VectorRegister4Float &NormalizedQuat)
 
FORCEINLINE VectorRegister4Double VectorQuaternionInverse (const VectorRegister4Double &NormalizedQuat)
 
FORCEINLINE VectorRegister4Float VectorQuaternionRotateVector (const VectorRegister4Float &Quat, const VectorRegister4Float &VectorW0)
 
FORCEINLINE VectorRegister4Double VectorQuaternionRotateVector (const VectorRegister4Double &Quat, const VectorRegister4Double &VectorW0)
 
FORCEINLINE VectorRegister4Float VectorQuaternionInverseRotateVector (const VectorRegister4Float &Quat, const VectorRegister4Float &VectorW0)
 
FORCEINLINE VectorRegister4Double VectorQuaternionInverseRotateVector (const VectorRegister4Double &Quat, const 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 (const VectorRegister4Double &Vec, double *Ptr)
 
FORCEINLINE void VectorStoreDouble1 (const 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 (const VectorRegister4Float &Vec)
 
FORCEINLINE VectorRegister4Double VectorFractional (const 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

Definition at line 932 of file UnrealMathVectorCommon.h.

◆ MakeVectorRegister()

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

Definition at line 11 of file UnrealMathVectorCommon.h.

+ Here is the call graph for this function:

◆ VectorAccumulateQuaternionShortestPath() [1/2]

FORCEINLINE VectorRegister4Double VectorAccumulateQuaternionShortestPath ( const VectorRegister4Double & A,
const VectorRegister4Double & B )

Definition at line 585 of file UnrealMathVectorCommon.h.

+ Here is the call graph for this function:

◆ VectorAccumulateQuaternionShortestPath() [2/2]

FORCEINLINE VectorRegister4Float VectorAccumulateQuaternionShortestPath ( const VectorRegister4Float & A,
const VectorRegister4Float & B )

Definition at line 571 of file UnrealMathVectorCommon.h.

◆ VectorAllGreaterThan() [1/2]

FORCEINLINE uint32 VectorAllGreaterThan ( VectorRegister4Double Vec1,
VectorRegister4Double Vec2 )

Definition at line 472 of file UnrealMathVectorCommon.h.

◆ 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)

Definition at line 467 of file UnrealMathVectorCommon.h.

+ Here is the call graph for this function:

◆ VectorAllLesserThan() [1/2]

FORCEINLINE uint32 VectorAllLesserThan ( VectorRegister4Double Vec1,
VectorRegister4Double Vec2 )

Definition at line 489 of file UnrealMathVectorCommon.h.

◆ 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)

Definition at line 484 of file UnrealMathVectorCommon.h.

+ Here is the call graph for this function:

◆ VectorAnyLesserThan() [1/2]

FORCEINLINE uint32 VectorAnyLesserThan ( VectorRegister4Double Vec1,
VectorRegister4Double Vec2 )

Definition at line 455 of file UnrealMathVectorCommon.h.

◆ 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)

Definition at line 450 of file UnrealMathVectorCommon.h.

+ Here is the call graph for this function:

◆ VectorBiLerpQuat() [1/2]

Definition at line 712 of file UnrealMathVectorCommon.h.

+ Here is the call graph for this function:

◆ VectorBiLerpQuat() [2/2]

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

Definition at line 704 of file UnrealMathVectorCommon.h.

+ Here is the call graph for this function:

◆ VectorClamp() [1/2]

◆ VectorClamp() [2/2]

Clamps X to be between VecMin and VecMax, inclusive.

Definition at line 495 of file UnrealMathVectorCommon.h.

◆ VectorFractional() [1/2]

Definition at line 888 of file UnrealMathVectorCommon.h.

+ Here is the call graph for this function:

◆ VectorFractional() [2/2]

Definition at line 883 of file UnrealMathVectorCommon.h.

+ Here is the call graph for this function:

◆ VectorLerp() [1/2]

◆ VectorLerp() [2/2]

Lerp between two vectors

Definition at line 532 of file UnrealMathVectorCommon.h.

◆ VectorLerpQuat() [1/2]

Definition at line 680 of file UnrealMathVectorCommon.h.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ VectorLerpQuat() [2/2]

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

Definition at line 660 of file UnrealMathVectorCommon.h.

+ Here is the caller graph for this function:

◆ VectorLoad() [1/4]

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

VectorLoad.

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

Definition at line 35 of file UnrealMathVectorCommon.h.

◆ VectorLoad() [2/4]

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

Definition at line 41 of file UnrealMathVectorCommon.h.

◆ VectorLoad() [3/4]

◆ VectorLoad() [4/4]

Definition at line 46 of file UnrealMathVectorCommon.h.

◆ VectorLoadAligned() [1/5]

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

Definition at line 74 of file UnrealMathVectorCommon.h.

◆ VectorLoadAligned() [2/5]

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

VectorLoadAligned.

Definition at line 62 of file UnrealMathVectorCommon.h.

◆ VectorLoadAligned() [3/5]

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

Definition at line 68 of file UnrealMathVectorCommon.h.

◆ VectorLoadAligned() [4/5]

Definition at line 85 of file UnrealMathVectorCommon.h.

◆ VectorLoadAligned() [5/5]

Definition at line 79 of file UnrealMathVectorCommon.h.

◆ VectorLoadDouble3()

FORCEINLINE VectorRegister4Double VectorLoadDouble3 ( const double * Ptr)

Definition at line 113 of file UnrealMathVectorCommon.h.

+ Here is the caller graph for this function:

◆ VectorLoadDouble3_W0()

FORCEINLINE VectorRegister4Double VectorLoadDouble3_W0 ( const double * Ptr)

Definition at line 151 of file UnrealMathVectorCommon.h.

+ Here is the call graph for this function:

◆ VectorLoadDouble3_W1()

FORCEINLINE VectorRegister4Double VectorLoadDouble3_W1 ( const double * Ptr)

Definition at line 178 of file UnrealMathVectorCommon.h.

◆ VectorLoadFloat1() [1/3]

FORCEINLINE VectorRegister4Double VectorLoadFloat1 ( const double * Ptr)

Definition at line 198 of file UnrealMathVectorCommon.h.

◆ VectorLoadFloat1() [2/3]

Definition at line 193 of file UnrealMathVectorCommon.h.

◆ VectorLoadFloat1() [3/3]

VectorLoadFloat1.

Definition at line 188 of file UnrealMathVectorCommon.h.

◆ 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)

Definition at line 102 of file UnrealMathVectorCommon.h.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ VectorLoadFloat3() [2/2]

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

Definition at line 108 of file UnrealMathVectorCommon.h.

◆ VectorLoadFloat3_W0() [1/4]

FORCEINLINE VectorRegister4Double VectorLoadFloat3_W0 ( const double * Ptr)

Definition at line 134 of file UnrealMathVectorCommon.h.

◆ 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)

Definition at line 129 of file UnrealMathVectorCommon.h.

+ Here is the call graph for this function:

◆ VectorLoadFloat3_W0() [3/4]

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

Definition at line 146 of file UnrealMathVectorCommon.h.

◆ VectorLoadFloat3_W0() [4/4]

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

Definition at line 140 of file UnrealMathVectorCommon.h.

◆ 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)

Definition at line 167 of file UnrealMathVectorCommon.h.

+ Here is the call graph for this function:

◆ VectorLoadFloat3_W1() [2/2]

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

Definition at line 173 of file UnrealMathVectorCommon.h.

◆ VectorMod360() [1/2]

Definition at line 619 of file UnrealMathVectorCommon.h.

+ Here is the caller graph for this function:

◆ VectorMod360() [2/2]

Definition at line 611 of file UnrealMathVectorCommon.h.

+ Here is the caller graph for this function:

◆ VectorMultiply()

◆ VectorMultiplyAdd() [1/2]

◆ VectorMultiplyAdd() [2/2]

◆ VectorNormalize()

Definition at line 406 of file UnrealMathVectorCommon.h.

◆ VectorNormalizeAccurate()

FORCEINLINE TVectorRegisterType VectorNormalizeAccurate ( const TVectorRegisterType & Vector)

Definition at line 412 of file UnrealMathVectorCommon.h.

◆ VectorNormalizeEstimate()

FORCEINLINE TVectorRegisterType VectorNormalizeEstimate ( const TVectorRegisterType & Vector)

Definition at line 418 of file UnrealMathVectorCommon.h.

◆ VectorNormalizeQuaternion() [1/2]

FORCEINLINE VectorRegister4Double VectorNormalizeQuaternion ( const VectorRegister4Double & UnnormalizedQuat)

Definition at line 605 of file UnrealMathVectorCommon.h.

◆ VectorNormalizeQuaternion() [2/2]

FORCEINLINE VectorRegister4Float VectorNormalizeQuaternion ( const VectorRegister4Float & UnnormalizedQuat)

Definition at line 600 of file UnrealMathVectorCommon.h.

◆ VectorNormalizeRotator() [1/2]

FORCEINLINE VectorRegister4Double VectorNormalizeRotator ( const VectorRegister4Double & UnnormalizedRotator)

Definition at line 642 of file UnrealMathVectorCommon.h.

+ Here is the call graph for this function:

◆ VectorNormalizeRotator() [2/2]

FORCEINLINE VectorRegister4Float VectorNormalizeRotator ( const VectorRegister4Float & UnnormalizedRotator)

Definition at line 628 of file UnrealMathVectorCommon.h.

+ Here is the call graph for this function:

◆ VectorNormalizeSafe() [1/2]

FORCEINLINE VectorRegister4Double VectorNormalizeSafe ( const VectorRegister4Double & Vector,
const VectorRegister4Double & DefaultValue )

Definition at line 434 of file UnrealMathVectorCommon.h.

+ Here is the call graph for this function:

◆ VectorNormalizeSafe() [2/2]

FORCEINLINE VectorRegister4Float VectorNormalizeSafe ( const VectorRegister4Float & Vector,
const VectorRegister4Float & DefaultValue )

Definition at line 425 of file UnrealMathVectorCommon.h.

+ Here is the call graph for this function:

◆ VectorOne()

Definition at line 21 of file UnrealMathVectorCommon.h.

◆ VectorQuaternionInverse() [1/2]

FORCEINLINE VectorRegister4Double VectorQuaternionInverse ( const VectorRegister4Double & NormalizedQuat)

Definition at line 728 of file UnrealMathVectorCommon.h.

+ Here is the caller graph for this function:

◆ VectorQuaternionInverse() [2/2]

FORCEINLINE VectorRegister4Float VectorQuaternionInverse ( const VectorRegister4Float & NormalizedQuat)

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

Definition at line 723 of file UnrealMathVectorCommon.h.

+ Here is the caller graph for this function:

◆ VectorQuaternionInverseRotateVector() [1/2]

FORCEINLINE VectorRegister4Double VectorQuaternionInverseRotateVector ( const VectorRegister4Double & Quat,
const VectorRegister4Double & VectorW0 )

Definition at line 794 of file UnrealMathVectorCommon.h.

+ Here is the call graph for this function:

◆ VectorQuaternionInverseRotateVector() [2/2]

FORCEINLINE VectorRegister4Float VectorQuaternionInverseRotateVector ( const VectorRegister4Float & Quat,
const 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.

Definition at line 783 of file UnrealMathVectorCommon.h.

+ Here is the call graph for this function:

◆ VectorQuaternionMultiply() [1/2]

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

Definition at line 902 of file UnrealMathVectorCommon.h.

+ Here is the call graph for this function:

◆ VectorQuaternionMultiply() [2/2]

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

Definition at line 894 of file UnrealMathVectorCommon.h.

+ Here is the call graph for this function:

◆ VectorQuaternionRotateVector() [1/2]

FORCEINLINE VectorRegister4Double VectorQuaternionRotateVector ( const VectorRegister4Double & Quat,
const VectorRegister4Double & VectorW0 )

Definition at line 765 of file UnrealMathVectorCommon.h.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ VectorQuaternionRotateVector() [2/2]

FORCEINLINE VectorRegister4Float VectorQuaternionRotateVector ( const VectorRegister4Float & Quat,
const 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.

Definition at line 741 of file UnrealMathVectorCommon.h.

+ Here is the caller graph for this function:

◆ VectorReciprocalAccurate() [1/2]

FORCEINLINE VectorRegister4Double VectorReciprocalAccurate ( const VectorRegister4Double & Vec)

Definition at line 396 of file UnrealMathVectorCommon.h.

+ Here is the call graph for this function:

◆ VectorReciprocalAccurate() [2/2]

FORCEINLINE VectorRegister4Float VectorReciprocalAccurate ( const 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 )

Definition at line 391 of file UnrealMathVectorCommon.h.

◆ VectorReciprocalSqrtAccurate() [1/2]

FORCEINLINE VectorRegister4Double VectorReciprocalSqrtAccurate ( const VectorRegister4Double & Vec)

Definition at line 380 of file UnrealMathVectorCommon.h.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ VectorReciprocalSqrtAccurate() [2/2]

FORCEINLINE VectorRegister4Float VectorReciprocalSqrtAccurate ( const VectorRegister4Float & Vec)

Definition at line 375 of file UnrealMathVectorCommon.h.

+ Here is the caller graph for this function:

◆ VectorSet() [1/3]

Definition at line 872 of file UnrealMathVectorCommon.h.

+ Here is the call graph for this function:

◆ VectorSet() [2/3]

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)

Definition at line 867 of file UnrealMathVectorCommon.h.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ VectorSet() [3/3]

Definition at line 878 of file UnrealMathVectorCommon.h.

+ Here is the call graph for this function:

◆ VectorSetDouble()

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

Definition at line 815 of file UnrealMathVectorCommon.h.

+ Here is the call graph for this function:

◆ VectorSetDouble1()

FORCEINLINE VectorRegister4Double VectorSetDouble1 ( double D)

Definition at line 820 of file UnrealMathVectorCommon.h.

◆ VectorSetDouble3()

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

Definition at line 853 of file UnrealMathVectorCommon.h.

+ Here is the call graph for this function:

◆ VectorSetFloat3() [1/2]

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

Definition at line 848 of file UnrealMathVectorCommon.h.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ 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)

Definition at line 843 of file UnrealMathVectorCommon.h.

+ Here is the call graph for this function:

◆ VectorStore() [1/6]

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

Definition at line 278 of file UnrealMathVectorCommon.h.

◆ VectorStore() [2/6]

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

Definition at line 272 of file UnrealMathVectorCommon.h.

◆ VectorStore() [3/6]

Definition at line 295 of file UnrealMathVectorCommon.h.

◆ VectorStore() [4/6]

Definition at line 284 of file UnrealMathVectorCommon.h.

◆ VectorStore() [5/6]

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

VectorStore.

Definition at line 266 of file UnrealMathVectorCommon.h.

◆ VectorStore() [6/6]

Definition at line 290 of file UnrealMathVectorCommon.h.

◆ VectorStoreAligned() [1/6]

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

Definition at line 230 of file UnrealMathVectorCommon.h.

◆ VectorStoreAligned() [2/6]

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

VectorStoreAligned.

Definition at line 217 of file UnrealMathVectorCommon.h.

◆ VectorStoreAligned() [3/6]

FORCEINLINE void VectorStoreAligned ( const VectorRegister4Double & Vec,
VectorRegister4Double * Dst )

Definition at line 247 of file UnrealMathVectorCommon.h.

◆ VectorStoreAligned() [4/6]

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

Definition at line 236 of file UnrealMathVectorCommon.h.

◆ VectorStoreAligned() [5/6]

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

Definition at line 223 of file UnrealMathVectorCommon.h.

◆ VectorStoreAligned() [6/6]

FORCEINLINE void VectorStoreAligned ( const VectorRegister4Float & Vec,
VectorRegister4Float * Dst )

Definition at line 242 of file UnrealMathVectorCommon.h.

◆ VectorStoreDouble1()

FORCEINLINE void VectorStoreDouble1 ( const VectorRegister4Double & Vec,
double * Ptr )

Definition at line 830 of file UnrealMathVectorCommon.h.

◆ VectorStoreDouble3()

FORCEINLINE void VectorStoreDouble3 ( const VectorRegister4Double & Vec,
double * Ptr )

Definition at line 825 of file UnrealMathVectorCommon.h.

◆ VectorStoreFloat1() [1/3]

FORCEINLINE void VectorStoreFloat1 ( const VectorRegister4Double & Vec,
int32 * Dst )

Definition at line 355 of file UnrealMathVectorCommon.h.

+ Here is the call graph for this function:

◆ VectorStoreFloat1() [2/3]

FORCEINLINE void VectorStoreFloat1 ( const VectorRegister4Double & Vec,
int64 * Dst )

Definition at line 365 of file UnrealMathVectorCommon.h.

◆ VectorStoreFloat1() [3/3]

FORCEINLINE void VectorStoreFloat1 ( const VectorRegister4Float & Vec,
int32 * Dst )

VectorStoreFloat1.

Definition at line 350 of file UnrealMathVectorCommon.h.

+ Here is the caller graph for this function:

◆ VectorStoreFloat3() [1/4]

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

Definition at line 332 of file UnrealMathVectorCommon.h.

◆ VectorStoreFloat3() [2/4]

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

Definition at line 320 of file UnrealMathVectorCommon.h.

◆ VectorStoreFloat3() [3/4]

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

Definition at line 326 of file UnrealMathVectorCommon.h.

◆ VectorStoreFloat3() [4/4]

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

VectorStoreFloat3.

Definition at line 314 of file UnrealMathVectorCommon.h.

◆ VectorZero()

Definition at line 16 of file UnrealMathVectorCommon.h.