10 class FPBDRigidSpringConstraints;
107 return Handles[ConstraintIndex];
112 return Handles[ConstraintIndex];
128 return Distances[ConstraintIndex];
144 return SpringSettings[ConstraintIndex].RestLength;
152 SpringSettings[ConstraintIndex].RestLength = SpringLength;
191 void ApplyPhase1Single(
const FReal Dt,
int32 ConstraintIndex)
const;
197 struct FSpringSettings
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
A type id for constraint handles to support safe up/down casting (including intermediate classes in t...
Definition ConstraintHandle.h:49
static const FConstraintHandleTypeID & StaticType()
Definition IndexedConstraintContainer.h:50
int32 GetConstraintIndex(const FIndexedConstraintHandle *ConstraintHandle) const
Definition IndexedConstraintContainer.h:255
void SetConstraintIndex(FIndexedConstraintHandle *ConstraintHandle, int32 ConstraintIndex) const
Definition IndexedConstraintContainer.h:260
Definition PBDRigidSpringConstraints.h:13
CHAOS_API const TVector< FVec3, 2 > & GetConstraintPositions() const
Definition PBDRigidSpringConstraints.cpp:14
static const FConstraintHandleTypeID & StaticType()
Definition PBDRigidSpringConstraints.h:37
FPBDRigidSpringConstraintHandle(FConstraintContainer *InConstraintContainer, int32 InConstraintIndex)
Definition PBDRigidSpringConstraints.h:23
FPBDRigidSpringConstraintHandle()
Definition PBDRigidSpringConstraints.h:19
CHAOS_API void SetRestLength(const FReal SpringLength)
Definition PBDRigidSpringConstraints.cpp:35
CHAOS_API FReal GetRestLength() const
Definition PBDRigidSpringConstraints.cpp:30
virtual CHAOS_API FParticlePair GetConstrainedParticles() const override final
Definition PBDRigidSpringConstraints.cpp:25
CHAOS_API void SetConstraintPositions(const TVector< FVec3, 2 > &ConstraintPositions)
Definition PBDRigidSpringConstraints.cpp:20
Definition PBDRigidSpringConstraints.h:46
FConstraintContainerHandle * GetConstraintHandle(int32 ConstraintIndex)
Definition PBDRigidSpringConstraints.h:110
void AddBodies(FSolverBodyContainer &SolverBodyContainer)
Definition PBDRigidSpringConstraints.cpp:132
void ApplyPositionConstraints(const FReal Dt, const int32 It, const int32 NumIts)
Definition PBDRigidSpringConstraints.cpp:152
TVector< TGeometryParticleHandle< FReal, 3 > *, 2 > FConstrainedParticlePair
Definition PBDRigidSpringConstraints.h:53
void GatherInput(const TArrayView< int32 > &ConstraintIndices, const FReal Dt)
Definition PBDRigidSpringConstraints.h:179
void ScatterOutput(const FReal Dt)
Definition PBDRigidSpringConstraints.cpp:140
void DisableConstraints(const TSet< TGeometryParticleHandle< FReal, 3 > * > &RemovedParticles)
Definition PBDRigidSpringConstraints.h:87
void ApplyVelocityConstraints(const FReal Dt, const int32 It, const int32 NumIts)
Definition PBDRigidSpringConstraints.h:172
virtual void ResetConstraints() override final
Definition PBDRigidSpringConstraints.h:160
int32 NumConstraints() const
Definition PBDRigidSpringConstraints.h:65
TConstraintHandleAllocator< FPBDRigidSpringConstraints > FConstraintHandleAllocator
Definition PBDRigidSpringConstraints.h:52
const TVector< FVec3, 2 > & GetConstraintPositions(int ConstraintIndex) const
Definition PBDRigidSpringConstraints.h:126
void ApplyProjectionConstraints(const TArrayView< int32 > &ConstraintIndices, const FReal Dt, const int32 It, const int32 NumIts)
Definition PBDRigidSpringConstraints.h:183
FPBDRigidSpringConstraints()
Definition PBDRigidSpringConstraints.cpp:44
void ApplyProjectionConstraints(const FReal Dt, const int32 It, const int32 NumIts)
Definition PBDRigidSpringConstraints.h:173
FPBDRigidSpringConstraintHandle FConstraintContainerHandle
Definition PBDRigidSpringConstraints.h:51
FHandles & GetConstraintHandles()
Definition PBDRigidSpringConstraints.h:96
void RemoveConstraint(int ConstraintIndex)
Definition PBDRigidSpringConstraints.cpp:67
virtual void AddConstraintsToGraph(Private::FPBDIslandManager &IslandManager) override final
Definition PBDRigidSpringConstraints.cpp:127
void SetRestLength(int32 ConstraintIndex, const FReal SpringLength)
Definition PBDRigidSpringConstraints.h:150
virtual int32 GetNumConstraints() const override final
Definition PBDRigidSpringConstraints.h:159
void SetConstraintPositions(int ConstraintIndex, const TVector< FVec3, 2 > &ConstraintPositions)
Definition PBDRigidSpringConstraints.h:134
virtual void UnprepareTick() override final
Definition PBDRigidSpringConstraints.h:163
void ApplyVelocityConstraints(const TArrayView< int32 > &ConstraintIndices, const FReal Dt, const int32 It, const int32 NumIts)
Definition PBDRigidSpringConstraints.h:182
FReal GetRestLength(int32 ConstraintIndex) const
Definition PBDRigidSpringConstraints.h:142
virtual void PrepareTick() override final
Definition PBDRigidSpringConstraints.h:162
void GatherInput(const FReal Dt)
Definition PBDRigidSpringConstraints.h:169
const FHandles & GetConstConstraintHandles() const
Definition PBDRigidSpringConstraints.h:100
const FConstraintContainerHandle * GetConstraintHandle(int32 ConstraintIndex) const
Definition PBDRigidSpringConstraints.h:105
const FConstrainedParticlePair & GetConstrainedParticles(int32 ConstraintIndex) const
Definition PBDRigidSpringConstraints.h:118
virtual ~FPBDRigidSpringConstraints()
Definition PBDRigidSpringConstraints.cpp:48
FConstraintContainerHandle * AddConstraint(const FConstrainedParticlePair &InConstrainedParticles, const TVector< FVec3, 2 > &InLocations, FReal Stiffness, FReal Damping, FReal RestLength)
Definition PBDRigidSpringConstraints.cpp:52
Definition SolverBodyContainer.h:37
Definition IslandManager.h:453
Definition ParticleHandle.h:436
Definition IndexedConstraintContainer.h:68
Definition IndexedConstraintContainer.h:268
Definition Constraints.Build.cs:6
Definition ArrayView.h:139
Definition SkeletalMeshComponent.h:307
FRealDouble FReal
Definition Real.h:22