UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FieldSystem.h File Reference
#include "Chaos/ParticleHandleFwd.h"
#include "CoreMinimal.h"
#include "Containers/Array.h"
#include "Containers/ArrayView.h"
#include "Containers/Queue.h"
#include "Field/FieldSystemTypes.h"
#include "Field/FieldArrayView.h"
#include "Math/Vector.h"

Go to the source code of this file.

Classes

struct  FFieldContextIndex
 
struct  FFieldExecutionDatas
 
class  FFieldSystemMetaData
 
class  FFieldSystemMetaDataProcessingResolution
 
class  FFieldSystemMetaDataFilter
 
class  FFieldSystemMetaDataResults< T >
 
class  FFieldSystemMetaDataIteration
 
class  FFieldSystemMetaDataCulling
 
struct  FFieldContext
 
class  FScopedFieldContextMetaData
 
class  FFieldNodeBase
 
class  FFieldNode< T >
 
class  FFieldSystemCommand
 

Enumerations

enum class  EFieldCommandOutputType : uint8 {
  LinearForce = 0 , LinearVelocity = 1 , AngularTorque = 2 , AngularVelocity = 3 ,
  NumOutputs = 4
}
 
enum class  EFieldCommandResultType : uint8 { FinalResult = 0 , TransientResult = 1 , NumResults = 2 }
 
enum class  EFieldCommandHandlesType : uint8 { FilteredHandles = 0 , InsideHandles = 1 , NumHandles = 2 }
 

Functions

template<typename FieldType >
FORCEINLINE void ResetResultsArray (const int32 FieldSize, TArray< FieldType > &FieldArray, const FieldType DefaultValue)
 
template<typename FieldType >
FORCEINLINE void ResetResultsArrays (const int32 FieldSize, const TArray< EFieldCommandOutputType > &FieldTargets, TArray< FieldType > FieldArray[(uint8) EFieldCommandOutputType::NumOutputs], const FieldType DefaultValue)
 
template<typename FieldType >
FORCEINLINE void EmptyResultsArray (TArray< FieldType > &FieldArray)
 
template<typename FieldType >
FORCEINLINE void EmptyResultsArrays (const TArray< EFieldCommandOutputType > &FieldTargets, TArray< FieldType > FieldArray[(uint8) EFieldCommandOutputType::NumOutputs])
 
template<typename ResultType >
FORCEINLINE TArray< ResultType > & GetResultArray (FFieldContext &FieldContext)
 
template<>
FORCEINLINE TArray< FVector > & GetResultArray< FVector > (FFieldContext &FieldContext)
 
template<>
FORCEINLINE TArray< float > & GetResultArray< float > (FFieldContext &FieldContext)
 
template<>
FORCEINLINE TArray< int32 > & GetResultArray< int32 > (FFieldContext &FieldContext)
 
template<class T >
bool FieldsEqual (const TUniquePtr< T > &NodeA, const TUniquePtr< T > &NodeB)
 

Enumeration Type Documentation

◆ EFieldCommandHandlesType

Enum to specify on whjich array the particle handles are going to be stored

Enumerator
FilteredHandles 
InsideHandles 
NumHandles 

◆ EFieldCommandOutputType

Enum to specify on which array the final field output will be stored for future use in rban/cloth

Enumerator
LinearForce 
LinearVelocity 
AngularTorque 
AngularVelocity 
NumOutputs 

◆ EFieldCommandResultType

Enum to specify on which array the intermediate fields results are going to be stored

Enumerator
FinalResult 
TransientResult 
NumResults 

Function Documentation

◆ EmptyResultsArray()

template<typename FieldType >
FORCEINLINE void EmptyResultsArray ( TArray< FieldType > &  FieldArray)

Empty the results array without deallocating when shrinking

◆ EmptyResultsArrays()

template<typename FieldType >
FORCEINLINE void EmptyResultsArrays ( const TArray< EFieldCommandOutputType > &  FieldTargets,
TArray< FieldType >  FieldArray[(uint8) EFieldCommandOutputType::NumOutputs] 
)

Empty the results arrays given a list of targets

◆ FieldsEqual()

template<class T >
bool FieldsEqual ( const TUniquePtr< T > &  NodeA,
const TUniquePtr< T > &  NodeB 
)

◆ GetResultArray()

template<typename ResultType >
FORCEINLINE TArray< ResultType > & GetResultArray ( FFieldContext FieldContext)

Get the vector execution array given a result type

◆ GetResultArray< float >()

template<>
FORCEINLINE TArray< float > & GetResultArray< float > ( FFieldContext FieldContext)

Get the scalar execution array given a result type

◆ GetResultArray< FVector >()

template<>
FORCEINLINE TArray< FVector > & GetResultArray< FVector > ( FFieldContext FieldContext)

Get the vector execution array given a result type

◆ GetResultArray< int32 >()

template<>
FORCEINLINE TArray< int32 > & GetResultArray< int32 > ( FFieldContext FieldContext)

Get the integer execution array given a result type

◆ ResetResultsArray()

template<typename FieldType >
FORCEINLINE void ResetResultsArray ( const int32  FieldSize,
TArray< FieldType > &  FieldArray,
const FieldType  DefaultValue 
)

Reset the results array with a given size and a default value

◆ ResetResultsArrays()

template<typename FieldType >
FORCEINLINE void ResetResultsArrays ( const int32  FieldSize,
const TArray< EFieldCommandOutputType > &  FieldTargets,
TArray< FieldType >  FieldArray[(uint8) EFieldCommandOutputType::NumOutputs],
const FieldType  DefaultValue 
)

Reset the results arrays given a list of targets