UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
UE::Dataflow::SubGraphNodes::Private::FContextSubGraph Class Reference
+ Inheritance diagram for UE::Dataflow::SubGraphNodes::Private::FContextSubGraph:

Public Member Functions

 DATAFLOW_CONTEXT_INTERNAL (FEngineContext, FContextSubGraph)
 
 FContextSubGraph (FContext &InParentContext, UObject *DataflowAsset, const ISubGraphContextCallback &InSubGraphCallback)
 
virtual void SetDataImpl (FContextCacheKey Key, TUniquePtr< FContextCacheElementBase > &&DataStoreEntry) override
 
virtual const TUniquePtr< FContextCacheElementBase > * GetDataImpl (FContextCacheKey Key) const override
 
virtual bool HasDataImpl (FContextCacheKey Key, FTimestamp InTimestamp=FTimestamp::Invalid) const override
 
virtual bool IsEmptyImpl () const override
 
virtual void Evaluate (const FDataflowNode *Node, const FDataflowOutput *Output) override
 
virtual bool Evaluate (const FDataflowOutput &Connection) override
 
bool EvaluateSubGraph (const FDataflowSubGraphOutputNode &SubGraphOutputNode, const FDataflowNode &CallerNode, const FDataflowOutput &CallerOutput)
 
void EvaluateParentContext (const FDataflowOutput &SubGraphOutput)
 
void SetCurrentArrayIndex (int32 Index)
 
int32 GetCurrentArrayIndex () const
 
void TransferPerfData ()
 
virtual UObjectAddAsset (const FString &AssetPath, const UClass *AssetClass) override
 
virtual UObjectCommitAsset (const FString &AssetPath) override
 
virtual void ClearAssets () override
 
- Public Member Functions inherited from UE::Dataflow::TEngineContext< Base >
 DATAFLOW_CONTEXT_INTERNAL (Base, TEngineContext)
 
 TEngineContext (const TObjectPtr< UObject > &InOwner)
 
virtual ~TEngineContext ()
 
int32 GetKeys (TSet< FContextCacheKey > &InKeys) const
 
const TUniquePtr< FContextCacheElementBase > * GetBaseData (FContextCacheKey Key) const
 
virtual void Serialize (FArchive &Ar)
 
- Public Member Functions inherited from UE::Dataflow::FContextSingle
 DATAFLOW_CONTEXT_INTERNAL (FContext, FContextSingle)
 
- Public Member Functions inherited from UE::Dataflow::FContext
 FContext ()
 
virtual ~FContext ()=default
 
virtual bool IsA (FName InType) const
 
virtual FName GetType () const
 
template<class T >
const T * AsType () const
 
template<class T >
T * AsType ()
 
bool IsThreaded () const
 
DATAFLOWCORE_API void SetThreaded (bool bValue)
 
DATAFLOWCORE_API bool IsAsyncEvaluating () const
 
DATAFLOWCORE_API void CancelAsyncEvaluation ()
 
DATAFLOWCORE_API void GetAsyncEvaluationStats (int32 &OutNumPendingTasks, int32 &OutNumRunningTasks, int32 &OutNumCompletedTasks) const
 
DATAFLOWCORE_API void Evaluate (const FDataflowNode *Node, const FDataflowOutput *Output, FOnPostEvaluationFunction PostEvaluationFunction)
 
DATAFLOWCORE_API void ClearAllData ()
 
template<typename T >
void SetData (FContextCacheKey InKey, const FProperty *InProperty, T &&InValue, const FGuid &InNodeGuid, uint32 InNodeHash, const FTimestamp &InTimestamp)
 
DATAFLOWCORE_API void SetDataFromStructView (FContextCacheKey InKey, const FProperty *InProperty, const FConstStructView &StructView, const FGuid &InNodeGuid, uint32 InNodeHash, const FTimestamp &InTimestamp)
 
DATAFLOWCORE_API void SetDataFromStructArrayView (FContextCacheKey InKey, const FProperty *InProperty, const FConstStructArrayView &StructArrayView, const FGuid &InNodeGuid, uint32 InNodeHash, const FTimestamp &InTimestamp)
 
DATAFLOWCORE_API void SetDataReference (FContextCacheKey Key, const FProperty *Property, FContextCacheKey ReferenceKey, const FTimestamp &InTimestamp)
 
DATAFLOWCORE_API void SetNullData (FContextCacheKey InKey, const FProperty *InProperty, const FGuid &InNodeGuid, uint32 InNodeHash, const FTimestamp &InTimestamp)
 
DATAFLOWCORE_API int32 GetArraySizeFromData (const FContextCacheKey InKey) const
 
DATAFLOWCORE_API void SetArrayElementFromData (const FContextCacheKey InArrayKey, int32 Index, const FContextCacheKey InElementKey, const FProperty *InProperty, const FGuid &InNodeGuid, uint32 InNodeHash, const FTimestamp &InTimestamp)
 
DATAFLOWCORE_API bool CopyDataToAnotherContext (const FContextCacheKey InSourceKey, FContext &TargetContext, const FContextCacheKey InTargetKey, const FProperty *InProperty, const FGuid &InNodeGuid, uint32 InNodeHash, const FTimestamp &InTimestamp) const
 
template<class T >
const T & GetData (FContextCacheKey Key, const FProperty *InProperty, const T &Default=T()) const
 
DATAFLOWCORE_API const voidGetUntypedData (FContextCacheKey Key, const FProperty *InProperty) const
 
DATAFLOWCORE_API bool HasData (FContextCacheKey Key, FTimestamp InTimestamp=FTimestamp::Invalid) const
 
DATAFLOWCORE_API bool IsEmpty () const
 
virtual DATAFLOWCORE_API const TUniquePtr< FContextCacheElementBase > * FindCacheElement (FContextCacheKey InKey) const override
 
virtual DATAFLOWCORE_API bool HasCacheElement (FContextCacheKey InKey, FTimestamp InTimestamp=FTimestamp::Invalid) const override
 
DATAFLOWCORE_API FTimestamp GetTimestamp (FContextCacheKey Key) const
 
DATAFLOWCORE_API void PushToCallstack (const FDataflowConnection *Connection)
 
DATAFLOWCORE_API void PopFromCallstack (const FDataflowConnection *Connection)
 
DATAFLOWCORE_API bool IsInCallstack (const FDataflowConnection *Connection) const
 
DATAFLOWCORE_API FContextPerfData::FData GetPerfDataForNode (const FDataflowNode &Node) const
 
DATAFLOWCORE_API void ResetPerfDataForNode (const FDataflowNode &Node)
 
DATAFLOWCORE_API void AddExternalPerfData (const FContextPerfData &InPerfData)
 
DATAFLOWCORE_API void ClearAllPerfData ()
 
DATAFLOWCORE_API void EnablePerfData (bool bEnable)
 
DATAFLOWCORE_API bool IsPerfDataEnabled () const
 
DATAFLOWCORE_API bool IsCacheEntryAfterTimestamp (FContextCacheKey InKey, const FTimestamp InTimestamp) const
 
DATAFLOWCORE_API void Info (const FString &InInfo, const FDataflowNode *InNode=nullptr, const FDataflowOutput *InOutput=nullptr)
 
DATAFLOWCORE_API int32 GetNumInfo () const
 
DATAFLOWCORE_API void Warning (const FString &InWarning, const FDataflowNode *InNode=nullptr, const FDataflowOutput *InOutput=nullptr)
 
DATAFLOWCORE_API int32 GetNumWarnings () const
 
DATAFLOWCORE_API void Error (const FString &InError, const FDataflowNode *InNode=nullptr, const FDataflowOutput *InOutput=nullptr)
 
DATAFLOWCORE_API int32 GetNumErrors () const
 
bool NodeHasWarning (const FDataflowNode *InNode)
 
bool NodeHasError (const FDataflowNode *InNode)
 
bool NodeFailed (const FDataflowNode *InNode)
 
DATAFLOWCORE_API void ClearNodesData ()
 
DATAFLOWCORE_API void ClearNodeData (const FDataflowNode *InNode)
 
 DECLARE_MULTICAST_DELEGATE_TwoParams (FOnNodeBeginEvaluateMulticast, const FDataflowNode *Node, const FDataflowOutput *Output)
 
 DECLARE_MULTICAST_DELEGATE_TwoParams (FOnNodeFinishEvaluateMulticast, const FDataflowNode *Node, const FDataflowOutput *Output)
 
 DECLARE_MULTICAST_DELEGATE_ThreeParams (FOnContextHasInfoMulticast, const FDataflowNode *Node, const FDataflowOutput *Output, const FString &Info)
 
 DECLARE_MULTICAST_DELEGATE_ThreeParams (FOnContextHasWarningMulticast, const FDataflowNode *Node, const FDataflowOutput *Output, const FString &Info)
 
 DECLARE_MULTICAST_DELEGATE_ThreeParams (FOnContextHasErrorMulticast, const FDataflowNode *Node, const FDataflowOutput *Output, const FString &Info)
 
- Public Member Functions inherited from UE::Dataflow::IContextAssetStoreInterface
template<typename T >
T * AddAssetTyped (const FString &AssetPath)
 

Additional Inherited Members

- Static Public Member Functions inherited from UE::Dataflow::FContext
static FName StaticType ()
 
- Public Attributes inherited from UE::Dataflow::TEngineContext< Base >
TObjectPtr< UObjectOwner = nullptr
 
- Public Attributes inherited from UE::Dataflow::FContext
FOnNodeBeginEvaluateMulticast OnNodeBeginEvaluateMulticast
 
FOnNodeFinishEvaluateMulticast OnNodeFinishEvaluateMulticast
 
FOnContextHasInfoMulticast OnContextHasInfo
 
FOnContextHasWarningMulticast OnContextHasWarning
 
FOnContextHasErrorMulticast OnContextHasError
 
- Protected Member Functions inherited from UE::Dataflow::FContext
 FContext (FContext &&)=delete
 
FContextoperator= (FContext &&)=delete
 
 FContext (const FContext &)=delete
 
FContextoperator= (const FContext &)=delete
 
DATAFLOWCORE_API void BeginContextEvaluation (const FDataflowNode *Node, const FDataflowOutput *Output)
 
DATAFLOWCORE_API const FContextPerfDataGetPerfData () const
 
- Protected Attributes inherited from UE::Dataflow::FContext
FContextCache DataStore
 
TUniquePtr< FCriticalSectionDataLock
 
FContextEvaluator AsyncEvaluator
 

Constructor & Destructor Documentation

◆ FContextSubGraph()

UE::Dataflow::SubGraphNodes::Private::FContextSubGraph::FContextSubGraph ( FContext InParentContext,
UObject DataflowAsset,
const ISubGraphContextCallback InSubGraphCallback 
)
inline

Member Function Documentation

◆ AddAsset()

virtual UObject * UE::Dataflow::SubGraphNodes::Private::FContextSubGraph::AddAsset ( const FString &  PersistentAssetPath,
const UClass AssetClass 
)
inlineoverridevirtual

Create an new asset to be commited later ( when the terminal nodes are evaluated ) When commited, the asset will be duplicated to a final package matching PersistentAssetPath

Returns
an UObject owned by the transient package

Reimplemented from UE::Dataflow::FContext.

◆ ClearAssets()

virtual void UE::Dataflow::SubGraphNodes::Private::FContextSubGraph::ClearAssets ( )
inlineoverridevirtual

Clear all assets from the store

Reimplemented from UE::Dataflow::FContext.

◆ CommitAsset()

virtual UObject * UE::Dataflow::SubGraphNodes::Private::FContextSubGraph::CommitAsset ( const FString &  TransientAssetPath)
inlineoverridevirtual

Commit the asset matching the TransientAssetPath If such asset was added previously this will duplicate it and save it to a persistent package

Returns
the newly created persistent UObject asset

Reimplemented from UE::Dataflow::FContext.

◆ DATAFLOW_CONTEXT_INTERNAL()

UE::Dataflow::SubGraphNodes::Private::FContextSubGraph::DATAFLOW_CONTEXT_INTERNAL ( FEngineContext  ,
FContextSubGraph   
)

◆ Evaluate() [1/2]

virtual void UE::Dataflow::SubGraphNodes::Private::FContextSubGraph::Evaluate ( const FDataflowNode Node,
const FDataflowOutput Output 
)
inlineoverridevirtual

Reimplemented from UE::Dataflow::FContext.

◆ Evaluate() [2/2]

virtual bool UE::Dataflow::SubGraphNodes::Private::FContextSubGraph::Evaluate ( const FDataflowOutput Connection)
inlineoverridevirtual

Reimplemented from UE::Dataflow::FContext.

◆ EvaluateParentContext()

void UE::Dataflow::SubGraphNodes::Private::FContextSubGraph::EvaluateParentContext ( const FDataflowOutput SubGraphOutput)
inline

◆ EvaluateSubGraph()

bool UE::Dataflow::SubGraphNodes::Private::FContextSubGraph::EvaluateSubGraph ( const FDataflowSubGraphOutputNode SubGraphOutputNode,
const FDataflowNode CallerNode,
const FDataflowOutput CallerOutput 
)
inline

◆ GetCurrentArrayIndex()

int32 UE::Dataflow::SubGraphNodes::Private::FContextSubGraph::GetCurrentArrayIndex ( ) const
inline

◆ GetDataImpl()

virtual const TUniquePtr< FContextCacheElementBase > * UE::Dataflow::SubGraphNodes::Private::FContextSubGraph::GetDataImpl ( FContextCacheKey  Key) const
inlineoverridevirtual

Reimplemented from UE::Dataflow::FContext.

◆ HasDataImpl()

virtual bool UE::Dataflow::SubGraphNodes::Private::FContextSubGraph::HasDataImpl ( FContextCacheKey  Key,
FTimestamp  InTimestamp = FTimestamp::Invalid 
) const
inlineoverridevirtual

Reimplemented from UE::Dataflow::FContext.

◆ IsEmptyImpl()

virtual bool UE::Dataflow::SubGraphNodes::Private::FContextSubGraph::IsEmptyImpl ( ) const
inlineoverridevirtual

Reimplemented from UE::Dataflow::FContext.

◆ SetCurrentArrayIndex()

void UE::Dataflow::SubGraphNodes::Private::FContextSubGraph::SetCurrentArrayIndex ( int32  Index)
inline

◆ SetDataImpl()

virtual void UE::Dataflow::SubGraphNodes::Private::FContextSubGraph::SetDataImpl ( FContextCacheKey  Key,
TUniquePtr< FContextCacheElementBase > &&  DataStoreEntry 
)
inlineoverridevirtual

Reimplemented from UE::Dataflow::FContext.

◆ TransferPerfData()

void UE::Dataflow::SubGraphNodes::Private::FContextSubGraph::TransferPerfData ( )
inline

The documentation for this class was generated from the following file: