UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FPersistentEvaluationData Struct Reference

#include <PersistentEvaluationData.h>

Public Member Functions

MOVIESCENE_API FPersistentEvaluationData (IMovieScenePlayer &InPlayer)
 
 FPersistentEvaluationData (const FPersistentEvaluationData &)=delete
 
FPersistentEvaluationDataoperator= (const FPersistentEvaluationData &)=delete
 
template<typename T >
T & GetOrAddTrackData ()
 
template<typename T >
T & AddTrackData ()
 
template<typename T >
T & GetTrackData ()
 
template<typename T >
T * FindTrackData ()
 
template<typename T >
T & GetTrackData () const
 
template<typename T >
T * FindTrackData () const
 
void ResetTrackData ()
 
template<typename T >
T & GetOrAddSectionData ()
 
template<typename T >
T & AddSectionData ()
 
template<typename T >
T & GetSectionData () const
 
template<typename T >
T * FindSectionData () const
 
void ResetSectionData ()
 
MOVIESCENE_API const FMovieSceneSequenceInstanceDataGetInstanceData () const
 
IMovieScenePlayerGetMovieScenePlayer () const
 
template<typename T >
const T * FindInstanceData () const
 
const FMovieSceneEvaluationKeyGetTrackKey () const
 
const FMovieSceneEvaluationKeyGetSectionKey () const
 
void SetTrackKey (const FMovieSceneEvaluationKey &Key) const
 
void SetSectionKey (const FMovieSceneEvaluationKey &Key) const
 
const FMovieSceneEvaluationKeyDeriveSectionKey (uint32 InSectionIdentifier) const
 
template<typename T >
T & GetOrAdd (const FSharedPersistentDataKey &InKey)
 
template<typename T >
T & Add (const FSharedPersistentDataKey &InKey)
 
template<typename T >
T * Find (const FSharedPersistentDataKey &InKey)
 
template<typename T >
const T * Find (const FSharedPersistentDataKey &InKey) const
 
template<typename T >
T & Get (const FSharedPersistentDataKey &InKey)
 
template<typename T >
const T & Get (const FSharedPersistentDataKey &InKey) const
 
void Reset (const FSharedPersistentDataKey &InKey)
 

Detailed Description

Structure that stores persistent data that track templates may need during evaluation. Such data can be thought of as a cache which exists as long as the track is being evaluated. The cache can store any abstract data provided it implements IPersistentEvaluationData. Data is stored in buckets that is keyed on either the track (ie, accessible from all child templates/sections), or section (only accessible within the section) Type-safety (through the templated methods) is the responsibility of the user. There should only ever be 1 type of data for each section/track association.

Constructor & Destructor Documentation

◆ FPersistentEvaluationData() [1/2]

FPersistentEvaluationData::FPersistentEvaluationData ( IMovieScenePlayer InPlayer)

Proxy constructor from 2 externally owned maps for entity, and shared data

◆ FPersistentEvaluationData() [2/2]

FPersistentEvaluationData::FPersistentEvaluationData ( const FPersistentEvaluationData )
delete

Member Function Documentation

◆ Add()

template<typename T >
T & FPersistentEvaluationData::Add ( const FSharedPersistentDataKey InKey)
inline

◆ AddSectionData()

template<typename T >
T & FPersistentEvaluationData::AddSectionData ( )
inline

◆ AddTrackData()

template<typename T >
T & FPersistentEvaluationData::AddTrackData ( )
inline

◆ DeriveSectionKey()

const FMovieSceneEvaluationKey & FPersistentEvaluationData::DeriveSectionKey ( uint32  InSectionIdentifier) const
inline

Set the current section based off the current track with the specified section identifier

◆ Find() [1/2]

template<typename T >
T * FPersistentEvaluationData::Find ( const FSharedPersistentDataKey InKey)
inline

◆ Find() [2/2]

template<typename T >
const T * FPersistentEvaluationData::Find ( const FSharedPersistentDataKey InKey) const
inline

◆ FindInstanceData()

template<typename T >
const T * FPersistentEvaluationData::FindInstanceData ( ) const
inline

Find the current sequence's instance data as the templated type, provided its type matches

◆ FindSectionData()

template<typename T >
T * FPersistentEvaluationData::FindSectionData ( ) const
inline

◆ FindTrackData() [1/2]

template<typename T >
T * FPersistentEvaluationData::FindTrackData ( )
inline

◆ FindTrackData() [2/2]

template<typename T >
T * FPersistentEvaluationData::FindTrackData ( ) const
inline

◆ Get() [1/2]

template<typename T >
T & FPersistentEvaluationData::Get ( const FSharedPersistentDataKey InKey)
inline

◆ Get() [2/2]

template<typename T >
const T & FPersistentEvaluationData::Get ( const FSharedPersistentDataKey InKey) const
inline

◆ GetInstanceData()

const FMovieSceneSequenceInstanceData * FPersistentEvaluationData::GetInstanceData ( ) const

Get the raw instance data for the current sequence

◆ GetMovieScenePlayer()

IMovieScenePlayer & FPersistentEvaluationData::GetMovieScenePlayer ( ) const
inline

Get the player

◆ GetOrAdd()

template<typename T >
T & FPersistentEvaluationData::GetOrAdd ( const FSharedPersistentDataKey InKey)
inline

User accessor functions for shared data keys

◆ GetOrAddSectionData()

template<typename T >
T & FPersistentEvaluationData::GetOrAddSectionData ( )
inline

User accessor functions for persistent data relating to the current section

◆ GetOrAddTrackData()

template<typename T >
T & FPersistentEvaluationData::GetOrAddTrackData ( )
inline

User accessor functions for persistent data relating to the current track

◆ GetSectionData()

template<typename T >
T & FPersistentEvaluationData::GetSectionData ( ) const
inline

~ Section data access is considered const as it can only ever be accessed from a single template (it can do whatever it likes with its own data)

◆ GetSectionKey()

const FMovieSceneEvaluationKey & FPersistentEvaluationData::GetSectionKey ( ) const
inline

Get the currently set section key (ie the section we're currently evaluating)

◆ GetTrackData() [1/2]

template<typename T >
T & FPersistentEvaluationData::GetTrackData ( )
inline

◆ GetTrackData() [2/2]

template<typename T >
T & FPersistentEvaluationData::GetTrackData ( ) const
inline

~ Section data access is considered const as it can only ever be accessed from a single template (it can do whatever it likes with its own data)

◆ GetTrackKey()

const FMovieSceneEvaluationKey & FPersistentEvaluationData::GetTrackKey ( ) const
inline

Get the currently set track key (ie the track we're currently evaluating)

◆ operator=()

FPersistentEvaluationData & FPersistentEvaluationData::operator= ( const FPersistentEvaluationData )
delete

◆ Reset()

void FPersistentEvaluationData::Reset ( const FSharedPersistentDataKey InKey)
inline

◆ ResetSectionData()

void FPersistentEvaluationData::ResetSectionData ( )
inline

◆ ResetTrackData()

void FPersistentEvaluationData::ResetTrackData ( )
inline

◆ SetSectionKey()

void FPersistentEvaluationData::SetSectionKey ( const FMovieSceneEvaluationKey Key) const
inline

Set the current section

◆ SetTrackKey()

void FPersistentEvaluationData::SetTrackKey ( const FMovieSceneEvaluationKey Key) const
inline

Set the current track


The documentation for this struct was generated from the following files: