7#include "Containers/Array.h"
11 class FConstraintContainerSolver;
12 class FPBDConstraintContainer;
154 template<
typename LambdaType>
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
Definition SolverBodyContainer.h:37
int Num() const
Definition SolverBodyContainer.h:62
Definition ConstraintGroupSolver.h:22
CHAOS_API void ScatterConstraints(const FReal Dt)
Definition ConstraintGroupSolver.cpp:171
CHAOS_API void GatherBodies(const FReal Dt)
Definition ConstraintGroupSolver.cpp:98
virtual void AddConstraintsImpl()
Definition ConstraintGroupSolver.h:167
FSolverBodyContainer SolverBodyContainer
Definition ConstraintGroupSolver.h:173
virtual void GatherBodiesImpl(const FReal Dt, const int32 BeginBodyIndex, const int32 EndBodyIndex)
Definition ConstraintGroupSolver.h:170
CHAOS_API void GatherConstraints(const FReal Dt)
Definition ConstraintGroupSolver.cpp:103
int32 TotalNumConstraints
Definition ConstraintGroupSolver.h:177
CHAOS_API void ApplyVelocityConstraints(const FReal Dt)
Definition ConstraintGroupSolver.cpp:238
TArray< TUniquePtr< FConstraintContainerSolver > > ConstraintContainerSolvers
Definition ConstraintGroupSolver.h:176
virtual void SetIterationSettings(const FIterationSettings &InIterations)
Definition ConstraintGroupSolver.h:40
CHAOS_API FPBDConstraintGroupSolver()
Definition ConstraintGroupSolver.cpp:11
virtual void ResetImpl()
Definition ConstraintGroupSolver.h:161
UE_NONCOPYABLE(FPBDConstraintGroupSolver)
CHAOS_API void Reset()
Definition ConstraintGroupSolver.cpp:64
CHAOS_API void ApplyPositionConstraints(const FReal Dt)
Definition ConstraintGroupSolver.cpp:207
CHAOS_API void ApplyProjectionConstraints(const FReal Dt)
Definition ConstraintGroupSolver.cpp:271
CHAOS_API void PreApplyVelocityConstraints(const FReal Dt)
Definition ConstraintGroupSolver.cpp:224
int32 GetNumSolverConstraints() const
Definition ConstraintGroupSolver.h:58
CHAOS_API void SortSolverContainers()
Definition ConstraintGroupSolver.cpp:46
CHAOS_API void PreApplyProjectionConstraints(const FReal Dt)
Definition ConstraintGroupSolver.cpp:255
TArray< FConstraintContainerSolver * > PrioritizedConstraintContainerSolvers
Definition ConstraintGroupSolver.h:180
virtual CHAOS_API ~FPBDConstraintGroupSolver()
Definition ConstraintGroupSolver.cpp:16
CHAOS_API void AddConstraintsAndBodies()
Definition ConstraintGroupSolver.cpp:81
virtual void SetConstraintSolverImpl(const int32 ContainerId)
Definition ConstraintGroupSolver.h:164
CHAOS_API void PreApplyPositionConstraints(const FReal Dt)
Definition ConstraintGroupSolver.cpp:196
CHAOS_API void SetConstraintSolver(const int32 ContainerId, TUniquePtr< FConstraintContainerSolver > &&Solver)
Definition ConstraintGroupSolver.cpp:20
CHAOS_API void SetConstraintSolverPriority(const int32 ContainerId, const int32 Priority)
Definition ConstraintGroupSolver.cpp:34
CHAOS_API void ScatterBodies(const FReal Dt)
Definition ConstraintGroupSolver.cpp:166
int32 GetNumSolverBodies() const
Definition ConstraintGroupSolver.h:50
void ApplyToConstraintRange(const int32 BeginConstraintIndex, const int32 EndConstraintIndex, const LambdaType &Lambda)
Definition ConstraintGroupSolver.cpp:122
FIterationSettings Iterations
Definition ConstraintGroupSolver.h:182
FIterationSettings GetIterationSettings() const
Definition ConstraintGroupSolver.h:32
Definition ConstraintGroupSolver.h:200
virtual CHAOS_API void AddConstraintsImpl() override final
Definition ConstraintGroupSolver.cpp:294
FPBDSceneConstraintGroupSolver(const FIterationSettings &InIterations)
Definition ConstraintGroupSolver.h:202
Definition IterationSettings.h:19
Definition UniquePtr.h:107
Definition SkeletalMeshComponent.h:307
FRealDouble FReal
Definition Real.h:22
Definition OverriddenPropertySet.cpp:45