27#define CONSTRAINT_JOINT_PROPERPETY_IMPL(TYPE, FNAME, ENAME, VNAME)\
28 void Set##FNAME(TYPE InValue){ if (InValue != VNAME){VNAME = InValue;MDirtyFlags.MarkDirty(ENAME);SetProxy(Proxy);}}\
29 TYPE Get##FNAME() const{return VNAME;}\
31#define CONSTRAINT_JOINT_PROPERPETY_IMPL2(TYPE, FNAME, PROP, VNAME)\
32 void Set##FNAME(TYPE InValue){ PROP.Modify(true, DirtyFlags, Proxy, [&InValue](auto& Data) { Data.VNAME = InValue; }); }\
33 TYPE Get##FNAME() const{return PROP.Read().VNAME;}\
56 template<
typename T = IPhysicsProxyBase> T*
GetProxy() {
return static_cast<T*
>(
Proxy); }
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
Definition PBDConstraintBaseData.h:36
bool IsDirty() const
Definition PBDConstraintBaseData.h:48
EConstraintType Type
Definition PBDConstraintBaseData.h:68
class IPhysicsProxyBase * Proxy
Definition PBDConstraintBaseData.h:69
void SyncRemoteData(FDirtyPropertiesManager &Manager, int32 DataIdx, FDirtyChaosProperties &RemoteData)
Definition PBDConstraintBaseData.h:60
EConstraintType GetType() const
Definition PBDConstraintBaseData.h:44
virtual ~FConstraintBase()
Definition PBDConstraintBaseData.h:38
virtual void SyncRemoteDataImp(FDirtyPropertiesManager &Manager, int32 DataIdx, FDirtyChaosProperties &RemoteData)=0
TVector< TGeometryParticleHandle< FReal, 3 > *, 2 > FParticleHandlePair
Definition PBDConstraintBaseData.h:40
const FDirtyChaosPropertyFlags & GetDirtyFlags() const
Definition PBDConstraintBaseData.h:51
T * GetProxy()
Definition PBDConstraintBaseData.h:56
FDirtyChaosPropertyFlags DirtyFlags
Definition PBDConstraintBaseData.h:70
void ClearDirtyFlags()
Definition PBDConstraintBaseData.h:50
bool IsDirty(const EChaosPropertyFlags CheckBits) const
Definition PBDConstraintBaseData.h:49
CHAOS_API bool IsValid() const
Definition PBDConstraintBaseData.cpp:13
CHAOS_API void SetProxy(IPhysicsProxyBase *InProxy)
Definition PBDConstraintBaseData.cpp:18
bool IsType(EConstraintType InType)
Definition PBDConstraintBaseData.h:45
Definition ParticleDirtyFlags.h:1129
Definition ParticleDirtyFlags.h:1039
bool IsDirty() const
Definition ParticleDirtyFlags.h:922
void Clear()
Definition ParticleDirtyFlags.h:947
Definition PhysicsProxyBase.h:97
Definition SkeletalMeshComponent.h:307
EChaosPropertyFlags
Definition ParticleDirtyFlags.h:869
EConstraintType
Definition PBDConstraintBaseData.h:19
@ SuspensionConstraintType
@ CharacterGroundConstraintType