25template <
typename T>
struct TMatrix;
92 template<
typename FArg UE_REQUIRES(!std::is_same_v<T, FArg>)>
129 return !(*
this ==
Other);
160 if (
W >
Other.W + Tolerance)
214 return (4.f / 3.f) *
UE_PI * (
W *
W *
W);
236 if constexpr (std::is_same_v<T, float>)
240 else if constexpr (std::is_same_v<T, double>)
246 static_assert(
sizeof(T) == 0,
"Unimplemented");
307 Result.W = FMath::Sqrt(FMath::Max(XAxis | XAxis, FMath::Max(YAxis | YAxis, ZAxis | ZAxis))) * W;
346 T Dist = FMath::Sqrt(DistSqr);
393template<
typename FReal>
#define checkSlow(expr)
Definition AssertionMacros.h:332
#define checkf(expr, format,...)
Definition AssertionMacros.h:315
EForceInit
Definition CoreMiscDefines.h:154
@ ForceInit
Definition CoreMiscDefines.h:155
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define UE_SERIALIZE_VARIANT_FROM_MISMATCHED_TAG(AR_OR_SLOT, ALIAS, TYPE, ALT_TYPE)
Definition LargeWorldCoordinatesSerializer.h:9
#define UE_DECLARE_LWC_TYPE(...)
Definition LargeWorldCoordinates.h:27
@ LARGE_WORLD_COORDINATES
#define UE_PI
Definition UnrealMathUtility.h:129
#define UE_SMALL_NUMBER
Definition UnrealMathUtility.h:130
#define UE_KINDA_SMALL_NUMBER
Definition UnrealMathUtility.h:131
StringType LexToSanitizedString(const T &Value)
Definition UnrealString.h:180
Definition Archive.h:1208
UE_FORCEINLINE_HINT bool IsLoading() const
Definition Archive.h:236
UE_FORCEINLINE_HINT FPackageFileVersion UEVer() const
Definition Archive.h:204
Definition NameTypes.h:617
FArchive & operator<<(FArchive &Ar, TBoxSphereBounds< float, float > &Bounds)
Definition BoxSphereBounds.h:396
Definition AdvancedWidgetsModule.cpp:13
static UE::Math::TSphere< FReal > ComputeBoundingSphereForCone(UE::Math::TVector< FReal > const &ConeOrigin, UE::Math::TVector< FReal > const &ConeDirection, FReal ConeRadius, FReal CosConeAngle, FReal SinConeAngle)
Definition Sphere.h:394
static constexpr UE_FORCEINLINE_HINT T Square(const T A)
Definition UnrealMathUtility.h:578
@ Value
Definition Array.h:46
Definition IsPODType.h:12
@ Value
Definition IsPODType.h:13
Definition IsUECoreType.h:19
@ Value
Definition IsUECoreType.h:20
TVector4< T > TransformPosition(const TVector< T > &V) const
Definition Matrix.inl:184
T M[4][4]
Definition Matrix.h:49
CORE_API TSphere(const TSphere< T > *Spheres, int32 Count)
TSphere< T > TransformBy(const TMatrix< T > &M) const
Definition Sphere.h:296
TSphere< T > & operator+=(const TSphere< T > &Other)
Definition Sphere.h:325
bool Equals(const TSphere< T > &Sphere, T Tolerance=UE_KINDA_SMALL_NUMBER) const
Definition Sphere.h:105
TSphere(TVector< T > InV, T InW)
Definition Sphere.h:59
TVector< T > Center
Definition Sphere.h:34
bool Serialize(FArchive &Ar)
Definition Sphere.h:228
bool IsInside(const TSphere< T > &Other, T Tolerance=UE_KINDA_SMALL_NUMBER) const
Definition Sphere.h:158
TSphere(int32)
Definition Sphere.h:48
TSphere(EForceInit)
Definition Sphere.h:69
bool operator!=(const TSphere< T > &Other) const
Definition Sphere.h:127
T GetVolume() const
Definition Sphere.h:212
TSphere< T > TransformBy(const FTransform &M) const
Definition Sphere.h:314
TSphere(const TSphere< FArg > &From)
Definition Sphere.h:93
bool SerializeFromMismatchedTag(FName StructTag, FArchive &Ar)
Definition Sphere.h:234
bool operator==(const TSphere< T > &Other) const
Definition Sphere.h:116
FString ToString() const
Definition Sphere.h:222
T W
Definition Sphere.h:37
CORE_API TSphere(const TVector< T > *Points, int32 Count)
bool IsInside(const FVector &In, T Tolerance=UE_KINDA_SMALL_NUMBER) const
Definition Sphere.h:174
UE_FORCEINLINE_HINT bool Intersects(const TSphere< T > &Other, T Tolerance=UE_KINDA_SMALL_NUMBER) const
Definition Sphere.h:186
T FReal
Definition Sphere.h:31
TSphere< T > operator+(const TSphere< T > &Other) const
Definition Sphere.h:138
T SizeSquared() const
Definition Vector.h:1728