7#if KISMET_MATH_INLINE_ENABLED
8 #define KISMET_MATH_INLINE inline
10 #define KISMET_MATH_INLINE
14bool UKismetMathLibrary::RandomBool()
20bool UKismetMathLibrary::Not_PreBool(
bool A)
26bool UKismetMathLibrary::EqualEqual_BoolBool(
bool A,
bool B)
28 return ((!
A) == (!B));
32bool UKismetMathLibrary::NotEqual_BoolBool(
bool A,
bool B)
34 return ((!
A) != (!B));
38bool UKismetMathLibrary::BooleanAND(
bool A,
bool B)
44bool UKismetMathLibrary::BooleanNAND(
bool A,
bool B)
50bool UKismetMathLibrary::BooleanOR(
bool A,
bool B)
56bool UKismetMathLibrary::BooleanXOR(
bool A,
bool B)
62bool UKismetMathLibrary::BooleanNOR(
bool A,
bool B)
90 ReportError_Divide_ByteByte();
102 ReportError_Percent_ByteByte();
112 return FMath::Min<uint8>(
A, B);
118 return FMath::Max<uint8>(
A, B);
128bool UKismetMathLibrary::Greater_ByteByte(
uint8 A,
uint8 B)
134bool UKismetMathLibrary::LessEqual_ByteByte(
uint8 A,
uint8 B)
140bool UKismetMathLibrary::GreaterEqual_ByteByte(
uint8 A,
uint8 B)
146bool UKismetMathLibrary::EqualEqual_ByteByte(
uint8 A,
uint8 B)
152bool UKismetMathLibrary::NotEqual_ByteByte(
uint8 A,
uint8 B)
182bool UKismetMathLibrary::Greater_IntInt(
int32 A,
int32 B)
188bool UKismetMathLibrary::LessEqual_IntInt(
int32 A,
int32 B)
194bool UKismetMathLibrary::GreaterEqual_IntInt(
int32 A,
int32 B)
200bool UKismetMathLibrary::EqualEqual_IntInt(
int32 A,
int32 B)
206bool UKismetMathLibrary::NotEqual_IntInt(
int32 A,
int32 B)
238 return FMath::Sign<int32>(
A);
256 return FMath::Min(
A, B);
262 return FMath::Max(
A, B);
281 return FMath::Abs(
A);
303bool UKismetMathLibrary::Less_Int64Int64(
int64 A,
int64 B)
309bool UKismetMathLibrary::Greater_Int64Int64(
int64 A,
int64 B)
315bool UKismetMathLibrary::LessEqual_Int64Int64(
int64 A,
int64 B)
321bool UKismetMathLibrary::GreaterEqual_Int64Int64(
int64 A,
int64 B)
327bool UKismetMathLibrary::EqualEqual_Int64Int64(
int64 A,
int64 B)
333bool UKismetMathLibrary::NotEqual_Int64Int64(
int64 A,
int64 B)
365 return FMath::Sign<int64>(
A);
383 return FMath::Min(
A, B);
389 return FMath::Max(
A, B);
401 return FMath::Abs(
A);
405double UKismetMathLibrary::MultiplyMultiply_FloatFloat(
double Base,
double Exp)
407 return FMath::Pow(Base, Exp);
411double UKismetMathLibrary::Multiply_IntFloat(
int32 A,
double B)
421 ReportError_Divide_IntInt();
433 ReportError_Divide_Int64Int64();
446 ReportError_Percent_IntInt();
458 ReportError_Percent_Int64Int64();
466double UKismetMathLibrary::Fraction(
double A)
468 return FMath::Fractional(
A);
472double UKismetMathLibrary::Add_DoubleDouble(
double A,
double B)
478double UKismetMathLibrary::Subtract_DoubleDouble(
double A,
double B)
484double UKismetMathLibrary::Multiply_DoubleDouble(
double A,
double B)
490double UKismetMathLibrary::Divide_DoubleDouble(
double A,
double B)
494 ReportError_Divide_DoubleDouble();
501bool UKismetMathLibrary::Less_DoubleDouble(
double A,
double B)
507bool UKismetMathLibrary::Greater_DoubleDouble(
double A,
double B)
513bool UKismetMathLibrary::LessEqual_DoubleDouble(
double A,
double B)
519bool UKismetMathLibrary::GreaterEqual_DoubleDouble(
double A,
double B)
525bool UKismetMathLibrary::EqualEqual_DoubleDouble(
double A,
double B)
531bool UKismetMathLibrary::NearlyEqual_FloatFloat(
double A,
double B,
double ErrorTolerance)
537bool UKismetMathLibrary::NotEqual_DoubleDouble(
double A,
double B)
543double UKismetMathLibrary::GridSnap_Float(
double Location,
double GridSize)
549double UKismetMathLibrary::GetPI()
555double UKismetMathLibrary::GetTAU()
561double UKismetMathLibrary::DegreesToRadians(
double A)
567double UKismetMathLibrary::RadiansToDegrees(
double A)
573double UKismetMathLibrary::Abs(
double A)
575 return FMath::Abs(
A);
579double UKismetMathLibrary::Sin(
double A)
581 return FMath::Sin(
A);
585double UKismetMathLibrary::Asin(
double A)
587 return FMath::Asin(
A);
591double UKismetMathLibrary::Cos(
double A)
593 return FMath::Cos(
A);
597double UKismetMathLibrary::Acos(
double A)
599 return FMath::Acos(
A);
603double UKismetMathLibrary::Tan(
double A)
605 return FMath::Tan(
A);
609double UKismetMathLibrary::Atan(
double A)
611 return FMath::Atan(
A);
615double UKismetMathLibrary::Atan2(
double Y,
double X)
617 return FMath::Atan2(Y, X);
621double UKismetMathLibrary::DegSin(
double A)
627double UKismetMathLibrary::DegAsin(
double A)
633double UKismetMathLibrary::DegCos(
double A)
639double UKismetMathLibrary::DegAcos(
double A)
645double UKismetMathLibrary::DegTan(
double A)
651double UKismetMathLibrary::DegAtan(
double A)
657double UKismetMathLibrary::DegAtan2(
double Y,
double X)
669double UKismetMathLibrary::Exp(
double A)
671 return FMath::Exp(
A);
675double UKismetMathLibrary::Loge(
double A)
677 return FMath::Loge(
A);
681double UKismetMathLibrary::Sqrt(
double A)
685 return FMath::Sqrt(
A);
695double UKismetMathLibrary::Square(
double A)
701int32 UKismetMathLibrary::Round(
double A)
703 return static_cast<int32>(FMath::RoundToInt(
A));
707int32 UKismetMathLibrary::FFloor(
double A)
709 return static_cast<int32>(FMath::FloorToInt(
A));
713int32 UKismetMathLibrary::FTrunc(
double A)
715 return static_cast<int32>(FMath::TruncToInt(
A));
719int64 UKismetMathLibrary::Round64(
double A)
721 return (
int64)FMath::RoundToDouble(
A);
725int64 UKismetMathLibrary::FFloor64(
double A)
727 return (
int64)FMath::FloorToDouble(
A);
731int64 UKismetMathLibrary::FTrunc64(
double A)
737int64 UKismetMathLibrary::FCeil64(
double A)
739 return (
int64)FMath::CeilToDouble(
A);
743int32 UKismetMathLibrary::FCeil(
double A)
745 return static_cast<int32>(FMath::CeilToInt(
A));
749double UKismetMathLibrary::SignOfFloat(
double A)
751 return FMath::Sign<double>(
A);
755double UKismetMathLibrary::MultiplyByPi(
double Value)
767double UKismetMathLibrary::RandomFloat()
769 return FMath::FRand();
773double UKismetMathLibrary::RandomFloatInRange(
double Min,
double Max)
779double UKismetMathLibrary::FMin(
double A,
double B)
781 return FMath::Min(
A, B);
785double UKismetMathLibrary::FMax(
double A,
double B)
787 return FMath::Max(
A, B);
791double UKismetMathLibrary::FClamp(
double V,
double A,
double B)
797double UKismetMathLibrary::FWrap(
double Value,
double Min,
double Max)
803double UKismetMathLibrary::Lerp(
double A,
double B,
double V)
809double UKismetMathLibrary::FInterpTo(
double Current,
double Target,
double DeltaTime,
double InterpSpeed)
815double UKismetMathLibrary::FInterpTo_Constant(
double Current,
double Target,
double DeltaTime,
double InterpSpeed)
832bool UKismetMathLibrary::EqualEqual_RotatorRotator(
FRotator A,
FRotator B,
float ErrorTolerance)
834 return A.Equals(B, ErrorTolerance);
838bool UKismetMathLibrary::NotEqual_RotatorRotator(
FRotator A,
FRotator B,
float ErrorTolerance)
840 return !
A.Equals(B, ErrorTolerance);
938FIntPoint UKismetMathLibrary::IntPoint_Zero()
944FIntPoint UKismetMathLibrary::IntPoint_One()
950FIntPoint UKismetMathLibrary::IntPoint_Up()
956FIntPoint UKismetMathLibrary::IntPoint_Left()
962FIntPoint UKismetMathLibrary::IntPoint_Right()
968FIntPoint UKismetMathLibrary::IntPoint_Down()
1019 if (
B.X == 0 ||
B.Y == 0)
1021 ReportError_Divide_IntPointOnIntPoint();
1032 ReportError_Divide_IntPointOnInt();
1056FVector2D UKismetMathLibrary::Vector2D_One()
1062FVector2D UKismetMathLibrary::Vector2D_Unit45Deg()
1068FVector2D UKismetMathLibrary::Vector2D_Zero()
1074FVector2D UKismetMathLibrary::MakeVector2D(
double X,
double Y)
1080void UKismetMathLibrary::BreakVector2D(
FVector2D InVec,
double&
X,
double&
Y)
1127 ReportError_Divide_Vector2DFloat();
1137 if (
B.X == 0.f ||
B.Y == 0.f)
1139 ReportError_Divide_Vector2DVector2D();
1165bool UKismetMathLibrary::EqualEqual_Vector2DVector2D(
FVector2D A,
FVector2D B,
float ErrorTolerance)
1167 return A.Equals(B,ErrorTolerance);
1177bool UKismetMathLibrary::NotEqual_Vector2DVector2D(
FVector2D A,
FVector2D B,
float ErrorTolerance)
1179 return !
A.Equals(B,ErrorTolerance);
1189void UKismetMathLibrary::Set2D(
FVector2D&
A,
double X,
double Y)
1231double UKismetMathLibrary::GetAbsMax2D(
FVector2D A)
1233 return A.GetAbsMax();
1237double UKismetMathLibrary::GetMax2D(
FVector2D A)
1243double UKismetMathLibrary::GetMin2D(
FVector2D A)
1255bool UKismetMathLibrary::IsNearlyZero2D(
const FVector2D&
A,
float Tolerance)
1257 return A.IsNearlyZero(Tolerance);
1261bool UKismetMathLibrary::IsZero2D(
const FVector2D&
A)
1291void UKismetMathLibrary::Normalize2D(
FVector2D&
A,
float Tolerance)
1299 return A.SphericalToUnitCartesian();
1321double UKismetMathLibrary::VSize2D(
FVector2D A)
1327double UKismetMathLibrary::VSize2DSquared(
FVector2D A)
1329 return A.SizeSquared();
1337FVector UKismetMathLibrary::Vector_Zero()
1343FVector UKismetMathLibrary::Vector_One()
1349FVector UKismetMathLibrary::Vector_Forward()
1355FVector UKismetMathLibrary::Vector_Backward()
1361FVector UKismetMathLibrary::Vector_Up()
1367FVector UKismetMathLibrary::Vector_Down()
1373FVector UKismetMathLibrary::Vector_Right()
1379FVector UKismetMathLibrary::Vector_Left()
1385FVector UKismetMathLibrary::MakeVector(
double X,
double Y,
double Z)
1391void UKismetMathLibrary::Vector_Assign(
FVector&
A,
const FVector& InVector)
1397void UKismetMathLibrary::Vector_Set(
FVector&
A,
double X,
double Y,
double Z)
1403void UKismetMathLibrary::BreakVector(
FVector InVec,
double&
X,
double&
Y,
double&
Z)
1413 return InVec.ToOrientationRotator();
1419 return InVec.ToOrientationQuat();
1475 ReportError_Divide_VectorFloat();
1487 ReportError_Divide_VectorInt();
1497 if (
B.X == 0.f ||
B.Y == 0.f ||
B.Z == 0.f)
1499 ReportError_Divide_VectorVector();
1545 return B.UnrotateVector(
A);
1551 return B.RotateVector(
A);
1561bool UKismetMathLibrary::EqualEqual_VectorVector(
FVector A,
FVector B,
float ErrorTolerance)
1563 return A.Equals(B, ErrorTolerance);
1573bool UKismetMathLibrary::NotEqual_VectorVector(
FVector A,
FVector B,
float ErrorTolerance)
1575 return !
A.Equals(B, ErrorTolerance);
1591double UKismetMathLibrary::Vector_Distance(
FVector V1,
FVector V2)
1597double UKismetMathLibrary::Vector_DistanceSquared(
FVector V1,
FVector V2)
1603double UKismetMathLibrary::Vector_Distance2D(
FVector V1,
FVector V2)
1609double UKismetMathLibrary::Vector_Distance2DSquared(
FVector V1,
FVector V2)
1615double UKismetMathLibrary::VSize(
FVector A)
1621double UKismetMathLibrary::VSizeSquared(
FVector A)
1623 return A.SizeSquared();
1627double UKismetMathLibrary::VSizeXY(
FVector A)
1633double UKismetMathLibrary::VSizeXYSquared(
FVector A)
1635 return A.SizeSquared2D();
1639bool UKismetMathLibrary::Vector_IsNearlyZero(
const FVector&
A,
float Tolerance)
1641 return A.IsNearlyZero(Tolerance);
1645bool UKismetMathLibrary::Vector_IsZero(
const FVector&
A)
1647 return (
A.X == 0.0f) && (
A.Y == 0.0f) && (
A.Z == 0.0f);
1651bool UKismetMathLibrary::Vector_IsNAN(
const FVector&
A)
1653 return A.ContainsNaN();
1657bool UKismetMathLibrary::Vector_IsUniform(
const FVector&
A,
float Tolerance)
1659 return A.AllComponentsEqual(Tolerance);
1663bool UKismetMathLibrary::Vector_IsUnit(
const FVector&
A,
float SquaredLenthTolerance)
1665 return A.IsUnit(SquaredLenthTolerance);
1669bool UKismetMathLibrary::Vector_IsNormal(
const FVector&
A)
1671 return A.IsNormalized();
1681FVector UKismetMathLibrary::Vector_Normal2D(
FVector A,
float Tolerance)
1693void UKismetMathLibrary::Vector_Normalize(
FVector&
A,
float Tolerance)
1701 return A + V * (
B -
A);
1731FVector UKismetMathLibrary::RandomPointInBoundingBox_Box(
const FBox Box)
1801 ReportError_ProjectVectorOnToVector();
1849void UKismetMathLibrary::Vector_UnwindEuler(
FVector&
A)
1879double UKismetMathLibrary::GetMinElement(
FVector A)
1885double UKismetMathLibrary::GetMaxElement(
FVector A)
1891double UKismetMathLibrary::Vector_GetAbsMax(
FVector A)
1893 return A.GetAbsMax();
1897double UKismetMathLibrary::Vector_GetAbsMin(
FVector A)
1899 return A.GetAbsMin();
1933double UKismetMathLibrary::Vector_HeadingAngle(
FVector A)
1935 return A.HeadingAngle();
1941 return A.CosineAngle2D(B);
1959 return A.UnitCartesianToSpherical();
1972 static_cast<int32>(FMath::TruncToInt(InVector.
Y)),
1973 static_cast<int32>(FMath::TruncToInt(InVector.
Z)));
1987FVector4 UKismetMathLibrary::Vector4_Zero()
1993FVector4 UKismetMathLibrary::MakeVector4(
double X,
double Y,
double Z,
double W)
1999void UKismetMathLibrary::BreakVector4(
const FVector4&
InVec,
double&
X,
double&
Y,
double&
Z,
double& W)
2016 return InVec.ToOrientationRotator();
2022 return InVec.ToOrientationQuat();
2050bool UKismetMathLibrary::EqualExactly_Vector4Vector4(
const FVector4&
A,
const FVector4&
B)
2056bool UKismetMathLibrary::EqualEqual_Vector4Vector4(
const FVector4&
A,
const FVector4&
B,
float ErrorTolerance)
2058 return A.Equals(B, ErrorTolerance);
2062bool UKismetMathLibrary::NotEqualExactly_Vector4Vector4(
const FVector4&
A,
const FVector4&
B)
2068bool UKismetMathLibrary::NotEqual_Vector4Vector4(
const FVector4&
A,
const FVector4&
B,
float ErrorTolerance)
2070 return !
A.Equals(B, ErrorTolerance);
2086void UKismetMathLibrary::Vector4_Set(
FVector4&
A,
double X,
double Y,
double Z,
double W)
2110bool UKismetMathLibrary::Vector4_IsNAN(
const FVector4&
A)
2112 return A.ContainsNaN();
2116bool UKismetMathLibrary::Vector4_IsNearlyZero3(
const FVector4&
A,
float Tolerance)
2118 return A.IsNearlyZero3(Tolerance);
2122bool UKismetMathLibrary::Vector4_IsZero(
const FVector4&
A)
2124 return (
A.X == 0.0f) && (
A.Y == 0.0f) && (
A.Z == 0.0f) && (
A.W == 0.0f);
2128double UKismetMathLibrary::Vector4_Size(
const FVector4&
A)
2134double UKismetMathLibrary::Vector4_SizeSquared(
const FVector4&
A)
2136 return A.SizeSquared();
2140double UKismetMathLibrary::Vector4_Size3(
const FVector4&
A)
2146double UKismetMathLibrary::Vector4_SizeSquared3(
const FVector4&
A)
2148 return A.SizeSquared3();
2152bool UKismetMathLibrary::Vector4_IsUnit3(
const FVector4&
A,
float SquaredLenthTolerance)
2154 return A.IsUnit3(SquaredLenthTolerance);
2158bool UKismetMathLibrary::Vector4_IsNormal3(
const FVector4&
A)
2176void UKismetMathLibrary::Vector4_Normalize3(
FVector4&
A,
float Tolerance)
2198bool UKismetMathLibrary::EqualEqual_NameName(
FName A,
FName B)
2204bool UKismetMathLibrary::NotEqual_NameName(
FName A,
FName B)
2210bool UKismetMathLibrary::EqualEqual_ObjectObject(
class UObject*
A,
class UObject*
B)
2216bool UKismetMathLibrary::NotEqual_ObjectObject(
class UObject*
A,
class UObject*
B)
2222bool UKismetMathLibrary::EqualEqual_ClassClass(
class UClass*
A,
class UClass*
B)
2228bool UKismetMathLibrary::NotEqual_ClassClass(
class UClass*
A,
class UClass*
B)
2311 return A.GetDayOfYear();
2323 return A.GetHour12();
2329 return A.GetMillisecond();
2335 return A.GetMinute();
2341 return A.GetMonth();
2347 return A.GetSecond();
2353 return A.GetTimeOfDay();
2363bool UKismetMathLibrary::IsAfternoon(
FDateTime A)
2365 return A.IsAfternoon();
2369bool UKismetMathLibrary::IsMorning(
FDateTime A)
2371 return A.IsMorning();
2379 ReportError_DaysInMonth();
2393bool UKismetMathLibrary::IsLeapYear(
int32 Year)
2399FDateTime UKismetMathLibrary::DateTimeMaxValue()
2405FDateTime UKismetMathLibrary::DateTimeMinValue()
2443 return Time.ToUnixTimestamp();
2447double UKismetMathLibrary::ToUnixTimestampDouble(
const FDateTime&
Time)
2449 return Time.ToUnixTimestampDecimal();
2536 return A.GetHours();
2542 return A.GetFractionMilli();
2548 return A.GetMinutes();
2554 return A.GetSeconds();
2558double UKismetMathLibrary::GetTotalDays(
FTimespan A)
2560 return A.GetTotalDays();
2564double UKismetMathLibrary::GetTotalHours(
FTimespan A)
2566 return A.GetTotalHours();
2570double UKismetMathLibrary::GetTotalMilliseconds(
FTimespan A)
2572 return A.GetTotalMilliseconds();
2576double UKismetMathLibrary::GetTotalMinutes(
FTimespan A)
2578 return A.GetTotalMinutes();
2582double UKismetMathLibrary::GetTotalSeconds(
FTimespan A)
2584 return A.GetTotalSeconds();
2588FTimespan UKismetMathLibrary::TimespanMaxValue()
2594FTimespan UKismetMathLibrary::TimespanMinValue()
2606FTimespan UKismetMathLibrary::TimespanZeroValue()
2622double UKismetMathLibrary::Conv_ByteToDouble(
uint8 InByte)
2628double UKismetMathLibrary::Conv_IntToDouble(
int32 InInt)
2630 return (
double)InInt;
2634int64 UKismetMathLibrary::Conv_IntToInt64(
int32 InInt)
2636 return (
int64)InInt;
2640uint8 UKismetMathLibrary::Conv_IntToByte(
int32 InInt)
2642 return (
uint8)InInt;
2646int32 UKismetMathLibrary::Conv_Int64ToInt(
int64 InInt)
2648 return (
int32)InInt;
2652float UKismetMathLibrary::Conv_DoubleToFloat(
double InDouble)
2654 return (
float)InDouble;
2658double UKismetMathLibrary::Conv_FloatToDouble(
float InFloat)
2664uint8 UKismetMathLibrary::Conv_Int64ToByte(
int64 InInt)
2666 return (
uint8)InInt;
2670int64 UKismetMathLibrary::Conv_DoubleToInt64(
double InDouble)
2672 return (
int64)InDouble;
2676double UKismetMathLibrary::Conv_Int64ToDouble(
int64 InInt)
2678 return (
double)InInt;
2694FVector UKismetMathLibrary::Conv_IntToVector(
int32 InInt)
2700bool UKismetMathLibrary::Conv_IntToBool(
int32 InInt)
2702 return InInt == 0 ?
false :
true;
2706int32 UKismetMathLibrary::Conv_BoolToInt(
bool InBool)
2708 return InBool ? 1 : 0;
2712uint8 UKismetMathLibrary::Conv_BoolToByte(
bool InBool)
2714 return InBool ? 1 : 0;
2718double UKismetMathLibrary::Conv_BoolToDouble(
bool InBool)
2720 return InBool ? 1.0 : 0.0;
2748FVector UKismetMathLibrary::Conv_IntVectorToVector(
const FIntVector& InIntVector)
2766FVector UKismetMathLibrary::Conv_DoubleToVector(
double InDouble)
2772FVector2D UKismetMathLibrary::Conv_DoubleToVector2D(
double InDouble)
2778FLinearColor UKismetMathLibrary::Conv_DoubleToLinearColor(
double InDouble)
2781 float Value =
static_cast<float>(InDouble);
2788 return FBox(Min, Max);
2812FRotator UKismetMathLibrary::MakeRotator(
float Roll,
float Pitch,
float Yaw)
2820 return MakeRotFromX(Target - Start);
2826 return FRotationMatrix::MakeFromX(X).Rotator();
2832 return FRotationMatrix::MakeFromY(Y).Rotator();
2838 return FRotationMatrix::MakeFromZ(Z).Rotator();
2844 return FRotationMatrix::MakeFromXY(X, Y).Rotator();
2850 return FRotationMatrix::MakeFromXZ(X, Z).Rotator();
2856 return FRotationMatrix::MakeFromYX(Y, X).Rotator();
2862 return FRotationMatrix::MakeFromYZ(Y, Z).Rotator();
2868 return FRotationMatrix::MakeFromZX(Z, X).Rotator();
2874 return FRotationMatrix::MakeFromZY(Z, Y).Rotator();
2878void UKismetMathLibrary::BreakRotator(
FRotator InRot,
float& Roll,
float&
Pitch,
float& Yaw)
2881 Yaw =
static_cast<float>(InRot.
Yaw);
2882 Roll =
static_cast<float>(InRot.
Roll);
2908FMatrix UKismetMathLibrary::Matrix_Identity()
2926FMatrix UKismetMathLibrary::Multiply_MatrixFloat(
const FMatrix&
A,
double B)
2932bool UKismetMathLibrary::EqualEqual_MatrixMatrix(
const FMatrix&
A,
const FMatrix&
B,
float Tolerance )
2934 return A.Equals(B, Tolerance);
2938bool UKismetMathLibrary::NotEqual_MatrixMatrix(
const FMatrix&
A,
const FMatrix&
B,
float Tolerance )
2940 return !(
A.Equals(B, Tolerance));
2974FMatrix UKismetMathLibrary::Matrix_GetTransposed(
const FMatrix& M)
2980float UKismetMathLibrary::Matrix_GetDeterminant(
const FMatrix& M)
2986float UKismetMathLibrary::Matrix_GetRotDeterminant(
const FMatrix& M)
2998FMatrix UKismetMathLibrary::Matrix_GetTransposeAdjoint(
const FMatrix& M)
3004void UKismetMathLibrary::Matrix_RemoveScaling(
FMatrix& M,
float Tolerance )
3010FMatrix UKismetMathLibrary::Matrix_GetMatrixWithoutScale(
const FMatrix& M,
float Tolerance )
3016FVector UKismetMathLibrary::Matrix_GetScaleVector(
const FMatrix& M,
float Tolerance )
3022FMatrix UKismetMathLibrary::Matrix_RemoveTranslation(
const FMatrix& M)
3034bool UKismetMathLibrary::Matrix_ContainsNaN(
const FMatrix& M)
3048float UKismetMathLibrary::Matrix_GetMaximumAxisScale(
const FMatrix& M)
3090void UKismetMathLibrary::Matrix_SetOrigin(
FMatrix& M,
FVector NewOrigin)
3114FQuat UKismetMathLibrary::Matrix_ToQuat(
const FMatrix& M)
3120bool UKismetMathLibrary::Matrix_GetFrustumNearPlane(
const FMatrix& M,
FPlane& OutPlane)
3126bool UKismetMathLibrary::Matrix_GetFrustumFarPlane(
const FMatrix& M,
FPlane& OutPlane)
3132bool UKismetMathLibrary::Matrix_GetFrustumLeftPlane(
const FMatrix& M,
FPlane& OutPlane)
3138bool UKismetMathLibrary::Matrix_GetFrustumRightPlane(
const FMatrix& M,
FPlane& OutPlane)
3144bool UKismetMathLibrary::Matrix_GetFrustumTopPlane(
const FMatrix& M,
FPlane& OutPlane)
3150bool UKismetMathLibrary::Matrix_GetFrustumBottomPlane(
const FMatrix& M,
FPlane& OutPlane)
3167FQuat UKismetMathLibrary::Quat_Identity()
3173bool UKismetMathLibrary::EqualEqual_QuatQuat(
const FQuat&
A,
const FQuat&
B,
float Tolerance)
3175 return A.
Equals(B, Tolerance);
3179bool UKismetMathLibrary::NotEqual_QuatQuat(
const FQuat&
A,
const FQuat&
B,
float Tolerance)
3181 return !
A.Equals(B, Tolerance);
3203FQuat UKismetMathLibrary::MakeQuat(
float X,
float Y,
float Z,
float W)
3205 return FQuat(X, Y, Z, W);
3209void UKismetMathLibrary::BreakQuat(
const FQuat&
InQuat,
float&
X,
float&
Y,
float&
Z,
float& W)
3211 X =
static_cast<float>(
InQuat.X);
3212 Y =
static_cast<float>(
InQuat.Y);
3213 Z =
static_cast<float>(
InQuat.Z);
3214 W =
static_cast<float>(
InQuat.W);
3218bool UKismetMathLibrary::Quat_IsIdentity(
const FQuat& Q,
float Tolerance)
3224bool UKismetMathLibrary::Quat_IsNormalized(
const FQuat& Q)
3230bool UKismetMathLibrary::Quat_IsFinite(
const FQuat& Q)
3236bool UKismetMathLibrary::Quat_IsNonFinite(
const FQuat& Q)
3242float UKismetMathLibrary::Quat_AngularDistance(
const FQuat&
A,
const FQuat&
B)
3244 return static_cast<float>(
A.AngularDistance(B));
3248void UKismetMathLibrary::Quat_EnforceShortestArcWith(
FQuat&
A,
const FQuat&
B)
3250 A.EnforceShortestArcWith(B);
3254FQuat UKismetMathLibrary::Quat_GetShortestArcWith(
const FQuat&
A,
const FQuat&
B)
3266FQuat UKismetMathLibrary::Quat_Exp(
const FQuat& Q)
3272float UKismetMathLibrary::Quat_GetAngle(
const FQuat& Q)
3274 return static_cast<float>(Q.
GetAngle());
3278FVector UKismetMathLibrary::Quat_GetAxisX(
const FQuat& Q)
3284FVector UKismetMathLibrary::Quat_GetAxisY(
const FQuat& Q)
3290FVector UKismetMathLibrary::Quat_GetAxisZ(
const FQuat& Q)
3296FVector UKismetMathLibrary::Quat_VectorForward(
const FQuat& Q)
3302FVector UKismetMathLibrary::Quat_VectorRight(
const FQuat& Q)
3308FVector UKismetMathLibrary::Quat_VectorUp(
const FQuat& Q)
3314void UKismetMathLibrary::Quat_Normalize(
FQuat& Q,
float Tolerance)
3320FQuat UKismetMathLibrary::Quat_Normalized(
const FQuat& Q,
float Tolerance)
3326FVector UKismetMathLibrary::Quat_GetRotationAxis(
const FQuat& Q)
3332FQuat UKismetMathLibrary::Quat_Inversed(
const FQuat& Q)
3338FQuat UKismetMathLibrary::Quat_Log(
const FQuat& Q)
3344void UKismetMathLibrary::Quat_SetComponents(
FQuat& Q,
float X,
float Y,
float Z,
float W)
3353void UKismetMathLibrary::Quat_SetFromEuler(
FQuat& Q,
const FVector& Euler)
3359FQuat UKismetMathLibrary::Quat_MakeFromEuler(
const FVector& Euler)
3371FVector UKismetMathLibrary::Quat_ToRotationVector(
const FQuat& Q)
3377FQuat UKismetMathLibrary::Quat_MakeFromRotationVector(
const FVector& V)
3383FQuat UKismetMathLibrary::Conv_RotatorToQuaternion(
FRotator InRot)
3389float UKismetMathLibrary::Quat_Size(
const FQuat& Q)
3391 return static_cast<float>(Q.
Size());
3395float UKismetMathLibrary::Quat_SizeSquared(
const FQuat& Q)
3479FLinearColor UKismetMathLibrary::LinearColor_Transparent()
3487FLinearColor UKismetMathLibrary::MakeColor(
float R,
float G,
float B,
float A)
3493void UKismetMathLibrary::BreakColor(
FLinearColor InColor,
float&
R,
float&
G,
float&
B,
float&
A)
3551FLinearColor UKismetMathLibrary::HSVToRGB(
float H,
float S,
float V,
float A)
3576void UKismetMathLibrary::RGBToHSV(
FLinearColor InColor,
float& H,
float&
S,
float& V,
float&
A)
3588 RGB =
HSV.HSVToLinearRGB();
3594 return HSV.HSVToLinearRGB();
3600 HSV =
RGB.LinearRGBToHSV();
3606 return RGB.LinearRGBToHSV();
3643float UKismetMathLibrary::LinearColor_GetLuminance(
FLinearColor InColor)
3649float UKismetMathLibrary::LinearColor_GetMax(
FLinearColor InColor)
3655float UKismetMathLibrary::LinearColor_GetMin(
FLinearColor InColor)
3681 return A.Equals(B, Tolerance);
3727FString UKismetMathLibrary::ToHex_LinearColor(
FLinearColor InColor)
3733FString UKismetMathLibrary::SelectString(
const FString&
A,
const FString&
B,
bool bSelectA)
3757double UKismetMathLibrary::SelectFloat(
double A,
double B,
bool bSelectA)
3799bool UKismetMathLibrary::PointsAreCoplanar(
const TArray<FVector>& Points,
float Tolerance)
@ ForceInitToZero
Definition CoreMiscDefines.h:156
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define FVector
Definition IOSSystemIncludes.h:8
#define KISMET_MATH_INLINE
Definition KismetMathLibrary.inl:10
UE::Math::TIntVector2< int32 > FIntVector2
Definition MathFwd.h:91
UE::Math::TBox< double > FBox
Definition MathFwd.h:55
FBoxSphereBounds3d FBoxSphereBounds
Definition MathFwd.h:142
UE::Math::TQuat< double > FQuat
Definition MathFwd.h:50
UE::Math::TTransform< double > FTransform
Definition MathFwd.h:53
UE::Math::TVector4< double > FVector4
Definition MathFwd.h:49
UE::Math::TVector2< double > FVector2D
Definition MathFwd.h:48
FInt32Vector3 FIntVector
Definition MathFwd.h:115
FInt32Point FIntPoint
Definition MathFwd.h:124
UE::Math::TRotator< double > FRotator
Definition MathFwd.h:57
UE::Math::TBox2< double > FBox2D
Definition MathFwd.h:56
USkinnedMeshComponent float
Definition SkinnedMeshComponent.h:60
#define UE_DOUBLE_PI
Definition UnrealMathUtility.h:138
#define UE_SMALL_NUMBER
Definition UnrealMathUtility.h:130
#define UE_THRESH_VECTOR_NORMALIZED
Definition UnrealMathUtility.h:214
UE_FORCEINLINE_HINT T Dot4(const UE::Math::TVector4< T > &V1, const UE::Math::TVector4< T > &V2)
Definition Vector4.h:1052
UE_FORCEINLINE_HINT T Dot3(const UE::Math::TVector4< T > &V1, const UE::Math::TVector4< T > &V2)
Definition Vector4.h:1018
Definition NameTypes.h:617
Definition EnumAsByte.h:22
Scale
Definition MidiNoteQuantizer.h:14
@ Alpha
Definition ImportanceSamplingLibrary.h:29
const TCHAR * B(bool b)
Definition SkinnedMeshComponent.cpp:386
@ false
Definition radaudio_common.h:23
CORE_API FString ToHex() const
Definition Color.cpp:579
static FDateTime MaxValue()
Definition DateTime.h:656
static CORE_API bool Parse(const FString &DateTimeString, FDateTime &OutDateTime)
Definition DateTime.cpp:388
FDateTime GetDate() const
Definition DateTime.h:261
static CORE_API int32 DaysInYear(int32 Year)
Definition DateTime.cpp:355
static CORE_API bool IsLeapYear(int32 Year)
Definition DateTime.cpp:366
static CORE_API bool ParseIso8601(const TCHAR *DateTimeString, FDateTime &OutDateTime)
Definition DateTime.cpp:716
static CORE_API FDateTime Now()
Definition DateTime.cpp:377
static CORE_API int32 DaysInMonth(int32 Year, int32 Month)
Definition DateTime.cpp:342
static CORE_API FDateTime UtcNow()
Definition DateTime.cpp:980
static FDateTime MinValue()
Definition DateTime.h:668
static FDateTime FromUnixTimestamp(int64 UnixTime)
Definition DateTime.h:620
static FDateTime Today()
Definition DateTime.h:739
float A
Definition Color.h:56
static CORE_API const FLinearColor White
Definition Color.h:456
static CORE_API FLinearColor FromPow22Color(const FColor &Color)
Definition Color.cpp:74
UE_FORCEINLINE_HINT float GetMax() const
Definition Color.h:390
float G
Definition Color.h:54
static CORE_API const FLinearColor Green
Definition Color.h:461
float B
Definition Color.h:55
CORE_API FLinearColor Desaturate(float Desaturation) const
Definition Color.cpp:294
constexpr FLinearColor CopyWithNewOpacity(float NewOpacity) const
Definition Color.h:290
CORE_API FLinearColor LinearRGBToHSV() const
Definition Color.cpp:383
static CORE_API const FLinearColor Yellow
Definition Color.h:463
static CORE_API const FLinearColor Blue
Definition Color.h:462
static CORE_API const FLinearColor Transparent
Definition Color.h:459
UE_FORCEINLINE_HINT float GetMin() const
Definition Color.h:406
static CORE_API const FLinearColor Red
Definition Color.h:460
static CORE_API FLinearColor MakeFromColorTemperature(float Temp)
Definition Color.cpp:504
CORE_API FLinearColor HSVToLinearRGB() const
Definition Color.cpp:411
static CORE_API FLinearColor MakeRandomColor()
Definition Color.cpp:488
static CORE_API const FLinearColor Black
Definition Color.h:458
static UE_FORCEINLINE_HINT FLinearColor FromSRGBColor(const FColor &Color)
Definition Color.h:123
FColor QuantizeRound() const
Definition Color.h:789
static float Dist(const FLinearColor &V1, const FLinearColor &V2)
Definition Color.h:320
CORE_API float GetLuminance() const
Definition Color.cpp:301
FColor QuantizeFloor() const
Definition Color.h:800
float R
Definition Color.h:53
static CORE_API FLinearColor LerpUsingHSV(const FLinearColor &From, const FLinearColor &To, const float Progress)
Definition Color.cpp:445
static CORE_API const FLinearColor Gray
Definition Color.h:457
FColor ToFColor(const bool bSRGB) const
Definition Color.h:810
static constexpr UE_FORCEINLINE_HINT auto DegreesToRadians(T const &DegVal) -> decltype(DegVal *(UE_PI/180.f))
Definition UnrealMathUtility.h:871
static constexpr UE_FORCEINLINE_HINT auto RadiansToDegrees(T const &RadVal) -> decltype(RadVal *(180.f/UE_PI))
Definition UnrealMathUtility.h:857
static CORE_API FVector GetReflectionVector(const FVector &Direction, const FVector &SurfaceNormal)
Definition UnrealMath.cpp:2962
static CORE_API UE::Math::TVector2< T > Vector2DInterpTo(const UE::Math::TVector2< T > &Current, const UE::Math::TVector2< T > &Target, float DeltaTime, float InterpSpeed)
Definition UnrealMath.cpp:2630
static UE_FORCEINLINE_HINT bool IsNearlyEqual(float A, float B, float ErrorTolerance=UE_SMALL_NUMBER)
Definition UnrealMathUtility.h:388
static CORE_API float PointDistToSegment(const FVector &Point, const FVector &StartPoint, const FVector &EndPoint)
Definition UnrealMath.cpp:1745
static CORE_API FLinearColor CInterpTo(const FLinearColor &Current, const FLinearColor &Target, float DeltaTime, float InterpSpeed)
Definition UnrealMath.cpp:2701
static CORE_API FRotator RInterpConstantTo(const FRotator &Current, const FRotator &Target, float DeltaTime, float InterpSpeed)
Definition UnrealMath.cpp:2647
static CORE_API FRotator RInterpTo(const FRotator &Current, const FRotator &Target, float DeltaTime, float InterpSpeed)
Definition UnrealMath.cpp:2671
static CORE_API float FixedTurn(float InCurrent, float InDesired, float InDeltaRate)
Definition UnrealMath.cpp:3488
static CORE_API FVector2D Vector2DInterpConstantTo(const FVector2D &Current, const FVector2D &Target, float DeltaTime, float InterpSpeed)
Definition UnrealMath.cpp:2607
static constexpr UE_FORCEINLINE_HINT T Square(const T A)
Definition UnrealMathUtility.h:578
static CORE_API float PointDistToLine(const FVector &Point, const FVector &Direction, const FVector &Origin, FVector &OutClosestPoint)
Definition UnrealMath.cpp:1679
static auto FInterpTo(T1 Current, T2 Target, T3 DeltaTime, T4 InterpSpeed)
Definition UnrealMathUtility.h:1502
static CORE_API UE::Math::TVector< T > ClosestPointOnSegment(const UE::Math::TVector< T > &Point, const UE::Math::TVector< T > &StartPoint, const UE::Math::TVector< T > &EndPoint)
static T ClampAngle(T AngleDegrees, T MinAngleDegrees, T MaxAngleDegrees)
Definition Rotator.h:947
static CORE_API FVector RandPointInBox(const FBox &Box)
Definition UnrealMath.cpp:2955
static CORE_API FVector VRandCone(FVector const &Dir, float ConeHalfAngleRad)
Definition UnrealMath.cpp:2859
static UE_FORCEINLINE_HINT int64 RandHelper64(int64 A)
Definition UnrealMathUtility.h:281
static int32 RandRange(int32 Min, int32 Max)
Definition UnrealMathUtility.h:289
static constexpr UE_FORCEINLINE_HINT T Clamp(const T X, const T MinValue, const T MaxValue)
Definition UnrealMathUtility.h:592
static CORE_API FVector VInterpTo(const FVector &Current, const FVector &Target, float DeltaTime, float InterpSpeed)
Definition UnrealMath.cpp:2584
static CORE_API bool PointsAreCoplanar(const TArray< FVector > &Points, const float Tolerance=0.1f)
Definition UnrealMath.cpp:2470
static CORE_API void SegmentDistToSegmentSafe(UE::Math::TVector< T > A1, UE::Math::TVector< T > B1, UE::Math::TVector< T > A2, UE::Math::TVector< T > B2, UE::Math::TVector< T > &OutP1, UE::Math::TVector< T > &OutP2)
static constexpr UE_FORCEINLINE_HINT T Wrap(const T X, const T Min, const T Max)
Definition UnrealMathUtility.h:610
static UE_FORCEINLINE_HINT float FRandRange(float InMin, float InMax)
Definition UnrealMathUtility.h:313
static CORE_API FVector VInterpConstantTo(const FVector &Current, const FVector &Target, float DeltaTime, float InterpSpeed)
Definition UnrealMath.cpp:2562
static auto FInterpConstantTo(T1 Current, T2 Target, T3 DeltaTime, T4 InterpSpeed)
Definition UnrealMathUtility.h:1483
static constexpr UE_FORCEINLINE_HINT T GridSnap(T Location, T Grid)
Definition UnrealMathUtility.h:685
static UE_FORCEINLINE_HINT bool RandBool()
Definition UnrealMathUtility.h:327
static UE_FORCEINLINE_HINT int32 RandHelper(int32 A)
Definition UnrealMathUtility.h:274
static CORE_API bool Parse(const FString &TimespanString, FTimespan &OutTimespan)
Definition Timespan.cpp:112
static FTimespan MinValue()
Definition Timespan.h:699
static double Ratio(FTimespan Dividend, FTimespan Divisor)
Definition Timespan.h:729
static FTimespan Zero()
Definition Timespan.h:747
static FTimespan MaxValue()
Definition Timespan.h:686
FTimespan GetDuration()
Definition Timespan.h:369
Definition BoxSphereBounds.h:25
static const TIntPoint ZeroValue
Definition IntPoint.h:45
IntType Y
Definition IntVector.h:682
IntType X
Definition IntVector.h:679
void SetColumn(int32 i, TVector< T > Value)
Definition Matrix.inl:747
TMatrix< T > Inverse() const
Definition Matrix.inl:384
TVector4< T > TransformPosition(const TVector< T > &V) const
Definition Matrix.inl:184
TVector4< T > TransformVector(const TVector< T > &V) const
Definition Matrix.inl:204
TMatrix< T > TransposeAdjoint() const
Definition Matrix.inl:404
bool GetFrustumBottomPlane(TPlane< T > &OuTPln) const
Definition Matrix.inl:831
TVector< T > GetUnitAxis(EAxis::Type Axis) const
Definition Matrix.inl:676
bool GetFrustumLeftPlane(TPlane< T > &OuTPln) const
Definition Matrix.inl:795
TVector< T > GetColumn(int32 i) const
Definition Matrix.inl:740
TVector< T > InverseTransformVector(const TVector< T > &V) const
Definition Matrix.inl:211
bool GetFrustumNearPlane(TPlane< T > &OuTPln) const
Definition Matrix.inl:771
TMatrix< T > ApplyScale(T Scale) const
Definition Matrix.inl:898
TMatrix< T > GetMatrixWithoutScale(T Tolerance=UE_SMALL_NUMBER) const
Definition Matrix.inl:458
T GetMaximumAxisScale() const
Definition Matrix.inl:618
bool GetFrustumFarPlane(TPlane< T > &OuTPln) const
Definition Matrix.inl:783
void Mirror(EAxis::Type MirrorAxis, EAxis::Type FlipAxis)
Definition Matrix.inl:847
CORE_API UE::Math::TQuat< T > ToQuat() const
bool ContainsNaN() const
Definition Matrix.inl:586
bool GetFrustumRightPlane(TPlane< T > &OuTPln) const
Definition Matrix.inl:807
TMatrix< T > ConcatTranslation(const TVector< T > &Translation) const
Definition Matrix.inl:555
TVector< T > GetScaleVector(T Tolerance=UE_SMALL_NUMBER) const
Definition Matrix.inl:523
TMatrix< T > RemoveTranslation() const
Definition Matrix.inl:545
TMatrix< T > GetTransposed() const
Definition Matrix.inl:221
TVector< T > GetScaledAxis(EAxis::Type Axis) const
Definition Matrix.inl:647
bool GetFrustumTopPlane(TPlane< T > &OuTPln) const
Definition Matrix.inl:819
void GetUnitAxes(TVector< T > &X, TVector< T > &Y, TVector< T > &Z) const
Definition Matrix.inl:682
TVector4< T > TransformFVector4(const TVector4< T > &V) const
Definition Matrix.inl:170
void GetScaledAxes(TVector< T > &X, TVector< T > &Y, TVector< T > &Z) const
Definition Matrix.inl:668
CORE_API UE::Math::TRotator< T > Rotator() const
Definition UnrealMath.cpp:597
void SetAxis(int32 i, const TVector< T > &Axis)
Definition Matrix.inl:691
static CORE_API const TMatrix Identity
Definition Matrix.h:52
T Determinant() const
Definition Matrix.inl:318
void ScaleTranslation(const TVector< T > &Scale3D)
Definition Matrix.inl:631
void RemoveScaling(T Tolerance=UE_SMALL_NUMBER)
Definition Matrix.inl:435
TVector< T > InverseTransformPosition(const TVector< T > &V) const
Definition Matrix.inl:191
void SetOrigin(const TVector< T > &NewOrigin)
Definition Matrix.inl:701
T RotDeterminant() const
Definition Matrix.inl:344
UE_FORCEINLINE_HINT TVector< T > GetUpVector() const
Definition Quat.h:1329
static CORE_API TQuat< double > FindBetweenNormals(const TVector< double > &Normal1, const TVector< double > &Normal2)
Definition UnrealMath.cpp:1440
static CORE_API TQuat< double > FindBetweenVectors(const TVector< double > &Vector1, const TVector< double > &Vector2)
Definition UnrealMath.cpp:1447
CORE_API TRotator< T > Rotator() const
static CORE_API TQuat< double > MakeFromEuler(const TVector< double > &Euler)
Definition UnrealMath.cpp:787
UE_FORCEINLINE_HINT TVector< T > GetAxisZ() const
Definition Quat.h:1310
TVector< T > UnrotateVector(TVector< T > V) const
Definition Quat.h:1254
static TQuat< double > MakeFromRotationVector(const TVector< double > &RotationVector)
Definition Quat.h:1203
bool ContainsNaN() const
Definition Quat.h:1394
TQuat< T > GetNormalized(T Tolerance=UE_SMALL_NUMBER) const
Definition Quat.h:1140
UE_FORCEINLINE_HINT TVector< T > GetRightVector() const
Definition Quat.h:1323
TQuat< T > Inverse() const
Definition Quat.h:1264
UE_FORCEINLINE_HINT TVector< T > GetAxisX() const
Definition Quat.h:1296
static UE_FORCEINLINE_HINT TQuat< double > Slerp(const TQuat< double > &Quat1, const TQuat< double > &Quat2, double Slerp)
Definition Quat.h:660
TVector< T > RotateVector(TVector< T > V) const
Definition Quat.h:1238
bool IsNormalized() const
Definition Quat.h:1149
CORE_API TVector< T > Euler() const
Definition UnrealMath.cpp:1314
UE_FORCEINLINE_HINT TVector< T > GetForwardVector() const
Definition Quat.h:1317
UE_FORCEINLINE_HINT TVector< T > GetAxisY() const
Definition Quat.h:1303
UE_FORCEINLINE_HINT T GetAngle() const
Definition Quat.h:1174
TQuat< T > GetShortestArcWith(const TQuat< T > &OtherQuat) const
Definition Quat.h:1288
TVector< T > GetRotationAxis() const
Definition Quat.h:1210
static CORE_API const TQuat< double > Identity
Definition Quat.h:63
CORE_API TQuat< T > Log() const
Definition UnrealMath.cpp:1454
UE_FORCEINLINE_HINT T Size() const
Definition Quat.h:1162
UE_FORCEINLINE_HINT bool IsIdentity(T Tolerance=UE_SMALL_NUMBER) const
Definition Quat.h:1002
CORE_API TQuat< T > Exp() const
Definition UnrealMath.cpp:1483
TVector< T > ToRotationVector() const
Definition Quat.h:1195
bool Equals(const TQuat< T > &Q, T Tolerance=UE_KINDA_SMALL_NUMBER) const
Definition Quat.h:985
void Normalize(T Tolerance=UE_SMALL_NUMBER)
Definition Quat.h:1107
UE_FORCEINLINE_HINT T SizeSquared() const
Definition Quat.h:1168
CORE_API TRotator GetInverse() const
Definition UnrealMath.cpp:406
T Pitch
Definition Rotator.h:46
T Yaw
Definition Rotator.h:49
CORE_API TVector< T > Vector() const
Definition UnrealMath.cpp:371
CORE_API TQuat< T > Quaternion() const
T Roll
Definition Rotator.h:52
static CORE_API const TVector2< double > Unit45Deg
Definition Vector2D.h:77
static CORE_API const TVector2< double > UnitVector
Definition Vector2D.h:70
bool Normalize(T Tolerance=UE_SMALL_NUMBER)
Definition Vector2D.h:1154
static UE_FORCEINLINE_HINT double DotProduct(const TVector2< double > &A, const TVector2< double > &B)
Definition Vector2D.h:929
TVector2< T > RoundToVector() const
Definition Vector2D.h:1236
TVector2< T > GetSafeNormal(T Tolerance=UE_SMALL_NUMBER) const
Definition Vector2D.h:1142
static UE_FORCEINLINE_HINT double CrossProduct(const TVector2< double > &A, const TVector2< double > &B)
Definition Vector2D.h:947
static UE_FORCEINLINE_HINT double DistSquared(const TVector2< double > &V1, const TVector2< double > &V2)
Definition Vector2D.h:935
static UE_FORCEINLINE_HINT double Distance(const TVector2< double > &V1, const TVector2< double > &V2)
Definition Vector2D.h:941
TVector2< T > GetRotated(T AngleDeg) const
Definition Vector2D.h:1129
TVector2< T > GetSignVector() const
Definition Vector2D.h:1286
UE_FORCEINLINE_HINT TVector2< T > GetAbs() const
Definition Vector2D.h:1296
TVector2< T > ClampAxes(T MinAxisVal, T MaxAxisVal) const
Definition Vector2D.h:1249
static CORE_API const TVector2< double > ZeroVector
Definition Vector2D.h:63
TVector4 GetSafeNormal(T Tolerance=UE_SMALL_NUMBER) const
Definition Vector4.h:850
TVector4 GetUnsafeNormal3() const
Definition Vector4.h:863
TVector4< T > Reflect3(const TVector4< T > &Normal) const
Definition Vector4.h:1076
TVector< T > ComponentMin(const TVector< T > &Other) const
Definition Vector.h:1698
static TVector< double > DegreesToRadians(const TVector< double > &DegVector)
Definition Vector.h:1468
static CORE_API const TVector< double > DownVector
Definition Vector.h:88
UE_FORCEINLINE_HINT TVector< T > ProjectOnToNormal(const TVector< T > &Normal) const
Definition Vector.h:2121
T Z
Definition Vector.h:68
TVector< T > BoundToCube(T Radius) const
Definition Vector.h:1861
TVector< T > GetUnsafeNormal() const
Definition Vector.h:1841
T Y
Definition Vector.h:65
static CORE_API const TVector< double > ZeroVector
Definition Vector.h:79
TVector< T > GetClampedToSize2D(T Min, T Max) const
Definition Vector.h:1895
static CORE_API const TVector< double > BackwardVector
Definition Vector.h:94
static CORE_API const TVector< double > ForwardVector
Definition Vector.h:91
static TVector< double > RadiansToDegrees(const TVector< double > &RadVector)
Definition Vector.h:1462
TVector< T > MirrorByPlane(const TPlane< T > &Plane) const
Definition Plane.h:613
TVector< T > GetClampedToMaxSize2D(T MaxSize) const
Definition Vector.h:1926
static CORE_API const TVector< double > OneVector
Definition Vector.h:82
static UE_FORCEINLINE_HINT double DotProduct(const TVector< double > &A, const TVector< double > &B)
Definition Vector.h:1559
static CORE_API const TVector< double > UpVector
Definition Vector.h:85
static UE_FORCEINLINE_HINT double DistXY(const TVector< double > &V1, const TVector< double > &V2)
Definition Vector.h:2472
TVector< T > ComponentMax(const TVector< T > &Other) const
Definition Vector.h:1704
TVector< T > GetClampedToMaxSize(T MaxSize) const
Definition Vector.h:1906
bool Normalize(T Tolerance=UE_SMALL_NUMBER)
Definition Vector.h:1767
static CORE_API const TVector< double > LeftVector
Definition Vector.h:100
TVector< T > GridSnap(const T &GridSz) const
Definition Vector.h:1855
static UE_FORCEINLINE_HINT double Distance(const TVector< double > &V1, const TVector< double > &V2)
Definition Vector.h:1018
T X
Definition Vector.h:62
TVector< T > GetSafeNormal(T Tolerance=UE_SMALL_NUMBER, const TVector< T > &ResultIfZero=ZeroVector) const
Definition Vector.h:2060
TVector< T > Projection() const
Definition Vector.h:1834
static UE_FORCEINLINE_HINT TVector< double > CrossProduct(const TVector< double > &A, const TVector< double > &B)
Definition Vector.h:1541
TVector< T > Reciprocal() const
Definition Vector.h:2013
static CORE_API TVector< double > SlerpVectorToDirection(const TVector< double > &V, const TVector< double > &Direction, double Alpha)
Definition UnrealMath.cpp:225
TVector< T > GetClampedToSize(T Min, T Max) const
Definition Vector.h:1884
UE_FORCEINLINE_HINT TVector< T > ProjectOnTo(const TVector< T > &A) const
Definition Vector.h:2115
static CORE_API TVector< double > SlerpNormals(const TVector< double > &NormalA, const TVector< double > &NormalB, double Alpha)
Definition UnrealMath.cpp:242
static TVector< double > PointPlaneProject(const TVector< double > &Point, const TPlane< double > &Plane)
Definition Plane.h:619
static TVector< double > VectorPlaneProject(const TVector< double > &V, const TVector< double > &PlaneNormal)
Definition Vector.h:1418
TVector< T > GetAbs() const
Definition Vector.h:1710
TVector< T > GetSafeNormal2D(T Tolerance=UE_SMALL_NUMBER, const TVector< T > &ResultIfZero=ZeroVector) const
Definition Vector.h:2078
TVector< T > BoundToBox(const TVector< T > &Min, const TVector< T > &Max) const
Definition Vector.h:1872
TVector< T > GetSignVector() const
Definition Vector.h:1823
static UE_FORCEINLINE_HINT double DistSquared(const TVector< double > &V1, const TVector< double > &V2)
Definition Vector.h:2478
static CORE_API const TVector< double > RightVector
Definition Vector.h:97
static UE_FORCEINLINE_HINT double DistSquaredXY(const TVector< double > &V1, const TVector< double > &V2)
Definition Vector.h:2484