UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
PhysicsPublic.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3/*=============================================================================
4 PhysicsPublic.h
5 Rigid Body Physics Public Types
6=============================================================================*/
7
8#pragma once
9
10#include "CoreMinimal.h"
11#include "Stats/Stats.h"
12#include "Engine/EngineTypes.h"
13#include "Misc/CoreMisc.h"
14#include "Misc/App.h"
15#include "EngineDefines.h"
17#include "PhysicsPublicCore.h"
18//#include "StaticMeshResources.h"
19
20class AActor;
23class UPhysicsAsset;
24class UPrimitiveComponent;
25class USkeletalMeshComponent;
27struct FBodyInstance;
29class FPhysScene_PhysX;
32
39
46
49
56
59
88
118
133
136{
137public:
138
140
142 void ENGINE_API Flush();
144
145private:
146
148 struct FPhysPendingCommand
149 {
150 //union
151 //{
152 //} Pointer;
153
154 PhysCommand::Type CommandType;
155 };
156
158 void ExecuteCommands();
159
161 void EnqueueCommand(const FPhysPendingCommand& Command);
162
164 TArray<FPhysPendingCommand> PendingCommands;
165};
166
169
170
173
178{
180 {
181 return true;
182 }
183 return false;
184}
185
186// Only used for legacy serialization (ver < VER_UE4_REMOVE_PHYS_SCALED_GEOM_CACHES)
188{
189public:
191
193 {
194 S.ConvexElementData.BulkSerialize(Ar);
195 return Ar;
196 }
197};
198
199// Only used for legacy serialization (ver < VER_UE4_REMOVE_PHYS_SCALED_GEOM_CACHES)
201{
202public:
204
206 {
207 Ar << S.CachedConvexElements;
208 return Ar;
209 }
210};
211
212// Only used for legacy serialization (ver < VER_UE4_ADD_BODYSETUP_GUID)
214{
216
218 {
219 S.CachedPerTriData.BulkSerialize(Ar);
220 return Ar;
221 }
222};
223
236
239
242
243
246
@ INDEX_NONE
Definition CoreMiscDefines.h:150
bool IsRunningDedicatedServer()
Definition CoreMisc.h:152
#define TEXT(x)
Definition Platform.h:1272
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
#define DECLARE_CYCLE_STAT_EXTERN(CounterName, StatId, GroupId, API)
Definition Stats.h:679
#define DECLARE_DWORD_COUNTER_STAT_EXTERN(CounterName, StatId, GroupId, API)
Definition Stats.h:682
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define DECLARE_DELEGATE_TwoParams(DelegateName, Param1Type, Param2Type)
Definition DelegateCombinations.h:57
#define DECLARE_MULTICAST_DELEGATE_OneParam(DelegateName, Param1Type)
Definition DelegateCombinations.h:49
ENGINE_API class FPhysCommandHandler * GPhysCommandHandler
Definition PhysLevel.cpp:19
FTransform FindBodyTransform(AActor *Actor, FName BoneName)
bool PhysSingleThreadedMode()
Definition PhysicsPublic.h:177
void ClearTorques_AssumesLocked(FBodyInstance *BodyInstance, bool bAllowSubstepping)
void ClearForces_AssumesLocked(FBodyInstance *BodyInstance, bool bAllowSubstepping)
ENGINE_API void TermGamePhys()
Definition PhysLevel.cpp:347
ENGINE_API void DeferredPhysResourceCleanup()
Definition PhysLevel.cpp:370
FBox FindBodyBox(AActor *Actor, FName BoneName)
ENGINE_API bool InitGamePhys()
Definition PhysLevel.cpp:316
Definition Actor.h:257
static CORE_API bool ShouldUseThreadingForPerformance()
Definition App.cpp:300
Definition Archive.h:1208
Definition DynamicMeshBuilder.h:228
Definition PhysicsPublic.h:188
friend FArchive & operator<<(FArchive &Ar, FKCachedConvexDataElement &S)
Definition PhysicsPublic.h:192
TArray< uint8 > ConvexElementData
Definition PhysicsPublic.h:190
Definition PhysicsPublic.h:201
friend FArchive & operator<<(FArchive &Ar, FKCachedConvexData &S)
Definition PhysicsPublic.h:205
TArray< FKCachedConvexDataElement > CachedConvexElements
Definition PhysicsPublic.h:203
Definition PhysicsPublic.h:225
bool HasValidGeometry()
Definition PhysDrawing.cpp:1208
FKConvexGeomRenderInfo()
Definition PhysDrawing.cpp:1200
FLocalVertexFactory * CollisionVertexFactory
Definition PhysicsPublic.h:229
FStaticMeshVertexBuffers * VertexBuffers
Definition PhysicsPublic.h:227
FDynamicMeshIndexBuffer32 * IndexBuffer
Definition PhysicsPublic.h:228
Definition LocalVertexFactory.h:51
Definition NameTypes.h:617
Definition PhysicsPublic.h:136
~FPhysCommandHandler()
Definition PhysCommandHandler.cpp:8
void ENGINE_API Flush()
Definition PhysCommandHandler.cpp:16
bool ENGINE_API HasPendingCommands()
Definition PhysCommandHandler.cpp:23
Definition PhysScene_Chaos.h:116
Definition PhysicsPublicCore.h:11
Definition PhysicsPublic.h:249
static ENGINE_API FOnPhysDispatchNotifications OnPhysDispatchNotifications
Definition PhysicsPublic.h:262
static ENGINE_API FOnPhysSceneInit OnPhysSceneInit
Definition PhysicsPublic.h:256
DECLARE_MULTICAST_DELEGATE_OneParam(FOnPhysSceneInit, FPhysScene *)
DECLARE_MULTICAST_DELEGATE_OneParam(FOnPhysDispatchNotifications, FPhysScene *)
static ENGINE_API FOnPhysSceneTerm OnPhysSceneTerm
Definition PhysicsPublic.h:259
DECLARE_MULTICAST_DELEGATE_OneParam(FOnPhysicsAssetChanged, const UPhysicsAsset *)
DECLARE_MULTICAST_DELEGATE_OneParam(FOnPhysSceneTerm, FPhysScene *)
static ENGINE_API FOnPhysicsAssetChanged OnPhysicsAssetChanged
Definition PhysicsPublic.h:253
Definition Array.h:670
Definition LineBatchComponent.h:128
Definition PhysicalMaterial.h:104
Definition PhysicsAsset.h:172
Definition SkeletalMeshComponent.h:307
FRealDouble FReal
Definition Real.h:22
Definition PhysicsPublic.h:120
Type
Definition PhysicsPublic.h:122
@ DeleteCCDContactModifyCallback
Definition PhysicsPublic.h:128
@ Release
Definition PhysicsPublic.h:123
@ ReleasePScene
Definition PhysicsPublic.h:124
@ DeleteContactModifyCallback
Definition PhysicsPublic.h:127
@ DeleteMbpBroadphaseCallback
Definition PhysicsPublic.h:129
@ Max
Definition PhysicsPublic.h:130
@ DeleteCPUDispatcher
Definition PhysicsPublic.h:125
@ DeleteSimEventCallback
Definition PhysicsPublic.h:126
@ false
Definition radaudio_common.h:23
static CORE_API int32 NumberOfCores()
Definition AndroidPlatformMisc.cpp:952
Definition BodyInstance.h:320
Definition EngineTypes.h:1867
Definition PhysicsPublic.h:91
FCollisionImpactData RigidCollisionData
Definition PhysicsPublic.h:105
FRigidBodyCollisionInfo Info0
Definition PhysicsPublic.h:99
FRigidBodyCollisionInfo Info1
Definition PhysicsPublic.h:102
Chaos::FReal SolverTime
Definition PhysicsPublic.h:107
bool bCallEvent1
Definition PhysicsPublic.h:96
ENGINE_API bool IsValidForNotify() const
Definition PhysUtils.cpp:178
FCollisionNotifyInfo()
Definition PhysicsPublic.h:109
bool bCallEvent0
Definition PhysicsPublic.h:93
static CORE_API const TCHAR * Get()
Definition CommandLine.cpp:61
Definition ConstraintInstance.h:255
static CORE_API bool SupportsMultithreading()
Definition GenericPlatformProcess.cpp:656
Definition PhysicsPublic.h:214
friend FArchive & operator<<(FArchive &Ar, FKCachedPerTriData &S)
Definition PhysicsPublic.h:217
TArray< uint8 > CachedPerTriData
Definition PhysicsPublic.h:215
static CORE_API bool Param(const TCHAR *Stream, const TCHAR *Param)
Definition Parse.cpp:325
Definition PhysicsPublic.h:62
TWeakObjectPtr< AActor > Actor
Definition PhysicsPublic.h:64
FVector DeltaVelocity
Definition PhysicsPublic.h:76
FRigidBodyCollisionInfo()
Definition PhysicsPublic.h:78
TWeakObjectPtr< UPrimitiveComponent > Component
Definition PhysicsPublic.h:67
FName BoneName
Definition PhysicsPublic.h:73
ENGINE_API FBodyInstance * GetBodyInstance() const
Definition PhysUtils.cpp:165
int32 BodyIndex
Definition PhysicsPublic.h:70
ENGINE_API void SetFrom(const FBodyInstance *BodyInst, const FVector &InDeltaVelocity=FVector::ZeroVector)
Definition PhysUtils.cpp:140
Definition StaticMeshResources.h:320
Definition WeakObjectPtrTemplates.h:25
static CORE_API const TVector< double > ZeroVector
Definition Vector.h:79