![]() |
UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
|
#include "CoreTypes.h"#include "Math/UnrealMathUtility.h"#include "Math/UnrealMathFPU.h"#include "Math/UnrealMathVectorCommon.h.inl"Go to the source code of this file.
Namespaces | |
| namespace | UE |
| namespace | UE::Math |
| namespace | UE::Math::VectorRegisterPrivate |
| namespace | GlobalVectorConstants |
Macros | |
| #define | SUPPORT_DOUBLE_TO_FLOAT_VECTOR_CONVERSION 1 |
| #define | SIMD_ALIGNMENT (alignof(VectorRegister)) |
| #define | VectorMask_LT(Vec1, Vec2) VectorCompareLT(Vec1, Vec2) |
| #define | VectorMask_LE(Vec1, Vec2) VectorCompareLE(Vec1, Vec2) |
| #define | VectorMask_GT(Vec1, Vec2) VectorCompareGT(Vec1, Vec2) |
| #define | VectorMask_GE(Vec1, Vec2) VectorCompareGE(Vec1, Vec2) |
| #define | VectorMask_EQ(Vec1, Vec2) VectorCompareEQ(Vec1, Vec2) |
| #define | VectorMask_NE(Vec1, Vec2) VectorCompareNE(Vec1, Vec2) |
| #define | ZERO_ANIMWEIGHT_THRESH (0.00001f) |
| #define | ZERO_ANIMWEIGHT_THRESH_DOUBLE (0.00001) |
Typedefs | |
| template<typename T > | |
| using | TVectorRegisterType = typename UE::Math::VectorRegisterPrivate::TVectorRegisterTypeHelper< T >::Type |
| using | PersistentVectorRegister4Double = VectorRegister4Double |
| using | PersistentVectorRegister4Float = VectorRegister4Float |
| template<typename T > | |
| using | TPersistentVectorRegisterType = std::conditional_t< std::is_same_v< T, float >, PersistentVectorRegister4Float, std::conditional_t< std::is_same_v< T, double >, PersistentVectorRegister4Double, void > > |
Variables | |
| constexpr VectorRegister | VECTOR_INV_255 = MakeVectorRegisterDoubleConstant(1.0 / 255, 1.0 / 255, 1.0 / 255, 1.0 / 255) |
| constexpr VectorRegister | GlobalVectorConstants::AnimWeightThreshold = MakeVectorRegisterConstant(ZERO_ANIMWEIGHT_THRESH_DOUBLE, ZERO_ANIMWEIGHT_THRESH_DOUBLE, ZERO_ANIMWEIGHT_THRESH_DOUBLE, ZERO_ANIMWEIGHT_THRESH_DOUBLE) |
| constexpr VectorRegister | GlobalVectorConstants::RotationSignificantThreshold = MakeVectorRegisterConstant(1.0 - UE_DELTA*UE_DELTA, 1.0 - UE_DELTA*UE_DELTA, 1.0 - UE_DELTA*UE_DELTA, 1.0 - UE_DELTA*UE_DELTA) |
| #define SIMD_ALIGNMENT (alignof(VectorRegister)) |
| #define SUPPORT_DOUBLE_TO_FLOAT_VECTOR_CONVERSION 1 |
| #define ZERO_ANIMWEIGHT_THRESH (0.00001f) |
Below this weight threshold, animations won't be blended in.
| #define ZERO_ANIMWEIGHT_THRESH_DOUBLE (0.00001) |
| using TPersistentVectorRegisterType = std::conditional_t<std::is_same_v<T, float>, PersistentVectorRegister4Float, std::conditional_t<std::is_same_v<T, double>, PersistentVectorRegister4Double, void> > |
Alias for VectorRegister type to be used as member variables of structs, when alignment should not be over 16 bytes. 32-byte alignment requires large allocations in some allocators, which we want to avoid. See PersistentVectorRegister4Double for more details.
Usage example: TPersistentVectorRegisterType<float> MyFloatRegister; TPersistentVectorRegisterType<double> MyDoubleRegister;
| using TVectorRegisterType = typename UE::Math::VectorRegisterPrivate::TVectorRegisterTypeHelper<T>::Type |
|
inlineconstexpr |
Vector that represents (1/255,1/255,1/255,1/255)