9#include "PhysicsInterfaceWrapperShared.h"
20static int32 NextBodyIdValue = 0;
21static int32 NextConstraintIdValue = 0;
109 UE_DEPRECATED(5.4,
"Use CreateGeometry with FImplicitObjectPtr instead")
EAngularConstraintMotion
Definition ChaosEngineInterface.h:114
ELinearConstraintMotion
Definition ChaosEngineInterface.h:187
EPhysicsInterfaceScopedTransactionMode
Definition ChaosScopedSceneLock.h:22
EPhysicsInterfaceScopedThreadContext
Definition ChaosScopedSceneLock.h:16
#define UE_INTERNAL
Definition CoreMiscDefines.h:345
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
void ComputeZeroDistanceImpactNormalAndPenetration(const UWorld *World, const ChaosInterface::FLocationHit &Hit, const Chaos::FImplicitObject &Geom, const FTransform &QueryTM, FHitResult &OutResult)
Definition PhysInterface_Chaos.h:160
bool IsBlocking(const FPhysicsShape &PShape, const FCollisionFilterData &QueryFilter)
Definition CollisionConversions.cpp:780
ECollisionShapeType GetGeometryType(const Chaos::FPerShapeData &Shape)
Definition PhysInterface_Chaos.cpp:67
void DrawOverlappingTris(const UWorld *World, const ChaosInterface::FLocationHit &Hit, const Chaos::FImplicitObject &Geom, const FTransform &QueryTM)
Definition PhysInterface_Chaos.h:155
uint32 GetTriangleMeshExternalFaceIndex(const FPhysicsShape &Shape, uint32 InternalFaceIndex)
Definition PhysInterface_Chaos.cpp:1296
void GetShapes(const FPhysActorDummy &RigidActor, FPhysTypeDummy **ShapesBuffer, uint32 NumShapes)
Definition PhysInterface_Chaos.h:181
Chaos::FChaosPhysicsMaterial * GetMaterialFromInternalFaceIndex(const FPhysicsShape &Shape, const FPhysicsActor &Actor, uint32 InternalFaceIndex)
Definition PhysInterface_Chaos.cpp:72
void SetShape(FPhysTypeDummy &Hit, FPhysTypeDummy *Shape)
Definition PhysInterface_Chaos.h:186
Chaos::FChaosPhysicsMaterial * GetMaterialFromInternalFaceIndexAndHitLocation(const FPhysicsShape &Shape, const FPhysicsActor &Actor, uint32 InternalFaceIndex, const FVector &HitLocation)
Definition PhysInterface_Chaos.cpp:98
ECollisionShapeType
Definition PhysicsInterfaceTypesCore.h:49
const bool bTraceComplex
Definition PhysicsInterfaceUtils.h:19
Definition ImplicitObject.h:111
Definition ShapeInstance.h:36
Definition SingleParticlePhysicsProxy.h:58
Definition ParticleHandle.h:2739
Definition ChaosEngineInterface.h:347
UE_DEPRECATED(5.7, "Use GetCombinedShapeFilterData instead") static PHYSICSCORE_API FCollisionFilterData GetSimulationFilter(const FPhysicsShapeHandle &InShape)
Definition OutputDevice.h:133
Definition PhysInterface_Chaos.h:35
static ENGINE_API FPhysicsMaterialMaskHandle CreateMaterialMask(const UPhysicalMaterialMask *InMaterialMask)
Definition PhysInterface_Chaos.cpp:182
static ENGINE_API bool ExecPhysCommands(const TCHAR *Cmd, FOutputDevice *Ar, UWorld *InWorld)
Definition PhysUtils.cpp:340
static ENGINE_API void UpdateMaterialMask(FPhysicsMaterialMaskHandle &InHandle, const UPhysicalMaterialMask *InMaterialMask)
Definition PhysInterface_Chaos.cpp:189
ENGINE_API ~FPhysInterface_Chaos()
Definition PhysInterface_Chaos.cpp:178
static ENGINE_API void AddGeometry(const FPhysicsActorHandle &InActor, const FGeometryAddParams &InParams, TArray< FPhysicsShapeHandle > *OutOptShapes=nullptr)
Definition PhysInterface_Chaos.cpp:762
static ENGINE_API void SetLinearMotionLimitType_AssumesLocked(const FPhysicsConstraintHandle &InConstraintRef, PhysicsInterfaceTypes::ELimitAxis InAxis, ELinearConstraintMotion InMotion)
Definition PhysInterface_Chaos.cpp:249
static ENGINE_API void CalculateMassPropertiesFromShapeCollection(Chaos::FMassProperties &OutProperties, const TArray< FPhysicsShapeHandle > &InShapes, float InDensityKGPerCM)
Definition PhysInterface_Chaos.cpp:1302
static ENGINE_API const FBodyInstance * ShapeToOriginalBodyInstance(const FBodyInstance *InCurrentInstance, const Chaos::FPerShapeData *InShape)
Definition PhysInterface_Chaos.cpp:737
static ENGINE_API bool Overlap_Geom(const FBodyInstance *InBodyInstance, const FPhysicsGeometryCollection &InGeometry, const FTransform &InShapeTransform, FMTDResult *OutOptResult=nullptr, bool bTraceComplex=false)
Definition PhysInterface_Chaos.cpp:1179
static ENGINE_API bool IsInScene(const FPhysicsActorHandle &InActorReference)
Definition PhysInterface_Chaos.cpp:226
static ENGINE_API bool Sweep_Geom(FHitResult &OutHit, const FBodyInstance *InInstance, const FVector &InStart, const FVector &InEnd, const FQuat &InShapeRotation, const FCollisionShape &InShape, bool bSweepComplex)
Definition PhysInterface_Chaos.cpp:1003
static ENGINE_API void CreateGeometry(const FGeometryAddParams &InParams, TArray< Chaos::FImplicitObjectPtr > &OutGeoms, Chaos::FShapesArray &OutShapes, TArray< FPhysicsShapeHandle > *OutOptShapes)
static ENGINE_API bool ExecuteWrite(const FPhysicsActorHandle &InActorReference, TFunctionRef< void(const FPhysicsActorHandle &Actor)> InCallable)
Definition PhysInterface_Chaos.cpp:589
static ENGINE_API bool ExecuteRead(const FPhysicsActorHandle &InActorReference, TFunctionRef< void(const FPhysicsActorHandle &Actor)> InCallable)
Definition PhysInterface_Chaos.cpp:532
static ENGINE_API void ExecuteShapeWrite(FBodyInstance *InInstance, FPhysicsShapeHandle &InShape, TFunctionRef< void(FPhysicsShapeHandle &InShape)> InCallable)
Definition PhysInterface_Chaos.cpp:670
static ENGINE_API bool ExecuteOnUnbrokenConstraintReadOnly(const FPhysicsConstraintHandle &InConstraintRef, TFunctionRef< void(const FPhysicsConstraintHandle &)> Func)
Definition PhysInterface_Chaos.cpp:510
static ENGINE_API void UpdateTwistLimitParams_AssumesLocked(const FPhysicsConstraintHandle &InConstraintRef, float InAverageMass, const FTwistConstraint &InParams)
Definition PhysInterface_Chaos.cpp:359
static ENGINE_API bool ExecuteOnUnbrokenConstraintReadWrite(const FPhysicsConstraintHandle &InConstraintRef, TFunctionRef< void(const FPhysicsConstraintHandle &)> Func)
Definition PhysInterface_Chaos.cpp:521
static ENGINE_API void FlushScene(FPhysScene *InScene)
Definition PhysInterface_Chaos.cpp:231
static ENGINE_API bool LineTrace_Geom(FHitResult &OutHit, const FBodyInstance *InInstance, const FVector &InStart, const FVector &InEnd, bool bTraceComplex, bool bExtractPhysMaterial=false)
Definition PhysInterface_Chaos.cpp:905
static ENGINE_API void UpdateDriveTarget_AssumesLocked(const FPhysicsConstraintHandle &InConstraintRef, const FLinearDriveConstraint &InLinDrive, const FAngularDriveConstraint &InAngDrive, bool InInitialize=false)
Definition PhysInterface_Chaos.cpp:501
static ENGINE_API FPhysicsShapeHandle CreateShape(physx::PxGeometry *InGeom, bool bSimulation=true, bool bQuery=true, UPhysicalMaterial *InSimpleMaterial=nullptr, TArray< UPhysicalMaterial * > *InComplexMaterials=nullptr)
Definition PhysInterface_Chaos.cpp:729
static ENGINE_API void UpdateAngularDrive_AssumesLocked(const FPhysicsConstraintHandle &InConstraintRef, const FAngularDriveConstraint &InDriveParams, bool InInitialize=false)
Definition PhysInterface_Chaos.cpp:423
static ENGINE_API void UpdateLinearDrive_AssumesLocked(const FPhysicsConstraintHandle &InConstraintRef, const FLinearDriveConstraint &InDriveParams, bool InInitialize=false)
Definition PhysInterface_Chaos.cpp:380
static ENGINE_API void SetMaterials(const FPhysicsShapeHandle &InShape, const TArrayView< UPhysicalMaterial * >InMaterials)
Definition PhysInterface_Chaos.cpp:816
static FString GetInterfaceDescription()
Definition PhysInterface_Chaos.h:41
static ENGINE_API bool GetSquaredDistanceToBody(const FBodyInstance *InInstance, const FVector &InPoint, float &OutDistanceSquared, FVector *OutOptPointOnBody=nullptr)
Definition PhysInterface_Chaos.cpp:1190
static ENGINE_API FPhysScene * GetCurrentSceneForComponent(USceneComponent *InComponent)
Definition PhysInterface_Chaos.cpp:202
static ENGINE_API void SetAngularMotionLimitType_AssumesLocked(const FPhysicsConstraintHandle &InConstraintRef, PhysicsInterfaceTypes::ELimitAxis InAxis, EAngularConstraintMotion InMotion)
Definition PhysInterface_Chaos.cpp:289
static ENGINE_API void UpdateConeLimitParams_AssumesLocked(const FPhysicsConstraintHandle &InConstraintRef, float InAverageMass, const FConeConstraint &InParams)
Definition PhysInterface_Chaos.cpp:338
static ENGINE_API void UpdateLinearLimitParams_AssumesLocked(const FPhysicsConstraintHandle &InConstraintRef, float InLimit, float InAverageMass, const FLinearConstraint &InParams)
Definition PhysInterface_Chaos.cpp:320
Definition PhysScene_Chaos.h:116
Definition ChaosEngineInterface.h:247
Definition ChaosEngineInterface.h:263
Definition ArrayView.h:139
Definition AssetRegistryState.h:50
Definition UniquePtr.h:107
Definition PhysicalMaterialMask.h:22
Definition PhysicalMaterial.h:104
Definition SkeletalMeshComponent.h:307
ELimitAxis
Definition ChaosEngineInterface.h:140
Definition ChaosInterfaceWrapperCore.h:29
Definition ChaosInterfaceWrapperCore.h:28
Definition MassProperties.h:24
Definition PhysicalMaterials.h:63
Definition PhysicsObjectInternal.h:16
Definition ConstraintDrives.h:125
Definition BodyInstance.h:320
Definition CollisionFilterData.h:46
Definition CollisionShape.h:21
Definition ConstraintTypes.h:72
Definition ConstraintDrives.h:24
Definition GenericPhysicsInterface.h:26
Definition PhysicsInterfaceTypes.h:43
Definition HitResult.h:21
Definition ConstraintTypes.h:43
Definition ConstraintDrives.h:66
Definition EngineTypes.h:2418
Definition ChaosEngineInterface.h:304
Definition PhysxUserData.h:37
Definition ConstraintTypes.h:100