14#include "PhysicsFieldComponent.generated.h"
225UCLASS(meta = (BlueprintSpawnableComponent), MinimalAPI)
235 ENGINE_API virtual void OnRegister()
override;
236 ENGINE_API virtual void OnUnregister()
override;
238 ENGINE_API virtual void SendRenderDynamicData_Concurrent()
override;
240 ENGINE_API virtual void DestroyRenderState_Concurrent()
override;
319 UFUNCTION(BlueprintCallable, Category=
"Field", meta=(WorldContext=
"WorldContextObject"))
323 UFUNCTION(BlueprintCallable, Category=
"Field", meta=(WorldContext=
"WorldContextObject"))
327 UFUNCTION(BlueprintCallable, Category=
"Field", meta=(WorldContext=
"WorldContextObject"))
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
ELevelTick
Definition EngineBaseTypes.h:70
EFieldIntegerType
Definition FieldSystemTypes.h:208
EFieldPhysicsType
Definition FieldSystemTypes.h:148
EFieldScalarType
Definition FieldSystemTypes.h:194
EFieldVectorType
Definition FieldSystemTypes.h:177
EFieldOutputType
Definition FieldSystemTypes.h:222
#define GENERATED_BODY(...)
Definition ObjectMacros.h:765
#define UFUNCTION(...)
Definition ObjectMacros.h:745
#define GENERATED_UCLASS_BODY(...)
Definition ObjectMacros.h:768
#define UCLASS(...)
Definition ObjectMacros.h:776
void ENGINE_API GetFieldIndex(const uint32 FieldType, int32 &FieldIndex, EFieldOutputType &FieldOutput)
Definition PhysicsFieldComponent.cpp:1099
void ENGINE_API EvaluateFieldVectorNodes(TArray< FFieldSystemCommand > &FieldCommands, const EFieldPhysicsType FieldType, FFieldContext &FieldContext, TArray< FVector > &ResultsArray, TArray< FVector > &MaxArray)
Definition PhysicsFieldComponent.cpp:1191
void ENGINE_API EvaluateFieldScalarNodes(TArray< FFieldSystemCommand > &FieldCommands, const EFieldPhysicsType FieldType, FFieldContext &FieldContext, TArray< float > &ResultsArray, TArray< float > &MaxArray)
Definition PhysicsFieldComponent.cpp:1197
EFieldCommandBuffer
Definition PhysicsFieldComponent.h:17
void ENGINE_API EvaluateFieldIntegerNodes(TArray< FFieldSystemCommand > &FieldCommands, const EFieldPhysicsType FieldType, FFieldContext &FieldContext, TArray< int32 > &ResultsArray, TArray< int32 > &MaxArray)
Definition PhysicsFieldComponent.cpp:1203
#define MAX_PHYSICS_FIELD_TARGETS
Definition SceneView.h:23
Definition FieldSystem.h:522
Definition PhysicsFieldComponent.h:162
FPhysicsFieldResource * FieldResource
Definition PhysicsFieldComponent.h:191
TArray< int32 > NodesOffsets
Definition PhysicsFieldComponent.h:200
TArray< FFieldSystemCommand > FieldCommands
Definition PhysicsFieldComponent.h:212
TStaticArray< int32, EFieldPhysicsType::Field_PhysicsType_Max+1 > BoundsOffsets
Definition PhysicsFieldComponent.h:197
TArray< FVector4 > BoundsMin
Definition PhysicsFieldComponent.h:206
TArray< FVector > TargetsMin
Definition PhysicsFieldComponent.h:215
void InitInstance(const TArray< EFieldPhysicsType > &TargetTypes, const bool bBuildClipmap)
Definition PhysicsFieldComponent.cpp:616
TArray< float > NodesParams
Definition PhysicsFieldComponent.h:203
FPhysicsFieldInstance()
Definition PhysicsFieldComponent.h:166
~FPhysicsFieldInstance()
Definition PhysicsFieldComponent.h:171
void ReleaseInstance()
Definition PhysicsFieldComponent.cpp:664
TArray< FVector4 > BoundsMax
Definition PhysicsFieldComponent.h:209
TStaticArray< int32, EFieldPhysicsType::Field_PhysicsType_Max+1 > TargetsOffsets
Definition PhysicsFieldComponent.h:194
TArray< FVector > TargetsMax
Definition PhysicsFieldComponent.h:218
Definition PhysicsFieldComponent.h:101
FRWBuffer BoundsMax
Definition PhysicsFieldComponent.h:129
FRWBuffer TargetsOffsets
Definition PhysicsFieldComponent.h:114
FRWBuffer CellsMin
Definition PhysicsFieldComponent.h:120
void UpdateBounds(const TArray< FVector > &TargetsMin, const TArray< FVector > &TargetsMax, const TStaticArray< int32, EFieldPhysicsType::Field_PhysicsType_Max+1 > &TargetOffsets, const TStaticArray< int32, EFieldPhysicsType::Field_PhysicsType_Max+1 > &BoundsOffsets)
Definition PhysicsFieldComponent.cpp:464
FPhysicsFieldInfos FieldInfos
Definition PhysicsFieldComponent.h:132
FRWBuffer CellsOffsets
Definition PhysicsFieldComponent.h:117
FRWBuffer CellsMax
Definition PhysicsFieldComponent.h:123
FRWBuffer NodesParams
Definition PhysicsFieldComponent.h:108
virtual void ReleaseRHI() override
Definition PhysicsFieldComponent.cpp:447
void UpdateResource(FRHICommandList &RHICmdList, const TStaticArray< int32, EFieldPhysicsType::Field_PhysicsType_Max+1 > &TargetsOffsetsDatas, const TArray< int32 > &NodesOffsetsDatas, const TArray< float > &NodesParamsDatas, const TArray< FVector > &TargetsMinDatas, const TArray< FVector > &TargetsMaxDatas, const float TimeSeconds, const TArray< FVector4 > &BoundsMinDatas, const TArray< FVector4 > &BoundsMaxDatas, const TStaticArray< int32, EFieldPhysicsType::Field_PhysicsType_Max+1 > &BoundsOffsetsDatas)
Definition PhysicsFieldComponent.cpp:533
FRWBuffer ClipmapBuffer
Definition PhysicsFieldComponent.h:105
FRWBuffer BoundsMin
Definition PhysicsFieldComponent.h:126
virtual void InitRHI(FRHICommandListBase &RHICmdList) override
Definition PhysicsFieldComponent.cpp:421
FRWBuffer NodesOffsets
Definition PhysicsFieldComponent.h:111
Definition PhysicsFieldComponent.h:293
~FPhysicsFieldSceneProxy()
Definition PhysicsFieldComponent.cpp:1125
FPhysicsFieldResource * DebugResource
Definition PhysicsFieldComponent.h:307
FPhysicsFieldResource * FieldResource
Definition PhysicsFieldComponent.h:304
Definition RHICommandList.h:455
Definition RHICommandList.h:3819
Definition ActorComponent.h:47
Definition RenderResource.h:37
Definition BlueprintFunctionLibrary.h:16
Definition PhysicsFieldComponent.h:227
Definition PhysicsFieldComponent.h:313
Definition EngineBaseTypes.h:571
Definition FieldSystem.h:242
Definition PhysicsFieldComponent.h:26
BufferOffsets ScalarTargets
Definition PhysicsFieldComponent.h:40
BufferOffsets VectorTargets
Definition PhysicsFieldComponent.h:37
int32 ClipmapCount
Definition PhysicsFieldComponent.h:64
BufferOffsets ValidTargets
Definition PhysicsFieldComponent.h:49
int32 ClipmapExponent
Definition PhysicsFieldComponent.h:67
BufferOffsets PhysicsTargets
Definition PhysicsFieldComponent.h:46
FVector ViewOrigin
Definition PhysicsFieldComponent.h:73
int32 TargetCount
Definition PhysicsFieldComponent.h:31
TArray< int32 > CellsOffsets
Definition PhysicsFieldComponent.h:76
BufferOffsets IntegerTargets
Definition PhysicsFieldComponent.h:43
TStaticArray< UE::Core::TAlignedElement< int32, 16 >, MAX_PHYSICS_FIELD_TARGETS > BoundsOffsets
Definition PhysicsFieldComponent.h:85
TArray< EFieldPhysicsType > TargetTypes
Definition PhysicsFieldComponent.h:34
int32 ClipmapResolution
Definition PhysicsFieldComponent.h:70
bool bBuildClipmap
Definition PhysicsFieldComponent.h:91
bool bShowFields
Definition PhysicsFieldComponent.h:94
float ClipmapDistance
Definition PhysicsFieldComponent.h:58
TArray< FIntVector4 > CellsMin
Definition PhysicsFieldComponent.h:79
TStaticArray< UE::Core::TAlignedElement< FIntVector4, 16 >, MAX_PHYSICS_FIELD_TARGETS > PhysicsBounds
Definition PhysicsFieldComponent.h:52
FVector ClipmapCenter
Definition PhysicsFieldComponent.h:55
TArray< FIntVector4 > CellsMax
Definition PhysicsFieldComponent.h:82
float TimeSeconds
Definition PhysicsFieldComponent.h:88
int32 ValidCount
Definition PhysicsFieldComponent.h:61
Definition RHIUtilities.h:181
Definition AlignedElement.h:13
static CORE_API const TVector< double > ZeroVector
Definition Vector.h:79