25 Particles.GetRangeSize())
70 if (Direction.Normalize())
115 if (Direction.Normalize())
172 , ParticleCount(Particles.GetRangeSize())
175 , bPerSoftBodyGravityOverrideEnabled(
true)
176 , FictitiousAngularVelocityNoScale(0.f)
208 CalculateGravity(bUseGravityOverride, GravityOverride);
231 void CalculateGravity(
bool bUseGravityOverride,
const FSolverVec3& GravityOverride)
236 const int32 ParticleCount;
244 bool bPerSoftBodyGravityOverrideEnabled;
#define check(expr)
Definition AssertionMacros.h:314
#define UE_CHAOS_DECLARE_PROPERTYCOLLECTION_NAME(PropertyName, Type)
Definition CollectionPropertyFacade.h:969
@ INDEX_NONE
Definition CoreMiscDefines.h:150
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define TRACE_CPUPROFILER_EVENT_SCOPE(Name)
Definition CpuProfilerTrace.h:528
return true
Definition ExternalRpcRegistry.cpp:601
Definition CollectionPropertyFacade.h:49
Definition SoftsEvolutionLinearSystem.h:45
Definition SoftsExternalForces.h:14
FExternalForcesBase(const FSolverParticlesRange &Particles, const FSolverVec3 &InGravity, const FSolverVec2 &InGravityScale, const TConstArrayView< FRealSingle > &InGravityScaleMultipliers, const TArray< FSolverVec3 > &InNormals)
Definition SoftsExternalForces.h:16
bool bUsePointBasedWindModel
Definition SoftsExternalForces.h:144
bool UsePointBasedWindModel() const
Definition SoftsExternalForces.h:128
const FSolverVec3 & GetReferenceSpaceLocation() const
Definition SoftsExternalForces.h:137
void UpdateLinearSystem(const FSolverParticlesRange &Particles, const FSolverReal Dt, FEvolutionLinearSystem &LinearSystem) const
Definition SoftsExternalForces.h:82
virtual ~FExternalForcesBase()
Definition SoftsExternalForces.h:34
FSolverVec3 Gravity
Definition SoftsExternalForces.h:139
bool HasPerParticleGravity() const
Definition SoftsExternalForces.h:130
void Apply(FSolverParticlesRange &Particles, const FSolverReal Dt) const
Definition SoftsExternalForces.h:36
bool bApplyGravityScale
Definition SoftsExternalForces.h:140
FSolverVec3 FictitiousAngularVelocity
Definition SoftsExternalForces.h:142
const FSolverVec3 & GetGravity() const
Definition SoftsExternalForces.h:129
FSolverVec3 GetScaledGravity(int32 ParticleIndex) const
Definition SoftsExternalForces.h:131
FSolverReal LegacyWindAdaptation
Definition SoftsExternalForces.h:146
FSolverVec3 ReferenceSpaceLocation
Definition SoftsExternalForces.h:143
FPBDFlatWeightMap GravityScale
Definition SoftsExternalForces.h:141
FSolverVec3 PointBasedWind
Definition SoftsExternalForces.h:145
const FSolverVec3 & GetFictitiousAngularVelocity() const
Definition SoftsExternalForces.h:136
const TArray< FSolverVec3 > & Normals
Definition SoftsExternalForces.h:147
Definition SoftsExternalForces.h:151
void SetSolverGravityProperties(const FSolverVec3 &InSolverGravity, bool bInPerSoftBodyGravityOverrideEnabled)
Definition SoftsExternalForces.h:185
void SetProperties(const FCollectionPropertyConstFacade &PropertyCollection, const TMap< FString, TConstArrayView< FRealSingle > > &WeightMaps)
Definition SoftsExternalForces.h:202
void SetFictitiousForcesData(const FSolverVec3 &InFictitiousAngularVelocityNoScale, const FSolverVec3 &InReferenceSpaceLocation)
Definition SoftsExternalForces.h:190
static constexpr FSolverReal DefaultGravityScale
Definition SoftsExternalForces.h:154
static constexpr FSolverReal DefaultFictitiousAngularScale
Definition SoftsExternalForces.h:157
void SetWorldGravityMultiplier(FSolverReal InWorldGravityMultiplier)
Definition SoftsExternalForces.h:184
static constexpr bool bDefaultUsePointBasedWindModel
Definition SoftsExternalForces.h:158
FExternalForces(const FSolverParticlesRange &Particles, const TArray< FSolverVec3 > &InNormals, const TMap< FString, TConstArrayView< FRealSingle > > &WeightMaps, const FCollectionPropertyConstFacade &PropertyCollection)
Definition SoftsExternalForces.h:162
void SetSolverWind(const FSolverVec3 &SolverWind, const FSolverReal InLegacyWindAdaptation)
Definition SoftsExternalForces.h:195
static constexpr bool bDefaultUseGravityOverride
Definition SoftsExternalForces.h:156
static constexpr FSolverReal DefaultGravityZOverride
Definition SoftsExternalForces.h:155
Definition PBDFlatWeightMap.h:98
TConstArrayView< FSolverReal > GetMapValues() const
Definition PBDFlatWeightMap.h:165
FSolverReal GetLow() const
Definition PBDFlatWeightMap.h:156
void SetWeightedValue(const FSolverVec2 &InWeightedValue)
Definition PBDFlatWeightMap.h:142
bool HasWeightMap() const
Definition PBDFlatWeightMap.h:137
const FSolverVec2 & GetOffsetRange() const
Definition PBDFlatWeightMap.h:147
Definition SoftsSolverParticlesRange.h:12
TConstArrayView< FSolverVec3 > GetAcceleration() const
Definition SoftsSolverParticlesRange.h:50
TConstArrayView< FSolverReal > GetM() const
Definition SoftsSolverParticlesRange.h:54
TConstArrayView< FSolverVec3 > GetV() const
Definition SoftsSolverParticlesRange.h:46
TConstArrayView< FSolverVec3 > XArray() const
Definition SoftsSolverParticlesRange.h:71
TConstArrayView< FSolverReal > GetInvM() const
Definition SoftsSolverParticlesRange.h:58
int32 GetRangeSize() const
Definition ParticlesRange.h:89
TConstArrayView< T > GetConstArrayView(const TArray< T > &Array) const
Definition ParticlesRange.h:73
Definition UnrealString.h.inl:34
Definition CollectionEmbeddedSpringConstraintFacade.cpp:6
FRealSingle FSolverReal
Definition PBDSoftsEvolutionFwd.h:31
TVector< FSolverReal, 3 > FSolverVec3
Definition PBDSoftsEvolutionFwd.h:33
@ X
Definition SimulationModuleBase.h:152
FRealSingle FSolverReal
Definition SolverBody.h:38
@ false
Definition radaudio_common.h:23
U16 Index
Definition radfft.cpp:71