99 template<
typename SolverParticlesOrRange>
120#if !defined(CHAOS_LONG_RANGE_ISPC_ENABLED_DEFAULT)
121#define CHAOS_LONG_RANGE_ISPC_ENABLED_DEFAULT 1
124#if !defined(USE_ISPC_KERNEL_CONSOLE_VARIABLES_IN_SHIPPING)
125#define USE_ISPC_KERNEL_CONSOLE_VARIABLES_IN_SHIPPING 0
129#if !INTEL_ISPC || (UE_BUILD_SHIPPING && !USE_ISPC_KERNEL_CONSOLE_VARIABLES_IN_SHIPPING)
132extern CHAOS_API bool bChaos_LongRange_ISPC_Enabled;
#define UE_CHAOS_DECLARE_INDEXED_PROPERTYCOLLECTION_NAME(PropertyName, Type)
Definition CollectionPropertyFacade.h:893
@ ForceInit
Definition CoreMiscDefines.h:155
#define DECLARE_CYCLE_STAT(CounterName, StatId, GroupId)
Definition Stats.h:669
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define CHAOS_LONG_RANGE_ISPC_ENABLED_DEFAULT
Definition PBDLongRangeConstraints.h:121
Definition CollectionPropertyFacade.h:49
Definition PBDLongRangeConstraintsBase.h:17
const int32 ParticleOffset
Definition PBDLongRangeConstraintsBase.h:129
static constexpr FSolverReal MaxTetherScale
Definition PBDLongRangeConstraintsBase.h:22
FPBDWeightMap TetherScale
Definition PBDLongRangeConstraintsBase.h:132
const TArray< TConstArrayView< FTether > > & Tethers
Definition PBDLongRangeConstraintsBase.h:128
static constexpr FSolverReal MinTetherScale
Definition PBDLongRangeConstraintsBase.h:21
void SetProperties(const FSolverVec2 &InStiffness, const FSolverVec2 &InTetherScale, FSolverReal MeshScale=(FSolverReal) 1.)
Definition PBDLongRangeConstraintsBase.h:56
const int32 ParticleCount
Definition PBDLongRangeConstraintsBase.h:130
FPBDStiffness Stiffness
Definition PBDLongRangeConstraintsBase.h:131
Definition PBDLongRangeConstraints.h:14
CHAOS_API void Apply(SolverParticlesOrRange &Particles, const FSolverReal Dt) const
UE_CHAOS_DECLARE_INDEXLESS_PROPERTYCOLLECTION_NAME(TetherScale, float)
virtual ~FPBDLongRangeConstraints() override
Definition PBDLongRangeConstraints.h:90
UE_CHAOS_DECLARE_INDEXLESS_PROPERTYCOLLECTION_NAME(TetherStiffness, float)
static bool IsEnabled(const FCollectionPropertyConstFacade &PropertyCollection)
Definition PBDLongRangeConstraints.h:19
FPBDLongRangeConstraints(const FSolverParticlesRange &Particles, const TArray< TConstArrayView< TTuple< int32, int32, FRealSingle > > > &InTethers, const TMap< FString, TConstArrayView< FRealSingle > > &WeightMaps, const FCollectionPropertyConstFacade &PropertyCollection, FSolverReal MeshScale)
Definition PBDLongRangeConstraints.h:24
FPBDLongRangeConstraints(const FSolverParticles &Particles, const int32 InParticleOffset, const int32 InParticleCount, const TArray< TConstArrayView< TTuple< int32, int32, FRealSingle > > > &InTethers, const TMap< FString, TConstArrayView< FRealSingle > > &WeightMaps, const FCollectionPropertyConstFacade &PropertyCollection, FSolverReal MeshScale)
Definition PBDLongRangeConstraints.h:43
CHAOS_API void SetProperties(const FCollectionPropertyConstFacade &PropertyCollection, const TMap< FString, TConstArrayView< FRealSingle > > &WeightMaps, FSolverReal MeshScale)
Definition PBDLongRangeConstraints.cpp:21
FPBDLongRangeConstraintsBase Base
Definition PBDLongRangeConstraints.h:16
Base::FTether FTether
Definition PBDLongRangeConstraints.h:17
FPBDLongRangeConstraints(const FSolverParticles &Particles, const int32 InParticleOffset, const int32 InParticleCount, const TArray< TConstArrayView< TTuple< int32, int32, FRealSingle > > > &InTethers, const TConstArrayView< FRealSingle > &StiffnessMultipliers, const TConstArrayView< FRealSingle > &ScaleMultipliers, const FSolverVec2 &InStiffness=FSolverVec2::UnitVector, const FSolverVec2 &InScale=FSolverVec2::UnitVector, FSolverReal MeshScale=(FSolverReal) 1.)
Definition PBDLongRangeConstraints.h:66
Definition PBDStiffness.h:21
Definition SoftsSolverParticlesRange.h:12
Definition PBDSoftsSolverParticles.h:20
Definition UnrealString.h.inl:34
Definition CollectionEmbeddedSpringConstraintFacade.cpp:6
FRealSingle FSolverReal
Definition PBDSoftsEvolutionFwd.h:31