|
| template<typename TContainer , typename THit > |
| void | LowLevelRaycast (const TContainer &Container, const FVector &Start, const FVector &Dir, float DeltaMag, FPhysicsHitCallback< THit > &HitBuffer, EHitFlags OutputFlags, FQueryFlags QueryFlags, const FCollisionFilterData &Filter, const ChaosInterface::FQueryFilterData &QueryFilterData, ICollisionQueryFilterCallbackBase *QueryCallback, const ChaosInterface::FQueryDebugParams &DebugParams={}) |
| |
| template<typename TContainer , typename THit > |
| void | LowLevelSweep (const TContainer &Container, const FPhysicsGeometry &Geom, const FTransform &StartTM, const FVector &Dir, float DeltaMag, FPhysicsHitCallback< THit > &HitBuffer, EHitFlags OutputFlags, FQueryFlags QueryFlags, const FCollisionFilterData &Filter, const ChaosInterface::FQueryFilterData &QueryFilterData, ICollisionQueryFilterCallbackBase *QueryCallback, const ChaosInterface::FQueryDebugParams &DebugParams={}) |
| |
| template<typename TContainer , typename THit > |
| void | LowLevelOverlap (const TContainer &Container, const FPhysicsGeometry &Geom, const FTransform &GeomPose, FPhysicsHitCallback< THit > &HitBuffer, FQueryFlags QueryFlags, const FCollisionFilterData &Filter, const ChaosInterface::FQueryFilterData &QueryFilterData, ICollisionQueryFilterCallbackBase *QueryCallback, const ChaosInterface::FQueryDebugParams &DebugParams={}) |
| |
| template<typename ConvexType > |
| void | ConvexTriangleManifoldFromContact (const ConvexType &Convex, const FTriangle &Triangle, const FVec3 &TriangleNormal, const FConvexContactPoint &Contact, const FReal CullDistance, FContactPointManifold &OutManifold) |
| |
| template void | ConvexTriangleManifoldFromContact (const FImplicitConvex3 &Convex, const FTriangle &Triangle, const FVec3 &TriangleNormal, const FConvexContactPoint &Contact, const FReal CullDistance, FContactPointManifold &OutManifold) |
| |
| template void | ConvexTriangleManifoldFromContact (const TImplicitObjectInstanced< FImplicitConvex3 > &Convex, const FTriangle &Triangle, const FVec3 &TriangleNormal, const FConvexContactPoint &Contact, const FReal CullDistance, FContactPointManifold &OutManifold) |
| |
| template void | ConvexTriangleManifoldFromContact (const TImplicitObjectScaled< FImplicitConvex3 > &Convex, const FTriangle &Triangle, const FVec3 &TriangleNormal, const FConvexContactPoint &Contact, const FReal CullDistance, FContactPointManifold &OutManifold) |
| |
| template void | ConvexTriangleManifoldFromContact (const FImplicitBox3 &Convex, const FTriangle &Triangle, const FVec3 &TriangleNormal, const FConvexContactPoint &Contact, const FReal CullDistance, FContactPointManifold &OutManifold) |
| |
| template void | ConvexTriangleManifoldFromContact (const TImplicitObjectScaled< FImplicitBox3 > &Convex, const FTriangle &Triangle, const FVec3 &TriangleNormal, const FConvexContactPoint &Contact, const FReal CullDistance, FContactPointManifold &OutManifold) |
| |
| template void | ConvexTriangleManifoldFromContact (const TImplicitObjectInstanced< FImplicitBox3 > &Convex, const FTriangle &Triangle, const FVec3 &TriangleNormal, const FConvexContactPoint &Contact, const FReal CullDistance, FContactPointManifold &OutManifold) |
| |
| template<typename ConvexType > |
| bool | ConvexTriangleContactPoint (const ConvexType &Convex, const FTriangle &Triangle, const FVec3 &TriangleNormal, const FReal CullDistanceSq, FConvexContactPoint &OutContactPoint) |
| |
| template bool | ConvexTriangleContactPoint (const FImplicitConvex3 &Convex, const FTriangle &Triangle, const FVec3 &TriangleNormal, const FReal CullDistance, FConvexContactPoint &OutContactPoint) |
| |
| template bool | ConvexTriangleContactPoint (const TImplicitObjectInstanced< FImplicitConvex3 > &Convex, const FTriangle &Triangle, const FVec3 &TriangleNormal, const FReal CullDistance, FConvexContactPoint &OutContactPoint) |
| |
| template bool | ConvexTriangleContactPoint (const TImplicitObjectScaled< FImplicitConvex3 > &Convex, const FTriangle &Triangle, const FVec3 &TriangleNormal, const FReal CullDistance, FConvexContactPoint &OutContactPoint) |
| |
| template bool | ConvexTriangleContactPoint (const FImplicitBox3 &Convex, const FTriangle &Triangle, const FVec3 &TriangleNormal, const FReal CullDistance, FConvexContactPoint &OutContactPoint) |
| |
| template bool | ConvexTriangleContactPoint (const TImplicitObjectScaled< FImplicitBox3 > &Convex, const FTriangle &Triangle, const FVec3 &TriangleNormal, const FReal CullDistance, FConvexContactPoint &OutContactPoint) |
| |
| template bool | ConvexTriangleContactPoint (const TImplicitObjectInstanced< FImplicitBox3 > &Convex, const FTriangle &Triangle, const FVec3 &TriangleNormal, const FReal CullDistance, FConvexContactPoint &OutContactPoint) |
| |
| template<typename ConvexType > |
| bool | FindClosestFeatures (const ConvexType &Convex, const FTriangle &Triangle, const FVec3 &TriangleNormal, const FVec3 &ConvexRelativeMovement, const FReal CullDistance, FConvexContactPoint &OutContactPoint) |
| |
| template<> |
| bool | FindClosestFeatures (const FImplicitSphere3 &Convex, const FTriangle &Triangle, const FVec3 &TriangleNormal, const FVec3 &ConvexRelativeMovement, const FReal CullDistance, FConvexContactPoint &OutContactPoint) |
| |
| template bool | FindClosestFeatures (const FImplicitConvex3 &Convex, const FTriangle &Triangle, const FVec3 &TriangleNormal, const FVec3 &ConvexRelativeMovement, const FReal CullDistance, FConvexContactPoint &OutContact) |
| |
| template bool | FindClosestFeatures (const TImplicitObjectInstanced< FImplicitConvex3 > &Convex, const FTriangle &Triangle, const FVec3 &TriangleNormal, const FVec3 &ConvexRelativeMovement, const FReal CullDistance, FConvexContactPoint &OutContact) |
| |
| template bool | FindClosestFeatures (const TImplicitObjectScaled< FImplicitConvex3 > &Convex, const FTriangle &Triangle, const FVec3 &TriangleNormal, const FVec3 &ConvexRelativeMovement, const FReal CullDistance, FConvexContactPoint &OutContact) |
| |
| template bool | FindClosestFeatures (const FImplicitBox3 &Convex, const FTriangle &Triangle, const FVec3 &TriangleNormal, const FVec3 &ConvexRelativeMovement, const FReal CullDistance, FConvexContactPoint &OutContact) |
| |
| template bool | FindClosestFeatures (const TImplicitObjectScaled< FImplicitBox3 > &Convex, const FTriangle &Triangle, const FVec3 &TriangleNormal, const FVec3 &ConvexRelativeMovement, const FReal CullDistance, FConvexContactPoint &OutContact) |
| |
| template bool | FindClosestFeatures (const TImplicitObjectInstanced< FImplicitBox3 > &Convex, const FTriangle &Triangle, const FVec3 &TriangleNormal, const FVec3 &ConvexRelativeMovement, const FReal CullDistance, FConvexContactPoint &OutContact) |
| |
| FORCEINLINE_DEBUGGABLE void | UpdateCollisionSolverContactPointFromConstraint (Private::FPBDCollisionSolverJacobi &Solver, const int32 SolverPointIndex, const FPBDCollisionConstraint *Constraint, const int32 ConstraintPointIndex, const FRealSingle Dt, const FSolverBody &Body0, const FSolverBody &Body1) |
| |
| FORCEINLINE_DEBUGGABLE void | UpdateCollisionSolverManifoldFromConstraint (Private::FPBDCollisionSolverJacobi &Solver, const FPBDCollisionConstraint *Constraint, const FSolverReal Dt, const int32 ConstraintPointBeginIndex, const int32 ConstraintPointEndIndex) |
| |
| FORCEINLINE_DEBUGGABLE void | UpdateCollisionSolverFromConstraint (Private::FPBDCollisionSolverJacobi &Solver, const FPBDCollisionConstraint *Constraint, const FSolverReal Dt, const FPBDCollisionSolverSettings &SolverSettings, bool &bOutPerIterationCollision) |
| |
| FORCEINLINE_DEBUGGABLE void | UpdateCollisionConstraintFromSolver (FPBDCollisionConstraint *Constraint, const Private::FPBDCollisionSolverJacobi &Solver, const FSolverReal Dt) |
| |
| template<int TNumLanes> |
| void | UpdateSolverManifoldPointFromConstraint (const int32 ManifoldPointIndex, TPBDCollisionSolverSimd< 4 > &Solvers, TConstraintPtrSimd< 4 > &Constraints, TSolverBodyPtrPairSimd< 4 > &Bodies, const TArrayView< TPBDCollisionSolverManifoldPointsSimd< TNumLanes > > &ManifoldPointsBuffer, const FRealSingle Dt) |
| |
| template<int TNumLanes> |
| void | UpdateSolverManifoldPointsFromConstraint (TPBDCollisionSolverSimd< 4 > &Solvers, TConstraintPtrSimd< 4 > &Constraints, TSolverBodyPtrPairSimd< 4 > &Bodies, const TArrayView< TPBDCollisionSolverManifoldPointsSimd< TNumLanes > > &ManifoldPointsBuffer, const FSolverReal Dt, const int32 ManifoldPointBeginIndex, const int32 ManifoldPointEndIndex) |
| |
| template<int TNumLanes> |
| void | UpdateSolverFromConstraint (TPBDCollisionSolverSimd< 4 > &Solvers, TConstraintPtrSimd< 4 > &Constraints, TSolverBodyPtrPairSimd< 4 > &Bodies, const TArrayView< TPBDCollisionSolverManifoldPointsSimd< TNumLanes > > &ManifoldPointsBuffer, const FSolverReal Dt, const FPBDCollisionSolverSettings &SolverSettings, bool &bOutPerIterationCollision) |
| |
| template<int TNumLanes> |
| void | UpdateConstraintFromSolver (TConstraintPtrSimd< 4 > &Constraints, TPBDCollisionSolverSimd< 4 > &Solvers, TSolverBodyPtrPairSimd< 4 > &Bodies, const TArrayView< TPBDCollisionSolverManifoldPointsSimd< TNumLanes > > &ManifoldPointsBuffer, const FSolverReal Dt) |
| |
| FORCEINLINE void | PrefetchSolvePosition (const int32 Index, const TArrayView< TPBDCollisionSolverSimd< 4 > > &Solvers, const TArrayView< TPBDCollisionSolverManifoldPointsSimd< 4 > > &ManifoldPoints, const TArrayView< TSolverBodyPtrPairSimd< 4 > > &Bodies) |
| |
| FORCEINLINE void | PrefetchSolveVelocity (const int32 Index, const TArrayView< TPBDCollisionSolverSimd< 4 > > &Solvers, const TArrayView< TPBDCollisionSolverManifoldPointsSimd< 4 > > &ManifoldPoints, const TArrayView< TSolverBodyPtrPairSimd< 4 > > &Bodies) |
| |
| bool | SimSweepParticleFirstHit (ISpatialAcceleration< FAccelerationStructureHandle, FReal, 3 > *SpatialAcceleration, FIgnoreCollisionManager *InIgnoreCollisionManager, const FGeometryParticleHandle *SweptParticle, const FVec3 &StartPos, const FRotation3 &Rot, const FVec3 &Dir, const FReal Length, FSimSweepParticleHit &OutHit, const FReal InHitDistanceEqualTolerance) |
| |
| bool | SimOverlapBoundsAll (ISpatialAcceleration< FAccelerationStructureHandle, FReal, 3 > *SpatialAcceleration, const FAABB3 &QueryBounds, TArray< FSimOverlapParticleShape > &Overlaps) |
| |
| | DECLARE_CYCLE_STAT (TEXT("Collisions::BuildConvexShapes"), STAT_BuildConvexShapes, STATGROUP_ChaosCollision) |
| |
| FORCEINLINE void | InvalidateCachedTriboxes (FConvexOptimizer::FTriboxNodes &RootTriboxes) |
| |
| | DECLARE_CYCLE_STAT (TEXT("Collisions::ResizeCachedTriboxes"), STAT_ResizeCachedTriboxes, STATGROUP_ChaosCollision) |
| |
| FORCEINLINE void | ResizeCachedTriboxes (FConvexOptimizer::FTriboxNodes &RootTriboxes) |
| |
| | DECLARE_CYCLE_STAT (TEXT("Collisions::BuildConvexTriboxes"), STAT_BuildConvexTriboxes, STATGROUP_ChaosCollision) |
| |
| FORCEINLINE void | BuildConvexTriboxes (const Chaos::FImplicitObjectUnionPtr &UnionGeometry, const FShapesArray &UnionShapes, TUniquePtr< Private::FCollisionObjects > &CollisionObjects, FConvexOptimizer::FTriboxNodes &RootTriboxes, int32 &NextConvexId, const TBitArray<> &bOptimizeConvexes) |
| |
| | DECLARE_CYCLE_STAT (TEXT("Collisions::BuildUnionConnectivity"), STAT_BuildUnionConnectivity, STATGROUP_ChaosCollision) |
| |
| | DECLARE_CYCLE_STAT (TEXT("Collisions::MergeConnectedShapes"), STAT_MergeConnectedShapes, STATGROUP_ChaosCollision) |
| |
| void | VisitCollisionObjects (const FConvexOptimizer *ConvexOptimizer, const FImplicitObject *ImplicitObject, const FImplicitHierarchyVisitor &VisitorFunc) |
| |
| void | VisitOverlappingObjects (const FConvexOptimizer *ConvexOptimizer, const FImplicitObject *ImplicitObject, const FAABB3 &LocalBounds, const FImplicitHierarchyVisitor &VisitorFunc) |
| |
| FChaosArchive & | operator<< (FChaosArchive &Ar, FImplicitBVH &BVH) |
| |
| FChaosArchive & | operator<< (FChaosArchive &Ar, FImplicitBVHObject &BVHObject) |
| |
| bool | IsParticleDynamic (const FGeometryParticleHandle *Particle) |
| |
| bool | IsParticleSleeping (const FGeometryParticleHandle *Particle) |
| |
| bool | WasParticleAsleep (const FGeometryParticleHandle *Particle) |
| |
| bool | IsParticleMoving (const FGeometryParticleHandle *Particle) |
| |
| bool | ParticlesIslandNeedsResim (const FGeometryParticleHandle *Particle) |
| |
| bool | GetIslandParticleSleepThresholds (const FGeometryParticleHandle *Particle, const TArrayCollectionArray< TSerializablePtr< FChaosPhysicsMaterial > > *PhysicsMaterials, const TArrayCollectionArray< TUniquePtr< FChaosPhysicsMaterial > > *PerParticlePhysicsMaterials, const THandleArray< FChaosPhysicsMaterial > *SimMaterials, FRealSingle &OutSleepLinearThreshold, FRealSingle &OutSleepAngularThreshold, int &OutSleepCounterThreshold, FRealSingle &OutWakeLinearThreshold, FRealSingle &OutWakeAngularThreshold) |
| |
| bool | GetIsolatedParticleSleepThresholds (const FGeometryParticleHandle *Particle, const TArrayCollectionArray< TSerializablePtr< FChaosPhysicsMaterial > > *PhysicsMaterials, const TArrayCollectionArray< TUniquePtr< FChaosPhysicsMaterial > > *PerParticlePhysicsMaterials, const THandleArray< FChaosPhysicsMaterial > *SimMaterials, FRealSingle &OutSleepLinearThreshold, FRealSingle &OutSleepAngularThreshold, int &OutSleepCounterThreshold) |
| |
| bool | GetParticleDisableThresholds (const FGeometryParticleHandle *Particle, const TArrayCollectionArray< TSerializablePtr< FChaosPhysicsMaterial > > *PhysicsMaterials, const TArrayCollectionArray< TUniquePtr< FChaosPhysicsMaterial > > *PerParticlePhysicsMaterials, const THandleArray< FChaosPhysicsMaterial > *SimMaterials, FRealSingle &OutDisableLinearThreshold, FRealSingle &OutDisableAngularThreshold) |
| |
| template<typename TRigidParticleHandle > |
| void | InitParticleSleepMetrics (TRigidParticleHandle &Rigid, FReal Dt) |
| |
| template<typename TRigidParticleHandle > |
| void | UpdateParticleSleepMetrics (TRigidParticleHandle &Rigid, FReal Dt) |
| |
| void | ValidateWakeQueues (TArray< FPBDIslandParticle * > &NodeQueue, TArray< FPBDParticleMomentumSq > &MomentumQueue) |
| |
| FGeometryParticleHandle * | GetJointParticle (FPBDJointConstraints &Constraints, const int32 ContainerConstraintIndex, const int32 ParticleIndex) |
| |
| const FRigidTransform3 & | GetJointFrame (FPBDJointConstraints &Constraints, const int32 ContainerConstraintIndex, const int32 ParticleIndex) |
| |
| FReal | GetJointShockPropagationInvMassScale (const FConstraintSolverBody &Body0, const FConstraintSolverBody &Body1, const FPBDJointSolverSettings &Settings, const FPBDJointSettings &JointSettings, const int32 It, const int32 NumIts) |
| |
| FReal | GetJointIterationStiffness (const FPBDJointSolverSettings &Settings, int32 It, int32 NumIts) |
| |
| bool | GetJointShouldBreak (const FPBDJointSettings &JointSettings, const FReal Dt, const FVec3 &LinearImpulse, const FVec3 &AngularImpulse) |
| |
| bool | GetJointIsViolating (const FPBDJointSettings &JointSettings, const FReal LinearViolationSq, const FReal AngularViolation, const int32 It, const int32 NumIts) |
| |
| template<typename SolverType > |
| void | AddBodiesImpl (const TPBDJointContainerSolver< SolverType > &Container, const TArray< int32 > &SolverGlobalIndices, FSolverBodyContainer &SolverBodyContainer, TArray< SolverType > &Solvers) |
| |
| template<typename SolverType > |
| void | GatherInputImpl (const TPBDJointContainerSolver< SolverType > &Container, TArray< SolverType > &Solvers, const TArray< int32 > &SolverGlobalIndices, const FReal Dt, const int32 SolverConstraintBeginIndex, const int32 SolverConstraintEndIndex, const bool bUseLinearSolver) |
| |
| template<typename SolverType > |
| void | ScatterOutputImpl (const TPBDJointContainerSolver< SolverType > &Container, TArray< SolverType > &Solvers, const TArray< int32 > &SolverGlobalIndices, const FReal Dt, const int32 SolverConstraintBeginIndex, const int32 SolverConstraintEndIndex, const bool bUseLinearSolver) |
| |
| template<typename SolverType > |
| void | ApplyPositionConstraintsImpl (const TPBDJointContainerSolver< SolverType > &Container, TArray< SolverType > &Solvers, const FReal Dt, const int32 It, const int32 NumIts) |
| |
| template<typename SolverType > |
| void | ApplyVelocityConstraintsImpl (const TPBDJointContainerSolver< SolverType > &Container, TArray< SolverType > &Solvers, const FReal Dt, const int32 It, const int32 NumIts) |
| |
| const FChaosPhysicsMaterial * | GetPhysicsMaterial (const TGeometryParticleHandle< FReal, 3 > *Particle, const FShapeInstance *Shape, const int32 ShapeFaceIndex, const TArrayCollectionArray< TSerializablePtr< FChaosPhysicsMaterial > > *PhysicsMaterials, const TArrayCollectionArray< TUniquePtr< FChaosPhysicsMaterial > > *PerParticlePhysicsMaterials, const THandleArray< FChaosPhysicsMaterial > *const SimMaterials) |
| |
| const FChaosPhysicsMaterial * | GetFirstPhysicsMaterial (const TGeometryParticleHandle< FReal, 3 > *Particle, const TArrayCollectionArray< TSerializablePtr< FChaosPhysicsMaterial > > *PhysicsMaterials, const TArrayCollectionArray< TUniquePtr< FChaosPhysicsMaterial > > *PerParticlePhysicsMaterials, const THandleArray< FChaosPhysicsMaterial > *const SimMaterials) |
| |
| FChaosVDParticleDataWrapper | ExtractParticleDataFromBuffer (FSerializedDataBuffer &InSerializedData) |
| |
| template<typename ParticleType > |
| void | WriteParticleDataToBuffer (ParticleType *InParticle, FSerializedDataBuffer &OutSerializedData) |
| |
| FChaosVDJointConstraint | ExtractJointConstraintDataFromBuffer (FSerializedDataBuffer &InSerializedData) |
| |
| | DECLARE_CYCLE_STAT (TEXT("Collisions::AddConvex"), STAT_AddConvexToTribox, STATGROUP_ChaosCollision) |
| |
| FORCEINLINE void | CompressFaces (TArray< TArray< int32 > > &FaceIndices) |
| |
| | DECLARE_CYCLE_STAT (TEXT("Collisions::MakeConvex"), STAT_MakeTriboxConvex, STATGROUP_ChaosCollision) |
| |
| EImplicitObjectType | GetImplicitCollisionType (const FGeometryParticleHandle *Particle, const FImplicitObject *Implicit) |
| |
| FImplicitBoundsTestFlags | CalculateImplicitBoundsTestFlags (FGeometryParticleHandle *Particle0, const FImplicitObject *Implicit0, const FPerShapeData *Shape0, FGeometryParticleHandle *Particle1, const FImplicitObject *Implicit1, const FPerShapeData *Shape1, FRealSingle &OutDistanceCheckSize) |
| |
| template<typename ConvexType > |
| void | ProjectOntoAxis (const ConvexType &Convex, const FVec3 &AxisN, const FVec3 &AxisX, FReal &PMin, FReal &PMax, int32 &MinVertexIndex, int32 &MaxVertexIndex, TArrayView< FReal > *VertexDs) |
| |
| void | ProjectOntoAxis (const FTriangle &Triangle, const FVec3 &AxisN, const FVec3 &AxisX, FReal &PMin, FReal &PMax, int32 &MinVertexIndex, int32 &MaxVertexIndex) |
| |
| void | ProjectOntoAxis (const FCapsule &Capsule, const FVec3 &AxisN, const FVec3 &AxisX, FReal &PMin, FReal &PMax, int32 &MinVertexIndex, int32 &MaxVertexIndex) |
| |
| template<typename ConvexType > |
| bool | GetConvexFeature (const ConvexType &Convex, const FVec3 &Position, const FVec3 &Normal, Private::FConvexFeature &OutFeature) |
| |
| bool | GetTriangleFeature (const FTriangle &Triangle, const FVec3 &TriangleNormal, const FVec3 &Position, const FVec3 &Normal, Private::FConvexFeature &OutFeature) |
| |
| template<typename RealType > |
| bool | IsOnMinkowskiSumConvexConvex (const TVec3< RealType > &A, const TVec3< RealType > &B, const TVec3< RealType > &C, const TVec3< RealType > &D, const RealType Tolerance=1.e-2f) |
| |
| bool | IsOnMinkowskiSumConvexTriangle (const FVec3 &A, const FVec3 &B, const FVec3 &BA, const FVec3 &C, const FVec3 &DC) |
| |
| template<typename ConvexType > |
| CHAOS_API bool | FindClosestFeatures (const ConvexType &Convex, const FTriangle &Triangle, const FVec3 &TriangleNormal, const FVec3 &ConvexRelativeMovement, const FReal CullDistance, FConvexContactPoint &OutContact) |
| |
| template<> |
| CHAOS_API bool | FindClosestFeatures< FImplicitSphere3 > (const FImplicitSphere3 &Convex, const FTriangle &Triangle, const FVec3 &TriangleNormal, const FVec3 &ConvexRelativeMovement, const FReal CullDistance, FConvexContactPoint &OutContactPoint) |
| |
| template<typename ConvexType > |
| CHAOS_API void | ConvexTriangleManifoldFromContact (const ConvexType &Convex, const FTriangle &Triangle, const FVec3 &TriangleNormal, const FConvexContactPoint &Contact, const FReal CullDistance, FContactPointManifold &OutManifold) |
| |
| void | GatherBodyPositionCorrections (const TSolverBodyPtrSimd< 4 > &Body0, const TSolverBodyPtrSimd< 4 > &Body1, TSimdVec3f< 4 > &DP0, TSimdVec3f< 4 > &DQ0, TSimdVec3f< 4 > &DP1, TSimdVec3f< 4 > &DQ1) |
| |
| void | ScatterBodyPositionCorrections (const TSimdVec3f< 4 > &DP0, const TSimdVec3f< 4 > &DQ0, const TSimdVec3f< 4 > &DP1, const TSimdVec3f< 4 > &DQ1, const TSolverBodyPtrSimd< 4 > &Body0, const TSolverBodyPtrSimd< 4 > &Body1) |
| |
| void | GatherBodyVelocities (const TSolverBodyPtrSimd< 4 > &Body0, const TSolverBodyPtrSimd< 4 > &Body1, TSimdVec3f< 4 > &V0, TSimdVec3f< 4 > &W0, TSimdVec3f< 4 > &V1, TSimdVec3f< 4 > &W1) |
| |
| void | ScatterBodyVelocities (const TSimdVec3f< 4 > &V0, const TSimdVec3f< 4 > &W0, const TSimdVec3f< 4 > &V1, const TSimdVec3f< 4 > &W1, const TSolverBodyPtrSimd< 4 > &Body0, const TSolverBodyPtrSimd< 4 > &Body1) |
| |
| bool | CalculateBodyShockPropagation (const FSolverBody &Body0, const FSolverBody &Body1, const FSolverReal ShockPropagation, FSolverReal &OutShockPropagation0, FSolverReal &OutShockPropagation1) |
| |
| template<typename ConvexType > |
| bool | SATConvexTriangle (const ConvexType &Convex, const FTriangle &Triangle, const FVec3 &TriangleNormal, const FReal CullDistanceSq, Private::FConvexContactPoint &OutContactPoint) |
| |
| template<typename TParticleFilter , typename TShapeFilter , typename TOverlapCollector > |
| void | SimOverlapBounds (ISpatialAcceleration< FAccelerationStructureHandle, FReal, 3 > *SpatialAcceleration, const FAABB3 &QueryBounds, TParticleFilter &ParticleFilter, TShapeFilter &ShapeFilter, TOverlapCollector &OverlapCollector) |
| |
| template<typename TShapeFilter , typename THitCollector > |
| void | SimSweepParticlePair (const FGeometryParticleHandle *SweptParticle, const FGeometryParticleHandle *OtherParticle, const FVec3 &StartPos, const FRotation3 &Rot, const FVec3 &Dir, const FReal Length, TShapeFilter &ShapeFilter, THitCollector &HitCollector) |
| |
| template<typename TParticleFilter , typename TShapeFilter , typename THitCollector > |
| void | SimSweepParticle (ISpatialAcceleration< FAccelerationStructureHandle, FReal, 3 > *SpatialAcceleration, const FGeometryParticleHandle *SweptParticle, const FVec3 &StartPos, const FRotation3 &Rot, const FVec3 &Dir, const FReal Length, TParticleFilter &ParticleFilter, TShapeFilter &ShapeFilter, THitCollector &HitCollector) |
| |
| bool | ParticlePairCollisionAllowed (const FGeometryParticleHandle *Particle1, const FGeometryParticleHandle *Particle2, const FIgnoreCollisionManager &IgnoreCollisionManager, const bool bIsResimming, bool &bOutSwapOrder) |
| |
| CHAOS_API const FChaosPhysicsMaterial * | GetPhysicsMaterial (const FGeometryParticleHandle *Particle, const FShapeInstance *Shape, const int32 FaceIndex, const TArrayCollectionArray< TSerializablePtr< FChaosPhysicsMaterial > > *PhysicsMaterials, const TArrayCollectionArray< TUniquePtr< FChaosPhysicsMaterial > > *PerParticlePhysicsMaterials, const THandleArray< FChaosPhysicsMaterial > *const SimMaterials) |
| |
| CHAOS_API const FChaosPhysicsMaterial * | GetFirstPhysicsMaterial (const FGeometryParticleHandle *Particle, const TArrayCollectionArray< TSerializablePtr< FChaosPhysicsMaterial > > *PhysicsMaterials, const TArrayCollectionArray< TUniquePtr< FChaosPhysicsMaterial > > *PerParticlePhysicsMaterials, const THandleArray< FChaosPhysicsMaterial > *const SimMaterials) |
| |
| FORCEINLINE bool | SimdAnyTrue (const FSimd4Selector &InL) |
| |
| FORCEINLINE bool | SimdAllTrue (const FSimd4Selector &InL) |
| |
| FORCEINLINE FSimd4Selector | SimdNot (const FSimd4Selector &InL) |
| |
| FORCEINLINE FSimd4Selector | SimdOr (const FSimd4Selector &InL, const FSimd4Selector &InR) |
| |
| FORCEINLINE FSimd4Selector | SimdAnd (const FSimd4Selector &InL, const FSimd4Selector &InR) |
| |
| FORCEINLINE FSimd4Selector | SimdEqual (const FSimd4Realf &InL, const FSimd4Realf &InR) |
| |
| FORCEINLINE FSimd4Selector | SimdNotEqual (const FSimd4Realf &InL, const FSimd4Realf &InR) |
| |
| FORCEINLINE FSimd4Selector | SimdGreaterEqual (const FSimd4Int32 &InL, const FSimd4Int32 &InR) |
| |
| FORCEINLINE FSimd4Selector | SimdGreaterEqual (const FSimd4Realf &InL, const FSimd4Realf &InR) |
| |
| FORCEINLINE FSimd4Selector | SimdGreater (const FSimd4Int32 &InL, const FSimd4Int32 &InR) |
| |
| FORCEINLINE FSimd4Selector | SimdGreater (const FSimd4Realf &InL, const FSimd4Realf &InR) |
| |
| FORCEINLINE FSimd4Selector | SimdLess (const FSimd4Int32 &InL, const FSimd4Int32 &InR) |
| |
| FORCEINLINE FSimd4Selector | SimdLess (const FSimd4Realf &InL, const FSimd4Realf &InR) |
| |
| FORCEINLINE FSimd4Realf | SimdSelect (const FSimd4Selector &InSelector, const FSimd4Realf &InL, const FSimd4Realf &InR) |
| |
| FORCEINLINE FSimd4Realf | SimdNegate (const FSimd4Realf &InL) |
| |
| FORCEINLINE FSimd4Realf | SimdAdd (const FSimd4Realf &InL, const FSimd4Realf &InR) |
| |
| FORCEINLINE FSimd4Vec3f | SimdAdd (const FSimd4Vec3f &L, const FSimd4Vec3f &R) |
| |
| FORCEINLINE FSimd4Realf | SimdSubtract (const FSimd4Realf &InL, const FSimd4Realf &InR) |
| |
| FORCEINLINE FSimd4Vec3f | SimdSubtract (const FSimd4Vec3f &L, const FSimd4Vec3f &R) |
| |
| FORCEINLINE FSimd4Realf | SimdMultiply (const FSimd4Realf &InL, const FSimd4Realf &InR) |
| |
| FORCEINLINE FSimd4Vec3f | SimdMultiply (const FSimd4Vec3f &L, const FSimd4Realf &InR) |
| |
| FORCEINLINE FSimd4Vec3f | SimdMultiply (const FSimd4Realf &L, const FSimd4Vec3f &R) |
| |
| FORCEINLINE FSimd4Vec3f | SimdMultiply (const FSimd4Vec3f &L, const FSimd4Vec3f &R) |
| |
| FORCEINLINE FSimd4Vec3f | SimdMultiplyAdd (const FSimd4Vec3f &L, const FSimd4Vec3f &R, const FSimd4Vec3f &Acc) |
| |
| FORCEINLINE FSimd4Realf | SimdDivide (const FSimd4Realf &InL, const FSimd4Realf &InR) |
| |
| FORCEINLINE FSimd4Vec3f | SimdCrossProduct (const FSimd4Vec3f &L, const FSimd4Vec3f &R) |
| |
| FORCEINLINE FSimd4Realf | SimdDotProduct (const FSimd4Vec3f &L, const FSimd4Vec3f &R) |
| |
| FORCEINLINE FSimd4Realf | SimdSquare (const FSimd4Realf &InV) |
| |
| FORCEINLINE FSimd4Realf | SimdSqrt (const FSimd4Realf &InV) |
| |
| FORCEINLINE FSimd4Realf | SimdInvSqrt (const FSimd4Realf &InV) |
| |
| FORCEINLINE FSimd4Realf | SimdMin (const FSimd4Realf &InL, const FSimd4Realf &InR) |
| |
| FORCEINLINE FSimd4Realf | SimdMax (const FSimd4Realf &InL, const FSimd4Realf &InR) |
| |
| FORCEINLINE FSimd4Vec3f | SimdGatherAligned (const FVec3f &InA, const FVec3f &InB, const FVec3f &InC, const FVec3f &InD) |
| |
| FORCEINLINE VectorRegister4Float | VectorDot3FastX (const VectorRegister4Float &Vec1, const VectorRegister4Float &Vec2) |
| |
| FORCEINLINE VectorRegister4Float | VectorMatrixMultiply (const VectorRegister4Float &Vec, const FMatrix33 &M) |
| |
| FORCEINLINE VectorRegister4Float | VectorCrossNoFMA (const VectorRegister4Float &Vec1, const VectorRegister4Float &Vec2) |
| |
| FORCEINLINE VectorRegister4Double | VectorCrossNoFMA (const VectorRegister4Double &Vec1, const VectorRegister4Double &Vec2) |
| |