UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
Chaos::Private::FPBDCollisionSolverHelperSimd Class Reference

#include <PBDCollisionSolverSimd.h>

Public Member Functions

template<>
void SolvePositionNoFriction (const TArrayView< TPBDCollisionSolverSimd< 4 > > &Solvers, const TArrayView< TPBDCollisionSolverManifoldPointsSimd< 4 > > &ManifoldPoints, const TArrayView< TSolverBodyPtrPairSimd< 4 > > &SolverBodies, const FSolverReal Dt, const FSolverReal MaxPushOut)
 
template<>
void SolvePositionWithFriction (const TArrayView< TPBDCollisionSolverSimd< 4 > > &Solvers, const TArrayView< TPBDCollisionSolverManifoldPointsSimd< 4 > > &ManifoldPoints, const TArrayView< TSolverBodyPtrPairSimd< 4 > > &SolverBodies, const FSolverReal Dt, const FSolverReal MaxPushOut)
 
template<>
void SolveVelocityNoFriction (const TArrayView< TPBDCollisionSolverSimd< 4 > > &Solvers, const TArrayView< TPBDCollisionSolverManifoldPointsSimd< 4 > > &ManifoldPoints, const TArrayView< TSolverBodyPtrPairSimd< 4 > > &SolverBodies, const FSolverReal Dt)
 
template<>
void SolveVelocityWithFriction (const TArrayView< TPBDCollisionSolverSimd< 4 > > &Solvers, const TArrayView< TPBDCollisionSolverManifoldPointsSimd< 4 > > &ManifoldPoints, const TArrayView< TSolverBodyPtrPairSimd< 4 > > &SolverBodies, const FSolverReal Dt)
 

Static Public Member Functions

template<int TNumLanes>
static void SolvePositionNoFriction (const TArrayView< TPBDCollisionSolverSimd< TNumLanes > > &Solvers, const TArrayView< TPBDCollisionSolverManifoldPointsSimd< TNumLanes > > &ManifoldPoints, const TArrayView< TSolverBodyPtrPairSimd< TNumLanes > > &SolverBodies, const FSolverReal Dt, const FSolverReal MaxPushOut)
 
template<int TNumLanes>
static void SolvePositionWithFriction (const TArrayView< TPBDCollisionSolverSimd< TNumLanes > > &Solvers, const TArrayView< TPBDCollisionSolverManifoldPointsSimd< TNumLanes > > &ManifoldPoints, const TArrayView< TSolverBodyPtrPairSimd< TNumLanes > > &SolverBodies, const FSolverReal Dt, const FSolverReal MaxPushOut)
 
template<int TNumLanes>
static void SolveVelocityNoFriction (const TArrayView< TPBDCollisionSolverSimd< TNumLanes > > &Solvers, const TArrayView< TPBDCollisionSolverManifoldPointsSimd< TNumLanes > > &ManifoldPoints, const TArrayView< TSolverBodyPtrPairSimd< TNumLanes > > &SolverBodies, const FSolverReal Dt)
 
template<int TNumLanes>
static void SolveVelocityWithFriction (const TArrayView< TPBDCollisionSolverSimd< TNumLanes > > &Solvers, const TArrayView< TPBDCollisionSolverManifoldPointsSimd< TNumLanes > > &ManifoldPoints, const TArrayView< TSolverBodyPtrPairSimd< TNumLanes > > &SolverBodies, const FSolverReal Dt)
 
static CHAOS_API void CheckISPC ()
 
template<>
void SolvePositionNoFriction (const TArrayView< TPBDCollisionSolverSimd< 4 > > &Solvers, const TArrayView< TPBDCollisionSolverManifoldPointsSimd< 4 > > &ManifoldPoints, const TArrayView< TSolverBodyPtrPairSimd< 4 > > &Bodies, const FSolverReal InDt, const FSolverReal InMaxPushOut)
 
