12 class FPBDCollisionConstraint;
13 class FPBDCollisionConstraints;
15 class FSolverBodyContainer;
19 template<
int TNumLanes>
83 int32 GetNumLanes()
const {
return 4; }
87 void ApplyShockPropagation(
const FSolverReal ShockPropagation);
92 FDataSimd<4> SimdData;
96 bool bPerIterationCollisionDetection;
constexpr auto MakeArrayView(OtherRangeType &&Other)
Definition ArrayView.h:873
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
Definition SolverConstraintContainer.h:29
Definition PBDCollisionConstraints.h:49
Settings to control the low-level collision solver behaviour.
Definition PBDCollisionSolverSettings.h:12
Definition SolverBodyContainer.h:37
Definition SolverBody.h:99
Definition PBDCollisionContainerSolverSimd.h:29
virtual void ApplyProjectionConstraints(const FReal Dt, const int32 It, const int32 NumIts) override final
Definition PBDCollisionContainerSolverSimd.cpp:634
virtual void GatherInput(const FReal Dt) override final
Definition PBDCollisionContainerSolverSimd.cpp:470
virtual void ApplyPositionConstraints(const FReal Dt, const int32 It, const int32 NumIts) override final
Definition PBDCollisionContainerSolverSimd.cpp:553
virtual void ApplyVelocityConstraints(const FReal Dt, const int32 It, const int32 NumIts) override final
Definition PBDCollisionContainerSolverSimd.cpp:601
TArrayView< const TPBDCollisionSolverManifoldPointsSimd< 4 > > GetManifoldPointBuffer() const
Definition PBDCollisionContainerSolverSimd.h:80
virtual void AddConstraints() override final
Definition PBDCollisionContainerSolverSimd.cpp:343
virtual void ScatterOutput(const FReal Dt) override final
Definition PBDCollisionContainerSolverSimd.cpp:518
const FConstraintSolverId & GetConstraintSolverId(const int32 ConstraintIndex) const
Definition PBDCollisionContainerSolverSimd.h:78
UE_NONCOPYABLE(FPBDCollisionContainerSolverSimd)
const TPBDCollisionSolverSimd< 4 > & GetConstraintSolver(const int32 SolverIndex) const
Definition PBDCollisionContainerSolverSimd.h:79
virtual int32 GetNumConstraints() const override final
Definition PBDCollisionContainerSolverSimd.h:38
~FPBDCollisionContainerSolverSimd()
Definition PBDCollisionContainerSolverSimd.cpp:323
virtual void AddBodies(FSolverBodyContainer &SolverBodyContainer) override final
Definition PBDCollisionContainerSolverSimd.cpp:448
Definition IslandManager.h:151
Definition PBDCollisionSolverSimd.h:232
Definition ArrayView.h:139
Definition SkeletalMeshComponent.h:307
FRealDouble FReal
Definition Real.h:22
FRealSingle FSolverReal
Definition SolverBody.h:38
Definition OverriddenPropertySet.cpp:45
Definition PBDCollisionContainerSolverSimd.h:72
int32 LaneIndex
Definition PBDCollisionContainerSolverSimd.h:74
int32 SolverIndex
Definition PBDCollisionContainerSolverSimd.h:73
Definition PBDCollisionContainerSolverSimd.h:59
TArray< TConstraintPtrSimd< TNumLanes > > SimdConstraints
Definition PBDCollisionContainerSolverSimd.h:64
TSimdInt32< TNumLanes > SimdNumConstraints
Definition PBDCollisionContainerSolverSimd.h:60
TArray< TPBDCollisionSolverSimd< TNumLanes > > SimdSolvers
Definition PBDCollisionContainerSolverSimd.h:62
TArray< TPBDCollisionSolverManifoldPointsSimd< TNumLanes > > SimdManifoldPoints
Definition PBDCollisionContainerSolverSimd.h:63
TArray< TSolverBodyPtrPairSimd< TNumLanes > > SimdSolverBodies
Definition PBDCollisionContainerSolverSimd.h:61
Definition SimdTypes.h:127
Definition SimdTypes.h:99