#include <PBDBendingConstraintsBase.h>
|
| | FPBDBendingConstraintsBase (const FSolverParticlesRange &InParticles, TArray< TVec4< int32 > > &&InConstraints, const TConstArrayView< FRealSingle > &StiffnessMultipliers, const TConstArrayView< FRealSingle > &BucklingRatioMultipliers, const TConstArrayView< FRealSingle > &BucklingStiffnessMultipliers, const TConstArrayView< FRealSingle > &RestAngleMap, const FSolverVec2 &InStiffness, const FSolverVec2 &InBucklingRatio, const FSolverVec2 &InBucklingStiffness, const FSolverVec2 &RestAngleValue, ERestAngleConstructionType RestAngleConstructionType, bool bTrimKinematicConstraints=false, FSolverReal MaxStiffness=FPBDStiffness::DefaultPBDMaxStiffness) |
| |
| | FPBDBendingConstraintsBase (const FSolverParticles &InParticles, int32 InParticleOffset, int32 InParticleCount, TArray< TVec4< int32 > > &&InConstraints, const TConstArrayView< FRealSingle > &StiffnessMultipliers, const TConstArrayView< FRealSingle > &BucklingRatioMultipliers, const TConstArrayView< FRealSingle > &BucklingStiffnessMultipliers, const TConstArrayView< FRealSingle > &RestAngleMap, const FSolverVec2 &InStiffness, const FSolverVec2 &InBucklingRatio, const FSolverVec2 &InBucklingStiffness, const FSolverVec2 &RestAngleValue, ERestAngleConstructionType RestAngleConstructionType, bool bTrimKinematicConstraints=false, FSolverReal MaxStiffness=FPBDStiffness::DefaultPBDMaxStiffness) |
| |
| | FPBDBendingConstraintsBase (const FSolverParticles &InParticles, int32 InParticleOffset, int32 InParticleCount, TArray< TVec4< int32 > > &&InConstraints, const TConstArrayView< FRealSingle > &StiffnessMultipliers, const TConstArrayView< FRealSingle > &BucklingStiffnessMultipliers, const FSolverVec2 &InStiffness, const FSolverReal InBucklingRatio, const FSolverVec2 &InBucklingStiffness, bool bTrimKinematicConstraints=false, FSolverReal MaxStiffness=FPBDStiffness::DefaultPBDMaxStiffness) |
| |
| virtual | ~FPBDBendingConstraintsBase () |
| |
| void | SetProperties (const FSolverVec2 &InStiffness, const FSolverVec2 &InBucklingRatio, const FSolverVec2 &InBucklingStiffness) |
| |
| void | SetProperties (const FSolverVec2 &InStiffness, const FSolverReal InBucklingRatio, const FSolverVec2 &InBucklingStiffness) |
| |
| void | ApplyProperties (const FSolverReal Dt, const int32 NumIterations) |
| |
| template<typename SolverParticlesOrRange > |
| TStaticArray< FSolverVec3, 4 > | GetGradients (const SolverParticlesOrRange &InParticles, const int32 i) const |
| |
| template<typename SolverParticlesOrRange > |
| FSolverReal | GetScalingFactor (const SolverParticlesOrRange &InParticles, const int32 i, const TStaticArray< FSolverVec3, 4 > &Grads, const FSolverReal ExpStiffnessValue, const FSolverReal ExpBucklingValue) const |
| |
| bool | AngleIsBuckled (const FSolverReal Angle, const FSolverReal RestAngle) const |
| |
| bool | AngleIsBuckled (const FSolverReal Angle, const int32 ConstraintIndex) const |
| |
| template<typename SolverParticlesOrRange > |
| CHAOS_API void | Init (const SolverParticlesOrRange &InParticles) |
| |
| const TArray< FSolverReal > & | GetRestAngles () const |
| |
| const TArray< TVec4< int32 > > & | GetConstraints () const |
| |
| const TArray< bool > & | GetIsBuckled () const |
| |
| template<typename SolverParticlesOrRange > |
| void | Init (const SolverParticlesOrRange &InParticles) |
| |
◆ ERestAngleConstructionType
| Enumerator |
|---|
| Use3DRestAngles | |
| FlatnessRatio | |
| ExplicitRestAngles | |
◆ FPBDBendingConstraintsBase() [1/3]
| Chaos::Softs::FPBDBendingConstraintsBase::FPBDBendingConstraintsBase |
( |
const FSolverParticlesRange & |
InParticles, |
|
|
TArray< TVec4< int32 > > && |
InConstraints, |
|
|
const TConstArrayView< FRealSingle > & |
StiffnessMultipliers, |
|
|
const TConstArrayView< FRealSingle > & |
BucklingRatioMultipliers, |
|
|
const TConstArrayView< FRealSingle > & |
BucklingStiffnessMultipliers, |
|
|
const TConstArrayView< FRealSingle > & |
RestAngleMap, |
|
|
const FSolverVec2 & |
InStiffness, |
|
|
const FSolverVec2 & |
InBucklingRatio, |
|
|
const FSolverVec2 & |
InBucklingStiffness, |
|
|
const FSolverVec2 & |
RestAngleValue, |
|
|
ERestAngleConstructionType |
RestAngleConstructionType, |
|
|
bool |
bTrimKinematicConstraints = false, |
|
|
FSolverReal |
MaxStiffness = FPBDStiffness::DefaultPBDMaxStiffness |
|
) |
| |
|
inline |
◆ FPBDBendingConstraintsBase() [2/3]
| Chaos::Softs::FPBDBendingConstraintsBase::FPBDBendingConstraintsBase |
( |
const FSolverParticles & |
InParticles, |
|
|
int32 |
InParticleOffset, |
|
|
int32 |
InParticleCount, |
|
|
TArray< TVec4< int32 > > && |
InConstraints, |
|
|
const TConstArrayView< FRealSingle > & |
StiffnessMultipliers, |
|
|
const TConstArrayView< FRealSingle > & |
BucklingRatioMultipliers, |
|
|
const TConstArrayView< FRealSingle > & |
BucklingStiffnessMultipliers, |
|
|
const TConstArrayView< FRealSingle > & |
RestAngleMap, |
|
|
const FSolverVec2 & |
InStiffness, |
|
|
const FSolverVec2 & |
InBucklingRatio, |
|
|
const FSolverVec2 & |
InBucklingStiffness, |
|
|
const FSolverVec2 & |
RestAngleValue, |
|
|
ERestAngleConstructionType |
RestAngleConstructionType, |
|
|
bool |
bTrimKinematicConstraints = false, |
|
|
FSolverReal |
MaxStiffness = FPBDStiffness::DefaultPBDMaxStiffness |
|
) |
| |
|
inline |
◆ FPBDBendingConstraintsBase() [3/3]
| Chaos::Softs::FPBDBendingConstraintsBase::FPBDBendingConstraintsBase |
( |
const FSolverParticles & |
InParticles, |
|
|
int32 |
InParticleOffset, |
|
|
int32 |
InParticleCount, |
|
|
TArray< TVec4< int32 > > && |
InConstraints, |
|
|
const TConstArrayView< FRealSingle > & |
StiffnessMultipliers, |
|
|
const TConstArrayView< FRealSingle > & |
BucklingStiffnessMultipliers, |
|
|
const FSolverVec2 & |
InStiffness, |
|
|
const FSolverReal |
InBucklingRatio, |
|
|
const FSolverVec2 & |
InBucklingStiffness, |
|
|
bool |
bTrimKinematicConstraints = false, |
|
|
FSolverReal |
MaxStiffness = FPBDStiffness::DefaultPBDMaxStiffness |
|
) |
| |
|
inline |
◆ ~FPBDBendingConstraintsBase()
| virtual Chaos::Softs::FPBDBendingConstraintsBase::~FPBDBendingConstraintsBase |
( |
| ) |
|
|
inlinevirtual |
◆ AngleIsBuckled() [1/2]
◆ AngleIsBuckled() [2/2]
| bool Chaos::Softs::FPBDBendingConstraintsBase::AngleIsBuckled |
( |
const FSolverReal |
Angle, |
|
|
const int32 |
ConstraintIndex |
|
) |
| const |
|
inline |
◆ ApplyProperties()
| void Chaos::Softs::FPBDBendingConstraintsBase::ApplyProperties |
( |
const FSolverReal |
Dt, |
|
|
const int32 |
NumIterations |
|
) |
| |
|
inline |
◆ CalcAngle()
◆ CalcGradients()
◆ CalculateRestAngles()
◆ GetConstraints()
| const TArray< TVec4< int32 > > & Chaos::Softs::FPBDBendingConstraintsBase::GetConstraints |
( |
| ) |
const |
|
inline |
◆ GetGradients()
◆ GetIsBuckled()
| const TArray< bool > & Chaos::Softs::FPBDBendingConstraintsBase::GetIsBuckled |
( |
| ) |
const |
|
inline |
◆ GetRestAngles()
| const TArray< FSolverReal > & Chaos::Softs::FPBDBendingConstraintsBase::GetRestAngles |
( |
| ) |
const |
|
inline |
◆ GetScalingFactor()
◆ Init() [1/2]
◆ Init() [2/2]
◆ SafeDivide()
| static TNum Chaos::Softs::FPBDBendingConstraintsBase::SafeDivide |
( |
const TNum & |
Numerator, |
|
|
const FSolverReal & |
Denominator |
|
) |
| |
|
inlinestaticprotected |
◆ SetProperties() [1/2]
◆ SetProperties() [2/2]
◆ BucklingRatio
| FSolverReal Chaos::Softs::FPBDBendingConstraintsBase::BucklingRatio |
|
protected |
◆ BucklingRatioWeighted
| FPBDWeightMap Chaos::Softs::FPBDBendingConstraintsBase::BucklingRatioWeighted |
|
protected |
◆ BucklingStiffness
| FPBDStiffness Chaos::Softs::FPBDBendingConstraintsBase::BucklingStiffness |
|
protected |
◆ Constraints
◆ ConstraintSharedEdges
| TArray<TVec2<int32> > Chaos::Softs::FPBDBendingConstraintsBase::ConstraintSharedEdges |
|
protected |
◆ IsBuckled
| TArray<bool> Chaos::Softs::FPBDBendingConstraintsBase::IsBuckled |
|
protected |
◆ ParticleCount
| const int32 Chaos::Softs::FPBDBendingConstraintsBase::ParticleCount |
|
protected |
◆ ParticleOffset
| const int32 Chaos::Softs::FPBDBendingConstraintsBase::ParticleOffset |
|
protected |
◆ RestAngles
◆ Stiffness
| FPBDStiffness Chaos::Softs::FPBDBendingConstraintsBase::Stiffness |
|
protected |
The documentation for this class was generated from the following files: