|
| template<typename TRealType > |
| TRealType | Chaos::Utilities::SignedSquare (TRealType A) |
| |
| template<class TINT = uint64> |
| TINT | Chaos::Utilities::Factorial (TINT Num) |
| | Take the factorial of Num, which should be of integral type.
|
| |
| template<class TINT = uint64> |
| TINT | Chaos::Utilities::NChooseR (const TINT N, const TINT R) |
| | Number of ways to choose of R elements from a set of size N, with no repetitions.
|
| |
| template<class TINT = uint64> |
| TINT | Chaos::Utilities::NPermuteR (const TINT N, const TINT R) |
| | Number of ways to choose of R elements from a set of size N, with repetitions.
|
| |
| template<class T , class TARRAY = TArray<T>> |
| void | Chaos::Utilities::GetMinAvgMax (const TARRAY &Values, T &MinV, double &AvgV, T &MaxV) |
| | Compute the minimum, average, and maximum values of Values.
|
| |
| template<class T , class TARRAY = TArray<T>> |
| T | Chaos::Utilities::GetAverage (const TARRAY &Values) |
| | Compute the average value.
|
| |
| template<class T , class TARRAY = TArray<T>> |
| T | Chaos::Utilities::GetVariance (const TARRAY &Values, const T Avg) |
| | Compute the variance of Values, given the average value of Avg.
|
| |
| template<class T , class TARRAY = TArray<T>> |
| T | Chaos::Utilities::GetVariance (const TARRAY &Values) |
| | Compute the variance of Values (computes their average on the fly).
|
| |
| template<class T , class TARRAY = TArray<T>> |
| T | Chaos::Utilities::GetStandardDeviation (const TARRAY &Values, const T Avg) |
| | Compute the standard deviation of Values, given the average value of Avg.
|
| |
| template<class T , class TARRAY = TArray<T>> |
| T | Chaos::Utilities::GetStandardDeviation (const TARRAY &Values) |
| | Compute the standard deviation of Values (computes their average on the fly).
|
| |
| template<class T > |
| T | Chaos::Utilities::GetStandardDeviation (const T Variance) |
| | Compute the standard deviation from Variance.
|
| |
| FMatrix33 | Chaos::Utilities::Multiply (const FMatrix33 &L, const FMatrix33 &R) |
| |
| FMatrix44 | Chaos::Utilities::Multiply (const FMatrix44 &L, const FMatrix44 &R) |
| |
| FMatrix33 | Chaos::Utilities::MultiplyAB (const FMatrix33 &LIn, const FMatrix33 &RIn) |
| |
| FMatrix33 | Chaos::Utilities::MultiplyABt (const FMatrix33 &L, const FMatrix33 &R) |
| |
| FMatrix33 | Chaos::Utilities::MultiplyAtB (const FMatrix33 &L, const FMatrix33 &R) |
| |
| FVec3 | Chaos::Utilities::Multiply (const FMatrix33 &L, const FVec3 &R) |
| |
| TVec3< FRealSingle > | Chaos::Utilities::Multiply (const TMatrix33< FRealSingle > &L, const TVec3< FRealSingle > &R) |
| |
| FVec4 | Chaos::Utilities::Multiply (const FMatrix44 &L, const FVec4 &R) |
| |
| bool | Chaos::Utilities::Solve (FVec3 &X, const FMatrix33 &A, const FVec3 &B) |
| |
| FRigidTransform3 | Chaos::Utilities::Multiply (const FRigidTransform3 L, const FRigidTransform3 &R) |
| |
| FMatrix33 | Chaos::Utilities::ComputeWorldSpaceInertia (const FRotation3 &CoMRotation, const FMatrix33 &I) |
| |
| FMatrix33 | Chaos::Utilities::ComputeWorldSpaceInertia (const FRotation3 &CoMRotation, const FVec3 &I) |
| |
| FVec3 | Chaos::Utilities::GetAngularVelocityAdjustedForGyroscopicTorques (const FRotation3 &Q, const FVec3 &I, const FVec3 &W, const FReal Dt) |
| |
| template<class T > |
| PMatrix< T, 3, 3 > | Chaos::Utilities::ComputeJointFactorMatrix (const TVec3< T > &V, const PMatrix< T, 3, 3 > &M, const T &Im) |
| |
| template<class T > |
| TVec3< T > | Chaos::Utilities::ComputeDiagonalJointFactorMatrix (const TVec3< T > &V, const PMatrix< T, 3, 3 > &M, const T &Im) |
| |
| template<typename T > |
| bool | Chaos::Utilities::IntersectLineSegments2D (const TVec2< T > &InStartA, const TVec2< T > &InEndA, const TVec2< T > &InStartB, const TVec2< T > &InEndB, T &OutTA, T &OutTB) |
| |
| bool | Chaos::Utilities::ClipLineSegmentToPlane (FVec3 &V0, FVec3 &V1, const FVec3 &PlaneNormal, const FVec3 &PlanePos) |
| |
| bool | Chaos::Utilities::ClipLineSegmentToAxisAlignedPlane (FVec3 &V0, FVec3 &V1, const int32 AxisIndex, const FReal PlaneDir, const FReal PlanePos) |
| |
| void | Chaos::Utilities::ProjectPointOntoAxisAlignedPlane (FVec3 &V, const FVec3 &Dir, int32 AxisIndex, FReal PlaneDir, FReal PlanePos) |
| |
| bool | Chaos::Utilities::ProjectPointOntoAxisAlignedPlaneSafe (FVec3 &V, const FVec3 &Dir, int32 AxisIndex, FReal PlaneDir, FReal PlanePos, FReal Epsilon) |
| |
| bool | Chaos::Utilities::NormalizeSafe (FVec3 &V, FReal EpsilonSq=UE_SMALL_NUMBER) |
| |
| template<class T > |
| T | Chaos::Utilities::DotProduct (const TArray< T > &X, const TArray< T > &Y) |
| |
| template<typename T > |
| TVec3< T > | Chaos::Utilities::ScaleInertia (const TVec3< T > &Inertia, const TVec3< T > &Scale, const bool bScaleMass) |
| |
| FMatrix33 | Chaos::Utilities::ScaleInertia (const FMatrix33 &Inertia, const FVec3 &Scale, const bool bScaleMass) |
| |
| bool | Chaos::Utilities::BoxFromInertia (const FVec3 &InInertia, const FReal Mass, FVec3 &OutCenter, FVec3 &OutSize) |
| |
| int32 | Chaos::Utilities::WrapIndex (int32 V, int32 Begin, int32 End) |
| |
| void | Chaos::Utilities::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) |
| |
| void | Chaos::Utilities::NearestPointsOnLineSegmentToLine (const FVec3 &SegmentBegin, const FVec3 &SegmentEnd, const FVec3 &LinePos, const FVec3 &LineVector, FReal &S, FReal &T, FVec3 &C1, FVec3 &C2, const FReal Epsilon=1.e-4f) |
| |
| template<typename T > |
| T | Chaos::Utilities::ClosestTimeOnLineSegment (const TVec3< T > &Point, const TVec3< T > &StartPoint, const TVec3< T > &EndPoint) |
| |
| template<typename T > |
| T | Chaos::Utilities::RaySphereIntersectionDistance (const TVec3< T > &RayStart, const TVec3< T > &RayDir, const TVec3< T > &SpherePos, const T SphereRadius) |
| | The distance from Start to the sphere along the vector Dir. Returns numeric max if no intersection.
|
| |
| template<typename T > |
| T | Chaos::Utilities::AsinEst1 (const T X) |
| |
| template<typename T > |
| T | Chaos::Utilities::AsinEst3 (const T X) |
| |
| template<typename T > |
| T | Chaos::Utilities::AsinEst5 (const T X) |
| |
| template<typename T > |
| T | Chaos::Utilities::AsinEst7 (const T X) |
| |
| template<typename T , int Order = 5> |
| T | Chaos::Utilities::AsinEst (const T X) |
| |
| template<typename T , int Order = 5> |
| T | Chaos::Utilities::AsinEstCrossover (const T X, const T Crossover=T(0.7)) |
| |
| template<class T , class TV , class TV_INT4 > |
| void | Chaos::Utilities::TetMeshFromGrid (const TUniformGrid< T, 3 > &Grid, TArray< TV_INT4 > &Mesh, TArray< TV > &X) |
| | Generate a tetrahedral mesh from a Freudenthal lattice defined on a 3 dimensional grid.
|
| |
| template<int d> |
| TArray< TArray< int > > | Chaos::Utilities::ComputeIncidentElements (const TArray< TVector< int32, d > > &Mesh, TArray< TArray< int32 > > *LocalIndex=nullptr) |
| |
| void | Chaos::Utilities::DFS_iterative (const TArray< TArray< int32 > > &L, int32 v, TArray< bool > &visited, TArray< int32 > &component) |
| |
| void | Chaos::Utilities::ConnectedComponentsDFSIterative (const TArray< TArray< int32 > > &L, TArray< TArray< int32 > > &C) |
| |
| void | Chaos::Utilities::FindConnectedRegions (const TArray< FIntVector4 > &Elements, TArray< TArray< int32 > > &ConnectedComponents) |
| |
| void | Chaos::Utilities::FindConnectedRegions (const TArray< FIntVector3 > &Elements, TArray< TArray< int32 > > &ConnectedComponents) |
| |
| TArray< int32 > | Chaos::Utilities::ComputeBoundaryNodes (const TArray< TVec3< int32 > > &TriangleMesh) |
| |
| TArray< TArray< int32 > > | Chaos::Utilities::ComputeIncidentElements (const TArray< TArray< int32 > > &Constraints, TArray< TArray< int32 > > *LocalIndex=nullptr) |
| |
| void | Chaos::Utilities::MergeIncidentElements (const TArray< TArray< int32 > > &ExtraIncidentElements, const TArray< TArray< int32 > > &ExtraIncidentElementsLocal, TArray< TArray< int32 > > &IncidentElements, TArray< TArray< int32 > > &IncidentElementsLocal) |
| |
| FIntVector3 | Chaos::Utilities::SortFIntVector3 (FIntVector3 &V) |
| |
| FIntVector3 | Chaos::Utilities::TetFace (int32 f) |
| |
| template<typename Func1 , typename Func2 > |
| TArray< FIntVector2 > | Chaos::Utilities::ComputeMeshFacePairs (const TArray< FIntVector4 > &Mesh, Func1 GreaterThan, Func2 Equal) |
| |
| TArray< FIntVector2 > | Chaos::Utilities::ComputeTetMeshFacePairs (const TArray< FIntVector4 > &TetMesh) |
| |
| TArray< TArray< FVector3f > > | Chaos::Utilities::RandomPointsInTet (const TArray< FVector3f > &x, const TArray< FIntVector4 > &TetMesh, const TArray< int32 > &SampleElements, int32 NumRandomPointsPerElement=1) |
| |