8 template <
typename T,
int d>
9 CHAOSCORE_API bool RayAabb(
const TVector<FReal, d>& RayStart,
const TVector<FReal, d>&
RayDir,
const FReal RayLength,
const FReal RayThickness,
const TVector<T, d>&
AabbMin,
const TVector<T, d>&
AabbMax,
FReal& OutTime, TVector<FReal, d>& OutPosition, TVector<FReal, d>& OutNormal,
int32& OutFaceIndex);
11 template <
typename T,
int d>
12 FORCEINLINE bool RayAabb(
const TVector<FReal, d>& RayStart,
const TVector<FReal, d>&
RayDir,
const TVector<FReal, d>&
InvRayDir,
const bool*
bRayParallel,
const FReal RayLength,
const TVector<T, d>&
AabbMin,
const TVector<T, d>&
AabbMax,
FReal&
OutEntryTime,
FReal&
OutExitTime)
69 CHAOSCORE_API bool RayCapsule(
const FVec3& RayStart,
const FVec3&
RayDir,
const FReal RayLength,
const FReal RayThickness,
FReal CapsuleRadius,
FReal CapsuleHeight,
const FVec3&
CapsuleAxis,
const FVec3&
CapsuleX1,
const FVec3&
CapsuleX2,
FReal& OutTime,
FVec3& OutPosition,
FVec3& OutNormal);
71 template <
typename T,
int d>
72 bool RaySphere(
const TVector<T, d>& RayStart,
const TVector<T, d>&
RayDir,
const T
RayLength,
const T
RayThickness,
const FVec3f&
SphereCenter,
const FRealSingle SphereRadius, T& OutTime,
TVector<T, d>& OutPosition,
TVector<T, d>& OutNormal)
102 constexpr T Epsilon = 1e-4f;
105 if (FirstTime >= 0 && FirstTime <=
RayLength)
#define ensure( InExpression)
Definition AssertionMacros.h:464
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define UE_KINDA_SMALL_NUMBER
Definition UnrealMathUtility.h:131
uint32 Offset
Definition VulkanMemory.cpp:4033
Definition Raycasts.cpp:10
bool RayAabb(const TVector< FReal, d > &RayStart, const TVector< FReal, d > &RayDir, const FReal RayLength, const FReal RayThickness, const TVector< T, d > &AabbMin, const TVector< T, d > &AabbMax, FReal &OutTime, TVector< FReal, d > &OutPosition, TVector< FReal, d > &OutNormal, int32 &OutFaceIndex)
Definition Raycasts.cpp:12
bool RayCapsule(const FVec3 &RayStart, const FVec3 &RayDir, const FReal RayLength, const FReal RayThickness, FReal CapsuleRadius, FReal CapsuleHeight, const FVec3 &CapsuleAxis, const FVec3 &CapsuleX1, const FVec3 &CapsuleX2, FReal &OutTime, FVec3 &OutPosition, FVec3 &OutNormal)
Definition Raycasts.cpp:181
bool RaySphere(const TVector< T, d > &RayStart, const TVector< T, d > &RayDir, const T RayLength, const T RayThickness, const FVec3f &SphereCenter, const FRealSingle SphereRadius, T &OutTime, TVector< T, d > &OutPosition, TVector< T, d > &OutNormal)
Definition Raycasts.h:72
FRealDouble FReal
Definition Real.h:22
float FRealSingle
Definition Real.h:14
static UE_FORCEINLINE_HINT bool IsNearlyEqual(float A, float B, float ErrorTolerance=UE_SMALL_NUMBER)
Definition UnrealMathUtility.h:388
Definition NumericLimits.h:41