UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
UE::MovieScene::TPropertyValueStorage< PropertyTraits > Struct Template Reference

#include <MovieSceneInitialValueCache.h>

+ Inheritance diagram for UE::MovieScene::TPropertyValueStorage< PropertyTraits >:

Public Types

using StorageType = typename PropertyTraits::StorageType
 

Public Member Functions

virtual void Reset (TArrayView< const FInitialValueIndex > Indices) override
 
FInitialValueIndex AddInitialValue (UObject *BoundObject, const StorageType &InValue, uint16 ResolvedPropertyOffset)
 
FInitialValueIndex AddInitialValue (UObject *BoundObject, const StorageType &InValue, FCustomPropertyIndex AccessorIndex)
 
FInitialValueIndex AddInitialValue (UObject *BoundObject, const StorageType &InValue, FTrackInstancePropertyBindings *SlowBindings)
 
FInitialValueIndex AddInitialValue (UObject *BoundObject, const StorageType &InValue, const FName &PropertyPath)
 
TOptional< FInitialValueIndexFindPropertyIndex (UObject *BoundObject, uint16 ResolvedPropertyOffset)
 
TOptional< FInitialValueIndexFindPropertyIndex (UObject *BoundObject, FCustomPropertyIndex AccessorIndex)
 
TOptional< FInitialValueIndexFindPropertyIndex (UObject *BoundObject, const FName &PropertyPath)
 
const StorageTypeFindCachedValue (UObject *BoundObject, uint16 ResolvedPropertyOffset)
 
const StorageTypeFindCachedValue (UObject *BoundObject, FCustomPropertyIndex CustomIndex)
 
const StorageTypeFindCachedValue (UObject *BoundObject, const FName &PropertyPath)
 
const StorageTypeGetCachedValue (FInitialValueIndex Index)
 
- Public Member Functions inherited from UE::MovieScene::IPropertyValueStorage
virtual ~IPropertyValueStorage ()
 

Detailed Description

template<typename PropertyTraits>
struct UE::MovieScene::TPropertyValueStorage< PropertyTraits >

Templated storage for any initial value type, templated on the same parameter as TPropertyComponents for correct retrieval of resolved properties Initial values are stored as a sparse array, with stable indices that uniquely identify the value. A look-up-table exists for finding indices based on an object and resolved property.

Member Typedef Documentation

◆ StorageType

template<typename PropertyTraits >
using UE::MovieScene::TPropertyValueStorage< PropertyTraits >::StorageType = typename PropertyTraits::StorageType

Member Function Documentation

◆ AddInitialValue() [1/4]

template<typename PropertyTraits >
FInitialValueIndex UE::MovieScene::TPropertyValueStorage< PropertyTraits >::AddInitialValue ( UObject BoundObject,
const StorageType InValue,
const FName PropertyPath 
)
inline

Add a cached value for the specified object and a propertypath, returning a unique index for the value

Note
: Value must not have been cached previously - doing so will result in a failed assertion
Parameters
BoundObjectThe object instance to cache the property from.
InValueThe value to cache
PropertyPathThe path of the property
Returns
A tuple containing the cached value and its index

◆ AddInitialValue() [2/4]

template<typename PropertyTraits >
FInitialValueIndex UE::MovieScene::TPropertyValueStorage< PropertyTraits >::AddInitialValue ( UObject BoundObject,
const StorageType InValue,
FCustomPropertyIndex  AccessorIndex 
)
inline

Add a cached value for the specified object and a custom property accessor, returning a unique index for the value

Note
: Value must not have been cached previously - doing so will result in a failed assertion
Parameters
BoundObjectThe object instance to cache the property from.
InValueThe value to cache
AccessorIndexThe index into ICustomPropertyRegistration::GetAccessors to use for resolving the property
Returns
A tuple containing the cached value and its index

◆ AddInitialValue() [3/4]

template<typename PropertyTraits >
FInitialValueIndex UE::MovieScene::TPropertyValueStorage< PropertyTraits >::AddInitialValue ( UObject BoundObject,
const StorageType InValue,
FTrackInstancePropertyBindings SlowBindings 
)
inline

Add a cached value for the specified object and a slow bindings instance, returning a unique index for the value

Note
: Value must not have been cached previously - doing so will result in a failed assertion
Parameters
BoundObjectThe object instance to cache the property from.
InValueThe value to cache
SlowBindingsPointer to the track instance property bindings object used for retrieving the property value
Returns
A tuple containing the cached value and its index

◆ AddInitialValue() [4/4]

template<typename PropertyTraits >
FInitialValueIndex UE::MovieScene::TPropertyValueStorage< PropertyTraits >::AddInitialValue ( UObject BoundObject,
const StorageType InValue,
uint16  ResolvedPropertyOffset 
)
inline

Add a cached value for the specified object and fast property ptr offset, returning a unique index for the value

Note
: Value must not have been cached previously - doing so will result in a failed assertion
Parameters
BoundObjectThe object instance to cache the property from
InValueThe value to cache
ResolvedPropertyOffsetThe byte offset from BoundObject that defines the address of the property
Returns
A tuple containing the cached value and its index

◆ FindCachedValue() [1/3]

template<typename PropertyTraits >
const StorageType * UE::MovieScene::TPropertyValueStorage< PropertyTraits >::FindCachedValue ( UObject BoundObject,
const FName PropertyPath 
)
inline

Find an initial value given its object and property name.

Note
: Only properties cached using a FTrackInstancePropertyBindings instance will be retrieved using this method.

◆ FindCachedValue() [2/3]

template<typename PropertyTraits >
const StorageType * UE::MovieScene::TPropertyValueStorage< PropertyTraits >::FindCachedValue ( UObject BoundObject,
FCustomPropertyIndex  CustomIndex 
)
inline

Find an initial value given its object and custom accessor index

◆ FindCachedValue() [3/3]

template<typename PropertyTraits >
const StorageType * UE::MovieScene::TPropertyValueStorage< PropertyTraits >::FindCachedValue ( UObject BoundObject,
uint16  ResolvedPropertyOffset 
)
inline

Find an initial value given its object and property name.

◆ FindPropertyIndex() [1/3]

template<typename PropertyTraits >
TOptional< FInitialValueIndex > UE::MovieScene::TPropertyValueStorage< PropertyTraits >::FindPropertyIndex ( UObject BoundObject,
const FName PropertyPath 
)
inline

Find an initial value index given its object and property name.

Note
: Only properties cached using a FTrackInstancePropertyBindings instance will be retrieved using this method.

◆ FindPropertyIndex() [2/3]

template<typename PropertyTraits >
TOptional< FInitialValueIndex > UE::MovieScene::TPropertyValueStorage< PropertyTraits >::FindPropertyIndex ( UObject BoundObject,
FCustomPropertyIndex  AccessorIndex 
)
inline

Find an initial value index given its object and custom accessor index

◆ FindPropertyIndex() [3/3]

template<typename PropertyTraits >
TOptional< FInitialValueIndex > UE::MovieScene::TPropertyValueStorage< PropertyTraits >::FindPropertyIndex ( UObject BoundObject,
uint16  ResolvedPropertyOffset 
)
inline

Find an initial value index given its object and fast ptr offset

◆ GetCachedValue()

template<typename PropertyTraits >
const StorageType & UE::MovieScene::TPropertyValueStorage< PropertyTraits >::GetCachedValue ( FInitialValueIndex  Index)
inline

Find an initial value given its object and property name.

Note
: Only properties cached using a FTrackInstancePropertyBindings instance will be retrieved using this method.

◆ Reset()

template<typename PropertyTraits >
virtual void UE::MovieScene::TPropertyValueStorage< PropertyTraits >::Reset ( TArrayView< const FInitialValueIndex Indices)
inlineoverridevirtual

Reset all the initial values that relate to the specified indices

Parameters
IndicesA array specifying all of the indices to remove. Such indices will be invalid after this function call returns.

Implements UE::MovieScene::IPropertyValueStorage.


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