8#include "Containers/Array.h"
11#include "IPhysicsComponent.generated.h"
31#if UE_WITH_REMOTE_OBJECT_HANDLE
44 constexpr bool bIsId = std::is_same_v<TId, Chaos::FPhysicsObjectId>;
45 constexpr bool bIsName = std::is_same_v<TId, FName>;
47 static_assert(
bIsId ||
bIsName,
"Invalid ID type passed to GetAllPhysicsObjectsById");
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
TArray< Chaos::FPhysicsObjectHandle > GetAllPhysicsObjectsById(IPhysicsComponent *Component, const TArray< TId > &AllIds)
Definition IPhysicsComponent.h:42
#define GENERATED_BODY(...)
Definition ObjectMacros.h:765
#define UINTERFACE(...)
Definition ObjectMacros.h:780
Definition ParticleHandle.h:2739
Definition Archive.h:1208
Definition NameTypes.h:617
Definition IPhysicsComponent.h:21
virtual Chaos::FPhysicsObjectId GetIdFromGTParticle(Chaos::FGeometryParticle *Particle) const =0
virtual Chaos::FPhysicsObject * GetPhysicsObjectByName(const FName &Name) const =0
virtual TArray< Chaos::FPhysicsObject * > GetAllPhysicsObjects() const =0
virtual Chaos::FPhysicsObject * GetPhysicsObjectById(Chaos::FPhysicsObjectId Id) const =0
UE_NODEBUG UE_FORCEINLINE_HINT SizeType Add(ElementType &&Item)
Definition Array.h:2696
UE_FORCEINLINE_HINT void Reserve(SizeType Number)
Definition Array.h:3016
Definition UniquePtr.h:107
Definition Interface.h:19
Definition IPhysicsComponent.h:16
int32 FPhysicsObjectId
Definition PhysicsObject.h:20
Definition RobinHoodHashTable.h:18
Definition PhysicsObjectInternal.h:16