15 template<
typename ConvexType>
65 for (
int32 PlaneIndex = 0; PlaneIndex <
Convex.NumPlanes(); ++PlaneIndex)
147 for (
int32 TriEdgeIndex = 0; TriEdgeIndex < 3; ++TriEdgeIndex)
278 ensureMsgf(
false,
TEXT(
"SATConvexTriangle failed to select a feature"));
constexpr auto MakeArrayView(OtherRangeType &&Other)
Definition ArrayView.h:873
#define ensureMsgf( InExpression, InFormat,...)
Definition AssertionMacros.h:465
@ INDEX_NONE
Definition CoreMiscDefines.h:150
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
Definition MemStack.h:506
Definition ArrayView.h:139
Definition MemStack.h:391
static FORCEINLINE FMemStack & Get()
Definition ThreadSingleton.h:101
Definition BodyInstance.h:90
void ProjectOntoAxis(const ConvexType &Convex, const FVec3 &AxisN, const FVec3 &AxisX, FReal &PMin, FReal &PMax, int32 &MinVertexIndex, int32 &MaxVertexIndex, TArrayView< FReal > *VertexDs)
Definition ConvexContactPointUtilities.h:15
bool SATConvexTriangle(const ConvexType &Convex, const FTriangle &Triangle, const FVec3 &TriangleNormal, const FReal CullDistanceSq, Private::FConvexContactPoint &OutContactPoint)
Definition SATConvexTriangle.h:16
bool IsOnMinkowskiSumConvexTriangle(const FVec3 &A, const FVec3 &B, const FVec3 &BA, const FVec3 &C, const FVec3 &DC)
Definition ConvexContactPointUtilities.h:249
TRealType SignedSquare(TRealType A)
Definition Utilities.h:22
void NearestPointsOnLineSegments(const FVec3 &P1, const FVec3 &Q1, const FVec3 &P2, const FVec3 &Q2, FReal &S, FReal &T, FVec3 &C1, FVec3 &C2, const FReal Epsilon=1.e-4f)
Definition Utilities.h:649
FRealDouble FReal
Definition Real.h:22
TVector< FReal, 3 > FVec3
Definition Core.h:17
constexpr T InvalidPhi()
Definition ContactPoint.h:29