53 template<
typename TContainer,
typename THit>
54 void LowLevelRaycast(
const TContainer&
Container,
const FVector& Start,
const FVector& Dir,
float DeltaMag,
FPhysicsHitCallback<THit>& HitBuffer,
EHitFlags OutputFlags,
FQueryFlags QueryFlags,
const FCollisionFilterData& Filter,
const ChaosInterface::FQueryFilterData& QueryFilterData,
ICollisionQueryFilterCallbackBase* QueryCallback,
const ChaosInterface::FQueryDebugParams& DebugParams = {});
56 template<
typename TContainer,
typename THit>
57 void LowLevelSweep(
const TContainer&
Container,
const FPhysicsGeometry& Geom,
const FTransform& StartTM,
const FVector& Dir,
float DeltaMag,
FPhysicsHitCallback<THit>& HitBuffer,
EHitFlags OutputFlags,
FQueryFlags QueryFlags,
const FCollisionFilterData& Filter,
const ChaosInterface::FQueryFilterData& QueryFilterData,
ICollisionQueryFilterCallbackBase* QueryCallback,
const ChaosInterface::FQueryDebugParams& DebugParams = {});
59 template<
typename TContainer,
typename THit>
64#define DECLARE_LOW_LEVEL_RAYCAST_ACCEL_HIT(TACCEL, THIT) template<> UE_INTERNAL ENGINE_API void Chaos::Private::LowLevelRaycast(const TACCEL& Container, const FVector& Start, const FVector& Dir, float DeltaMag, FPhysicsHitCallback<THIT>& HitBuffer, EHitFlags OutputFlags, FQueryFlags QueryFlags, const FCollisionFilterData& Filter, const ChaosInterface::FQueryFilterData& QueryFilterData, ICollisionQueryFilterCallbackBase* QueryCallback, const ChaosInterface::FQueryDebugParams& DebugParams);
65#define DECLARE_LOW_LEVEL_RAYCAST_ACCEL(TACCEL) \
66DECLARE_LOW_LEVEL_RAYCAST_ACCEL_HIT(TACCEL, FHitRaycast); \
67DECLARE_LOW_LEVEL_RAYCAST_ACCEL_HIT(TACCEL, ChaosInterface::FPTRaycastHit);
73#define DECLARE_LOW_LEVEL_SWEEP_ACCEL_HIT(TACCEL, THIT) template<> UE_INTERNAL ENGINE_API void Chaos::Private::LowLevelSweep(const TACCEL& Container, const FPhysicsGeometry& QueryGeom, const FTransform& StartTM, const FVector& Dir, float DeltaMag, FPhysicsHitCallback<THIT>& HitBuffer, EHitFlags OutputFlags, FQueryFlags QueryFlags, const FCollisionFilterData& Filter, const ChaosInterface::FQueryFilterData& QueryFilterData, ICollisionQueryFilterCallbackBase* QueryCallback, const ChaosInterface::FQueryDebugParams& DebugParams);
74#define DECLARE_LOW_LEVEL_SWEEP_ACCEL(TACCEL) \
75DECLARE_LOW_LEVEL_SWEEP_ACCEL_HIT(TACCEL, FHitSweep); \
76DECLARE_LOW_LEVEL_SWEEP_ACCEL_HIT(TACCEL, ChaosInterface::FPTSweepHit);
82#define DECLARE_LOW_LEVEL_OVERLAP_ACCEL_HIT(TACCEL, THIT) template<> UE_INTERNAL ENGINE_API void Chaos::Private::LowLevelOverlap(const TACCEL& Container, const FPhysicsGeometry& QueryGeom, const FTransform& GeomPose, FPhysicsHitCallback<THIT>& HitBuffer, FQueryFlags QueryFlags, const FCollisionFilterData& Filter, const ChaosInterface::FQueryFilterData& QueryFilterData, ICollisionQueryFilterCallbackBase* QueryCallback, const ChaosInterface::FQueryDebugParams& DebugParams)
83#define DECLARE_LOW_LEVEL_OVERLAP_ACCEL(TACCEL) \
84DECLARE_LOW_LEVEL_OVERLAP_ACCEL_HIT(TACCEL, FHitOverlap); \
85DECLARE_LOW_LEVEL_OVERLAP_ACCEL_HIT(TACCEL, ChaosInterface::FPTOverlapHit);
#define DECLARE_LOW_LEVEL_OVERLAP_ACCEL(TACCEL)
Definition ChaosInterfaceWrapper.h:83
#define DECLARE_LOW_LEVEL_SWEEP_ACCEL(TACCEL)
Definition ChaosInterfaceWrapper.h:74
#define DECLARE_LOW_LEVEL_RAYCAST_ACCEL(TACCEL)
Definition ChaosInterfaceWrapper.h:65
#define PRAGMA_DISABLE_INTERNAL_WARNINGS
Definition CoreMiscDefines.h:346
#define PRAGMA_ENABLE_INTERNAL_WARNINGS
Definition CoreMiscDefines.h:347
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
EHitFlags
Definition PhysicsInterfaceWrapperShared.h:65
EQueryFlags
Definition PhysicsInterfaceWrapperShared.h:9
FChaosQueryFlags U2CQueryFlags(FQueryFlags Flags)
Definition PhysicsInterfaceTypesCore.h:363
FChaosFilterData U2CFilterData(const FCollisionFilterData &FilterData)
Definition PhysicsInterfaceUtilsCore.cpp:19
Definition ImplicitObject.h:111
Definition PBDRigidsSolver.h:84
Definition ISpatialAcceleration.h:267
Definition ParticleHandle.h:2739
Definition PhysScene_Chaos.h:116
Definition CollisionQueryFilterCallbackCore.h:25
Definition PhysicalMaterial.h:104
Definition ChaosInterfaceUtils.cpp:28
UPrimitiveComponent * GetPrimitiveComponentFromUserData(const Chaos::FGeometryParticle &Actor)
Definition ChaosInterfaceWrapper.cpp:36
FQueryFilterData MakeQueryFilterData(const FCollisionFilterData &FilterData, EQueryFlags QueryFlags, const FCollisionQueryParams &Params)
Definition ChaosInterfaceWrapper.h:37
bool HasValidUserData(const Chaos::FGeometryParticle &Actor)
Definition ChaosInterfaceWrapper.cpp:56
FBodyInstance * GetUserData(const Chaos::FGeometryParticle &Actor)
Definition ChaosInterfaceWrapper.cpp:10
Definition BodyInstance.h:90
void LowLevelSweep(const TContainer &Container, const FPhysicsGeometry &Geom, const FTransform &StartTM, const FVector &Dir, float DeltaMag, FPhysicsHitCallback< THit > &HitBuffer, EHitFlags OutputFlags, FQueryFlags QueryFlags, const FCollisionFilterData &Filter, const ChaosInterface::FQueryFilterData &QueryFilterData, ICollisionQueryFilterCallbackBase *QueryCallback, const ChaosInterface::FQueryDebugParams &DebugParams={})
void LowLevelOverlap(const TContainer &Container, const FPhysicsGeometry &Geom, const FTransform &GeomPose, FPhysicsHitCallback< THit > &HitBuffer, FQueryFlags QueryFlags, const FCollisionFilterData &Filter, const ChaosInterface::FQueryFilterData &QueryFilterData, ICollisionQueryFilterCallbackBase *QueryCallback, const ChaosInterface::FQueryDebugParams &DebugParams={})
void LowLevelRaycast(const TContainer &Container, const FVector &Start, const FVector &Dir, float DeltaMag, FPhysicsHitCallback< THit > &HitBuffer, EHitFlags OutputFlags, FQueryFlags QueryFlags, const FCollisionFilterData &Filter, const ChaosInterface::FQueryFilterData &QueryFilterData, ICollisionQueryFilterCallbackBase *QueryCallback, const ChaosInterface::FQueryDebugParams &DebugParams={})
Definition SkeletalMeshComponent.h:307
Definition ChaosInterfaceWrapperCore.h:79
Definition ChaosInterfaceWrapper.h:30
~FScopedSceneReadLock()
Definition ChaosInterfaceWrapper.cpp:75
Chaos::FPBDRigidsSolver * Solver
Definition ChaosInterfaceWrapper.h:34
Definition BodyInstance.h:320
Definition PhysicsInterfaceTypesCore.h:390
Definition CollisionFilterData.h:46
Definition CollisionQueryParams.h:43
Definition ExternalSpatialAccelerationPayload.h:24
Definition PhysicsInterfaceWrapperShared.h:28