8#ifndef CHAOS_ABTEST_CONSTRAINTSOLVER_ENABLED
9#define CHAOS_ABTEST_CONSTRAINTSOLVER_ENABLED (!UE_BUILD_TEST && !UE_BUILD_SHIPPING)
15 class FConstraintHandleHolder;
16 class FSolverBodyContainer;
20#if CHAOS_ABTEST_CONSTRAINTSOLVER_ENABLED
33 template<
typename T1,
typename T2>
79 return SolverA->GetNumConstraints();
109 SolverA->GatherInput(Dt, BeginIndex, EndIndex);
122 SolverA->ScatterOutput(Dt, BeginIndex, EndIndex);
138 SolverA->PreApplyPositionConstraints(Dt);
139 SolverB->PreApplyPositionConstraints(Dt);
156 SolverA->PreApplyVelocityConstraints(Dt);
157 SolverB->PreApplyVelocityConstraints(Dt);
174 SolverA->PreApplyProjectionConstraints(Dt);
175 SolverB->PreApplyProjectionConstraints(Dt);
OODEFFUNC typedef void(OODLE_CALLBACK t_fp_OodleCore_Plugin_Free)(void *ptr)
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
UE_INTRINSIC_CAST UE_REWRITE constexpr std::remove_reference_t< T > && MoveTemp(T &&Obj) noexcept
Definition UnrealTemplate.h:520
Definition SolverConstraintContainer.h:29
Definition SolverBodyContainer.h:37
void ApplyCorrections()
Definition SolverBodyContainer.cpp:183
void CopyTo(FSolverBodyContainer &Dest)
Definition SolverBodyContainer.h:121
void SetImplicitVelocities(FReal Dt)
Definition SolverBodyContainer.cpp:175
Definition ABTestingConstraintContainerSolver.h:35
virtual void ApplyPositionConstraints(const FReal Dt, const int32 It, const int32 NumIts) override final
Definition ABTestingConstraintContainerSolver.h:144
TUniquePtr< FContainerSolverTypeA > SolverA
Definition ABTestingConstraintContainerSolver.h:197
virtual void GatherInput(const FReal Dt) override final
Definition ABTestingConstraintContainerSolver.h:101
FSolverBodyContainer SolverBodyContainerB
Definition ABTestingConstraintContainerSolver.h:200
TUniquePtr< FContainerSolverTypeB > SolverB
Definition ABTestingConstraintContainerSolver.h:198
TABTestingConstraintContainerSolver(TUniquePtr< FContainerSolverTypeA > &&InSolverA, TUniquePtr< FContainerSolverTypeB > &&InSolverB, const int32 InPriority, const FABTestFunctor &InABTestFunctor)
Definition ABTestingConstraintContainerSolver.h:56
virtual void AddConstraints() override final
Definition ABTestingConstraintContainerSolver.h:82
T2 FContainerSolverTypeB
Definition ABTestingConstraintContainerSolver.h:48
virtual void ScatterOutput(const FReal Dt, const int32 BeginIndex, const int32 EndIndex) override final
Definition ABTestingConstraintContainerSolver.h:120
virtual void PreApplyPositionConstraints(const FReal Dt) override final
Definition ABTestingConstraintContainerSolver.h:127
FABTestFunctor ABTestFunctor
Definition ABTestingConstraintContainerSolver.h:201
T1 FContainerSolverTypeA
Definition ABTestingConstraintContainerSolver.h:47
virtual int32 GetNumConstraints() const override final
Definition ABTestingConstraintContainerSolver.h:77
virtual void AddConstraints(const TArrayView< Private::FPBDIslandConstraint * > &Constraints) override final
Definition ABTestingConstraintContainerSolver.h:88
virtual void ApplyVelocityConstraints(const FReal Dt, const int32 It, const int32 NumIts) override final
Definition ABTestingConstraintContainerSolver.h:162
virtual void ApplyProjectionConstraints(const FReal Dt, const int32 It, const int32 NumIts) override final
Definition ABTestingConstraintContainerSolver.h:180
ESolverPhase
Definition ABTestingConstraintContainerSolver.h:38
@ PostApplyPositionConstraints
@ PostApplyVelocityConstraints
@ PostApplyProjectionConstraints
@ PreApplyVelocityConstraints
@ PreApplyProjectionConstraints
@ PreApplyPositionConstraints
virtual void Reset(const int32 MaxConstraints) override final
Definition ABTestingConstraintContainerSolver.h:70
virtual void ScatterOutput(const FReal Dt) override final
Definition ABTestingConstraintContainerSolver.h:113
virtual void AddBodies(FSolverBodyContainer &SolverBodyContainer) override final
Definition ABTestingConstraintContainerSolver.h:94
virtual void PreApplyProjectionConstraints(const FReal Dt) override final
Definition ABTestingConstraintContainerSolver.h:170
virtual void PreApplyVelocityConstraints(const FReal Dt) override final
Definition ABTestingConstraintContainerSolver.h:152
std::function< void(const ESolverPhase Phase, const FContainerSolverTypeA &SolverA, const FContainerSolverTypeB &SolverB, const FSolverBodyContainer &SolverBodyContainerA, const FSolverBodyContainer &SolverBodyContainerB)> FABTestFunctor
Definition ABTestingConstraintContainerSolver.h:54
virtual void GatherInput(const FReal Dt, const int32 BeginIndex, const int32 EndIndex) override final
Definition ABTestingConstraintContainerSolver.h:107
void CallABTestFunctor(const ESolverPhase Phase)
Definition ABTestingConstraintContainerSolver.h:189
FSolverBodyContainer * SolverBodyContainerA
Definition ABTestingConstraintContainerSolver.h:199
Definition Constraints.Build.cs:6
Definition ArrayView.h:139
Definition UniquePtr.h:107
void Reset(T *InPtr=nullptr)
Definition UniquePtr.h:346
Definition SkeletalMeshComponent.h:307
FRealDouble FReal
Definition Real.h:22
Definition OverriddenPropertySet.cpp:45