120 bool IsEmpty()
const {
return (TransientCommands.
Num() == 0) && (PersistentCommands.
Num() == 0); }
143 CHAOS_API void FieldForcesUpdateInternal(
146 const bool IsTransient);
149 CHAOS_API void FieldParameterUpdateInternal(
154 const bool IsTransient);
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
EFieldObjectType
Definition FieldSystemTypes.h:103
EFieldResolutionType
Definition FieldSystemTypes.h:72
EFieldFilterType
Definition FieldSystemTypes.h:86
EFieldCommandOutputType
Definition FieldSystem.h:50
Constraint a single particle to a world-space position.
Definition PBDPositionConstraints.h:38
Definition PBDRigidsSolver.h:84
Definition FieldSystem.h:522
Definition PerSolverFieldSystem.h:11
const TArray< FFieldContextIndex > & GetSampleIndices() const
Definition PerSolverFieldSystem.h:129
TArray< FVector > & GetOutputResults(const EFieldCommandOutputType OutputType)
Definition PerSolverFieldSystem.h:135
CHAOS_API void ComputeFieldRigidImpulse(const Chaos::FReal SolverTime)
Definition PerSolverFieldSystem.cpp:286
CHAOS_API void FieldParameterUpdateCallback(Chaos::FPBDRigidsSolver *InSolver, Chaos::FPBDPositionConstraints &PositionTarget, TMap< int32, int32 > &TargetedParticles)
Definition PerSolverFieldSystem.cpp:103
const TArray< FFieldSystemCommand > & GetPersistentCommands() const
Definition PerSolverFieldSystem.h:90
bool IsEmpty() const
Definition PerSolverFieldSystem.h:120
static CHAOS_API void GetRelevantParticleHandles(TArray< Chaos::FGeometryParticleHandle * > &ParticleHandles, const Chaos::FPBDRigidsSolver *RigidSolver, const EFieldResolutionType ResolutionType)
Definition PerSolverFieldSystem.cpp:416
CHAOS_API void ComputeFieldLinearImpulse(const Chaos::FReal SolverTime)
Definition PerSolverFieldSystem.cpp:364
CHAOS_API void RemoveTransientCommand(const FFieldSystemCommand &FieldCommand)
Definition PerSolverFieldSystem.cpp:385
TArray< FFieldContextIndex > & GetSampleIndices()
Definition PerSolverFieldSystem.h:132
TArray< FFieldSystemCommand > & GetTransientCommands()
Definition PerSolverFieldSystem.h:81
CHAOS_API void AddTransientCommand(const FFieldSystemCommand &FieldCommand)
Definition PerSolverFieldSystem.cpp:375
const TArray< FVector > & GetOutputResults(const EFieldCommandOutputType OutputType) const
Definition PerSolverFieldSystem.h:138
const TArray< FVector > & GetSamplePositions() const
Definition PerSolverFieldSystem.h:123
TArray< FFieldSystemCommand > & GetPersistentCommands()
Definition PerSolverFieldSystem.h:87
TArray< FVector > & GetSamplePositions()
Definition PerSolverFieldSystem.h:126
CHAOS_API void AddPersistentCommand(const FFieldSystemCommand &FieldCommand)
Definition PerSolverFieldSystem.cpp:380
CHAOS_API void FieldForcesUpdateCallback(Chaos::FPBDRigidsSolver *RigidSolver)
Definition PerSolverFieldSystem.cpp:171
static CHAOS_API void GetFilteredParticleHandles(TArray< Chaos::FGeometryParticleHandle * > &ParticleHandles, const Chaos::FPBDRigidsSolver *RigidSolver, const EFieldFilterType FilterType, const EFieldObjectType ObjectType)
Definition PerSolverFieldSystem.cpp:475
const TArray< FFieldSystemCommand > & GetTransientCommands() const
Definition PerSolverFieldSystem.h:84
CHAOS_API void RemovePersistentCommand(const FFieldSystemCommand &FieldCommand)
Definition PerSolverFieldSystem.cpp:390
UE_REWRITE SizeType Num() const
Definition Array.h:1144
Definition UnrealString.h.inl:34
FRealDouble FReal
Definition Real.h:22
Definition FieldSystem.h:76
TArray< FVector > SamplePositions
Definition FieldSystem.h:78
TArray< FVector > FieldOutputs[(uint8) EFieldCommandOutputType::NumOutputs]
Definition FieldSystem.h:87
TArray< FFieldContextIndex > SampleIndices
Definition FieldSystem.h:81