template<>
void SolvePositionWithFriction (const TArrayView< TPBDCollisionSolverSimd< 4 > > &Solvers, const TArrayView< TPBDCollisionSolverManifoldPointsSimd< 4 > > &ManifoldPoints, const TArrayView< TSolverBodyPtrPairSimd< 4 > > &Bodies, const FSolverReal InDt, const FSolverReal InMaxPushOut)
 
template<>
void SolveVelocityNoFriction (const TArrayView< TPBDCollisionSolverSimd< 4 > > &Solvers, const TArrayView< TPBDCollisionSolverManifoldPointsSimd< 4 > > &ManifoldPoints, const TArrayView< TSolverBodyPtrPairSimd< 4 > > &Bodies, const FSolverReal InDt)
 
template<>
void SolveVelocityWithFriction (const TArrayView< TPBDCollisionSolverSimd< 4 > > &Solvers, const TArrayView< TPBDCollisionSolverManifoldPointsSimd< 4 > > &ManifoldPoints, const TArrayView< TSolverBodyPtrPairSimd< 4 > > &Bodies, const FSolverReal InDt)
 

Detailed Description

A helper for solving arrays of constraints.

Note
Only works with 4 SIMD lanes for now.

Member Function Documentation

◆ CheckISPC()

void Chaos::Private::FPBDCollisionSolverHelperSimd::CheckISPC ( )
static

◆ SolvePositionNoFriction() [1/3]

template<>
void Chaos::Private::FPBDCollisionSolverHelperSimd::SolvePositionNoFriction ( const TArrayView< TPBDCollisionSolverSimd< 4 > > &  Solvers,
const TArrayView< TPBDCollisionSolverManifoldPointsSimd< 4 > > &  ManifoldPoints,
const TArrayView< TSolverBodyPtrPairSimd< 4 > > &  Bodies,
const FSolverReal  InDt,
const FSolverReal  InMaxPushOut 
)
static

◆ SolvePositionNoFriction() [2/3]

template<>
void Chaos::Private::FPBDCollisionSolverHelperSimd::SolvePositionNoFriction ( const TArrayView< TPBDCollisionSolverSimd< 4 > > &  Solvers,
const TArrayView< TPBDCollisionSolverManifoldPointsSimd< 4 > > &  ManifoldPoints,
const TArrayView< TSolverBodyPtrPairSimd< 4 > > &  SolverBodies,
const FSolverReal  Dt,
const FSolverReal  MaxPushOut 
)

◆ SolvePositionNoFriction() [3/3]

template<int TNumLanes>
static void Chaos::Private::FPBDCollisionSolverHelperSimd::SolvePositionNoFriction ( const TArrayView< TPBDCollisionSolverSimd< TNumLanes > > &  Solvers,
const TArrayView< TPBDCollisionSolverManifoldPointsSimd< TNumLanes > > &  ManifoldPoints,
const TArrayView< TSolverBodyPtrPairSimd< TNumLanes > > &  SolverBodies,
const FSolverReal  Dt,
const FSolverReal  MaxPushOut 
)
static

◆ SolvePositionWithFriction() [1/3]

template<>
void Chaos::Private::FPBDCollisionSolverHelperSimd::SolvePositionWithFriction ( const TArrayView< TPBDCollisionSolverSimd< 4 > > &  Solvers,
const TArrayView< TPBDCollisionSolverManifoldPointsSimd< 4 > > &  ManifoldPoints,
const TArrayView< TSolverBodyPtrPairSimd< 4 > > &  Bodies,
const FSolverReal  InDt,
const FSolverReal  InMaxPushOut 
)
static

◆ SolvePositionWithFriction() [2/3]

template<>
void Chaos::Private::FPBDCollisionSolverHelperSimd::SolvePositionWithFriction ( const TArrayView< TPBDCollisionSolverSimd< 4 > > &  Solvers,
const TArrayView< TPBDCollisionSolverManifoldPointsSimd< 4 > > &  ManifoldPoints,
const TArrayView< TSolverBodyPtrPairSimd< 4 > > &  SolverBodies,
const FSolverReal  Dt,
const FSolverReal  MaxPushOut 
)

◆ SolvePositionWithFriction() [3/3]

template<int TNumLanes>
static void Chaos::Private::FPBDCollisionSolverHelperSimd::SolvePositionWithFriction ( const TArrayView< TPBDCollisionSolverSimd< TNumLanes > > &  Solvers,
const TArrayView< TPBDCollisionSolverManifoldPointsSimd< TNumLanes > > &  ManifoldPoints,
const TArrayView< TSolverBodyPtrPairSimd< TNumLanes > > &  SolverBodies,
const FSolverReal  Dt,
const FSolverReal  MaxPushOut 
)
static

◆ SolveVelocityNoFriction() [1/3]

template<>
void Chaos::Private::FPBDCollisionSolverHelperSimd::SolveVelocityNoFriction ( const TArrayView< TPBDCollisionSolverSimd< 4 > > &  Solvers,
const TArrayView< TPBDCollisionSolverManifoldPointsSimd< 4 > > &  ManifoldPoints,
const TArrayView< TSolverBodyPtrPairSimd< 4 > > &  Bodies,
const FSolverReal  InDt 
)
static

◆ SolveVelocityNoFriction() [2/3]

template<>
void Chaos::Private::FPBDCollisionSolverHelperSimd::SolveVelocityNoFriction ( const TArrayView< TPBDCollisionSolverSimd< 4 > > &  Solvers,
const TArrayView< TPBDCollisionSolverManifoldPointsSimd< 4 > > &  ManifoldPoints,
const TArrayView< TSolverBodyPtrPairSimd< 4 > > &  SolverBodies,
const FSolverReal  Dt 
)

◆ SolveVelocityNoFriction() [3/3]

template<int TNumLanes>
static void Chaos::Private::FPBDCollisionSolverHelperSimd::SolveVelocityNoFriction ( const TArrayView< TPBDCollisionSolverSimd< TNumLanes > > &  Solvers,
const TArrayView< TPBDCollisionSolverManifoldPointsSimd< TNumLanes > > &  ManifoldPoints,
const TArrayView< TSolverBodyPtrPairSimd< TNumLanes > > &  SolverBodies,
const FSolverReal  Dt 
)
static

◆ SolveVelocityWithFriction() [1/3]

template<>
void Chaos::Private::FPBDCollisionSolverHelperSimd::SolveVelocityWithFriction ( const TArrayView< TPBDCollisionSolverSimd< 4 > > &  Solvers,
const TArrayView< TPBDCollisionSolverManifoldPointsSimd< 4 > > &  ManifoldPoints,
const TArrayView< TSolverBodyPtrPairSimd< 4 > > &  Bodies,
const FSolverReal  InDt 
)
static

◆ SolveVelocityWithFriction() [2/3]

template<>
void Chaos::Private::FPBDCollisionSolverHelperSimd::SolveVelocityWithFriction ( const TArrayView< TPBDCollisionSolverSimd< 4 > > &  Solvers,
const TArrayView< TPBDCollisionSolverManifoldPointsSimd< 4 > > &  ManifoldPoints,
const TArrayView< TSolverBodyPtrPairSimd< 4 > > &  SolverBodies,
const FSolverReal  Dt 
)

◆ SolveVelocityWithFriction() [3/3]

template<int TNumLanes>
static void Chaos::Private::FPBDCollisionSolverHelperSimd::SolveVelocityWithFriction ( const TArrayView< TPBDCollisionSolverSimd< TNumLanes > > &  Solvers,
const TArrayView< TPBDCollisionSolverManifoldPointsSimd< TNumLanes > > &  ManifoldPoints,
const TArrayView< TSolverBodyPtrPairSimd< TNumLanes > > &  SolverBodies,
const FSolverReal  Dt 
)
static

The documentation for this class was generated from the following files: