UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
Chaos::FAxisConstraintDatas Struct Reference

#include <PBDJointCachedSolverGaussSeidel.h>

Classes

struct  FData
 
struct  FDataSimd
 

Public Member Functions

 FAxisConstraintDatas ()
 
 FAxisConstraintDatas (const FAxisConstraintDatas &)=delete
 
FAxisConstraintDatasoperator= (const FAxisConstraintDatas &)=delete
 
 FAxisConstraintDatas (FAxisConstraintDatas &&)=delete
 
FAxisConstraintDatasoperator= (FAxisConstraintDatas &&)=delete
 
void InitDatas (const int32 ConstraintIndex, const bool bHasSoftLimits, const FReal SoftStiffness, const FReal SoftDamping, const FReal HardStiffness, const bool bResetLambdas=true)
 
void SetMaxForce (const int32 ConstraintIndex, const FReal InMaxForce, const FReal Dt)
 
void UpdateDatas (const int32 ConstraintIndex, const FVec3 &DatasAxis, const FReal DatasCX, const FReal DatasRestitution, const bool bCheckLimit=true, const FVec3 &DatasArm0=FVec3::Zero(), const FVec3 &DatasArm1=FVec3::Zero(), const FReal DatasVX=0.0)
 
void UpdateMass (const int32 ConstraintIndex, const FVec3 &DatasIA0, const FVec3 &DatasIA1, const FReal DatasIM, const FReal Dt, const bool bUsePositionBasedDrives)
 
void ApplyMaxLambda (const int32 ConstraintIndex, FReal &DeltaLambda, FReal &Lambda)
 
bool GetValidDatas (int32 Index) const
 
bool GetLimitsCheck (int32 Index) const
 
bool GetSoftLimit (int32 Index) const
 
EJointMotionType GetMotionType (int32 Index) const
 
void SetValidDatas (int32 Index, bool bValue)
 
void SetLimitsCheck (int32 Index, bool bValue)
 
void SetSoftLimit (int32 Index, bool bValue)
 
void SetMotionType (int32 Index, EJointMotionType Value)
 

Public Attributes

union { 
 
   FDataSimd   Simd 
 
   FData   Data 
 
};  
 
FVec3 ConstraintMaxLambda
 
FVec3 SettingsSoftDamping
 
FVec3 SettingsSoftStiffness
 
FVec3 ConstraintVX
 
FVec3 ConstraintRestitution
 
FVec3 ConstraintLambdaVelocity
 
uint8 bValidDatas0: 1
 
uint8 bValidDatas1: 1
 
uint8 bValidDatas2: 1
 
uint8 bLimitsCheck0: 1
 
uint8 bLimitsCheck1: 1
 
uint8 bLimitsCheck2: 1
 
uint8 bSoftLimit0: 1
 
uint8 bSoftLimit1: 1
 
uint8 bSoftLimit2: 1
 
uint8 bAccelerationMode: 1
 
uint8 bUseSimd: 1
 
uint8 MotionType0: 2
 
uint8 MotionType1: 2
 
uint8 MotionType2: 2
 

Detailed Description

Cached axis joint datas that will be used during the apply

Constructor & Destructor Documentation

◆ FAxisConstraintDatas() [1/3]

Chaos::FAxisConstraintDatas::FAxisConstraintDatas ( )
inline

◆ FAxisConstraintDatas() [2/3]

Chaos::FAxisConstraintDatas::FAxisConstraintDatas ( const FAxisConstraintDatas )
delete

◆ FAxisConstraintDatas() [3/3]

Chaos::FAxisConstraintDatas::FAxisConstraintDatas ( FAxisConstraintDatas &&  )
delete

Member Function Documentation

◆ ApplyMaxLambda()

void Chaos::FAxisConstraintDatas::ApplyMaxLambda ( const int32  ConstraintIndex,
FReal DeltaLambda,
FReal Lambda 
)

Apply the impulse limits to the impulse delta and net impulse

◆ GetLimitsCheck()

bool Chaos::FAxisConstraintDatas::GetLimitsCheck ( int32  Index) const
inline

◆ GetMotionType()

EJointMotionType Chaos::FAxisConstraintDatas::GetMotionType ( int32  Index) const
inline

◆ GetSoftLimit()

bool Chaos::FAxisConstraintDatas::GetSoftLimit ( int32  Index) const
inline

◆ GetValidDatas()

bool Chaos::FAxisConstraintDatas::GetValidDatas ( int32  Index) const
inline

◆ InitDatas()

void Chaos::FAxisConstraintDatas::InitDatas ( const int32  ConstraintIndex,
const bool  bHasSoftLimits,
const FReal  SoftStiffness,
const FReal  SoftDamping,
const FReal  HardStiffness,
const bool  bResetLambdas = true 
)

Init the axis joint datas with stiffness / damping

◆ operator=() [1/2]

FAxisConstraintDatas & Chaos::FAxisConstraintDatas::operator= ( const FAxisConstraintDatas )
delete

◆ operator=() [2/2]

FAxisConstraintDatas & Chaos::FAxisConstraintDatas::operator= ( FAxisConstraintDatas &&  )
delete

◆ SetLimitsCheck()

void Chaos::FAxisConstraintDatas::SetLimitsCheck ( int32  Index,
bool  bValue 
)
inline

◆ SetMaxForce()

void Chaos::FAxisConstraintDatas::SetMaxForce ( const int32  ConstraintIndex,
const FReal  InMaxForce,
const FReal  Dt 
)

Initialize the max force ( force is modified for acceleration mode and converted to positional impulse limit)

◆ SetMotionType()

void Chaos::FAxisConstraintDatas::SetMotionType ( int32  Index,
EJointMotionType  Value 
)
inline

◆ SetSoftLimit()

void Chaos::FAxisConstraintDatas::SetSoftLimit ( int32  Index,
bool  bValue 
)
inline

◆ SetValidDatas()

void Chaos::FAxisConstraintDatas::SetValidDatas ( int32  Index,
bool  bValue 
)
inline

◆ UpdateDatas()

void Chaos::FAxisConstraintDatas::UpdateDatas ( const int32  ConstraintIndex,
const FVec3 DatasAxis,
const FReal  DatasCX,
const FReal  DatasRestitution,
const bool  bCheckLimit = true,
const FVec3 DatasArm0 = FVec3::Zero(),
const FVec3 DatasArm1 = FVec3::Zero(),
const FReal  DatasVX = 0.0 
)

Update the axis joint datas with axis, limits, arms...

◆ UpdateMass()

void Chaos::FAxisConstraintDatas::UpdateMass ( const int32  ConstraintIndex,
const FVec3 DatasIA0,
const FVec3 DatasIA1,
const FReal  DatasIM,
const FReal  Dt,
const bool  bUsePositionBasedDrives 
)

Update the mass dependent datas

Member Data Documentation

◆ [union]

◆ bAccelerationMode

uint8 Chaos::FAxisConstraintDatas::bAccelerationMode

◆ bLimitsCheck0

uint8 Chaos::FAxisConstraintDatas::bLimitsCheck0

◆ bLimitsCheck1

uint8 Chaos::FAxisConstraintDatas::bLimitsCheck1

◆ bLimitsCheck2

uint8 Chaos::FAxisConstraintDatas::bLimitsCheck2

◆ bSoftLimit0

uint8 Chaos::FAxisConstraintDatas::bSoftLimit0

◆ bSoftLimit1

uint8 Chaos::FAxisConstraintDatas::bSoftLimit1

◆ bSoftLimit2

uint8 Chaos::FAxisConstraintDatas::bSoftLimit2

◆ bUseSimd

uint8 Chaos::FAxisConstraintDatas::bUseSimd

◆ bValidDatas0

uint8 Chaos::FAxisConstraintDatas::bValidDatas0

◆ bValidDatas1

uint8 Chaos::FAxisConstraintDatas::bValidDatas1

◆ bValidDatas2

uint8 Chaos::FAxisConstraintDatas::bValidDatas2

◆ ConstraintLambdaVelocity

FVec3 Chaos::FAxisConstraintDatas::ConstraintLambdaVelocity

◆ ConstraintMaxLambda

FVec3 Chaos::FAxisConstraintDatas::ConstraintMaxLambda

◆ ConstraintRestitution

FVec3 Chaos::FAxisConstraintDatas::ConstraintRestitution

◆ ConstraintVX

FVec3 Chaos::FAxisConstraintDatas::ConstraintVX

◆ Data

FData Chaos::FAxisConstraintDatas::Data

◆ MotionType0

uint8 Chaos::FAxisConstraintDatas::MotionType0

◆ MotionType1

uint8 Chaos::FAxisConstraintDatas::MotionType1

◆ MotionType2

uint8 Chaos::FAxisConstraintDatas::MotionType2

◆ SettingsSoftDamping

FVec3 Chaos::FAxisConstraintDatas::SettingsSoftDamping

◆ SettingsSoftStiffness

FVec3 Chaos::FAxisConstraintDatas::SettingsSoftStiffness

◆ Simd

FDataSimd Chaos::FAxisConstraintDatas::Simd

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