UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
UE::MovieScene::TPropertyComponentHandlerImpl< PropertyTraits, TPropertyMetaData< MetaDataTypes... >, TIntegerSequence< int, MetaDataIndices... >, TIntegerSequence< int, CompositeIndices... >, CompositeTypes... > Struct Template Reference

#include <MovieScenePropertyComponentHandler.h>

+ Inheritance diagram for UE::MovieScene::TPropertyComponentHandlerImpl< PropertyTraits, TPropertyMetaData< MetaDataTypes... >, TIntegerSequence< int, MetaDataIndices... >, TIntegerSequence< int, CompositeIndices... >, CompositeTypes... >:

Public Types

using StorageType = typename PropertyTraits::StorageType
 
using CompleteSetterTask = std::conditional_t< bIsComposite, TSetCompositePropertyValues< PropertyTraits, CompositeTypes... >, TSetPropertyValues< PropertyTraits > >
 
using PreAnimatedStorageType = TPreAnimatedPropertyStorage< PropertyTraits >
 

Public Member Functions

 TPropertyComponentHandlerImpl ()
 
virtual bool SupportsProperty (const FPropertyDefinition &Definition, const FProperty &InProperty) const override
 
virtual FIntermediatePropertyValue CoercePropertyValue (const FPropertyDefinition &Definition, const FProperty &InProperty, const FSourcePropertyValue &InPropertyValue) const override
 
virtual void UnpackChannels (const FPropertyDefinition &Definition, const FProperty &Property, const FIntermediatePropertyValueConstRef &Value, FUnpackedChannelValues &OutUnpackedValues) const override
 
virtual TSharedPtr< IPreAnimatedStorageGetPreAnimatedStateStorage (const FPropertyDefinition &Definition, FPreAnimatedStateExtension *Container) override
 
virtual void ScheduleSetterTasks (const FPropertyDefinition &Definition, TArrayView< const FPropertyCompositeDefinition > Composites, const FPropertyStats &Stats, IEntitySystemScheduler *TaskScheduler, UMovieSceneEntitySystemLinker *Linker)
 
void ScheduleSetterTasksImpl (const FPropertyDefinition &Definition, TArrayView< const FPropertyCompositeDefinition > Composites, const FPropertyStats &Stats, IEntitySystemScheduler *TaskScheduler, UMovieSceneEntitySystemLinker *Linker, const FEntityComponentFilter &AdditionalFilter)
 
virtual void DispatchSetterTasks (const FPropertyDefinition &Definition, TArrayView< const FPropertyCompositeDefinition > Composites, const FPropertyStats &Stats, FSystemTaskPrerequisites &InPrerequisites, FSystemSubsequentTasks &Subsequents, UMovieSceneEntitySystemLinker *Linker)
 
virtual TSharedPtr< IInitialValueProcessorMakeInitialValueProcessor (const FPropertyDefinition &Definition) override
 
virtual void RecomposeBlendOperational (const FPropertyDefinition &PropertyDefinition, TArrayView< const FPropertyCompositeDefinition > Composites, const FValueDecompositionParams &InParams, UMovieSceneBlenderSystem *Blender, const FIntermediatePropertyValueConstRef &InCurrentValue, TArrayView< FIntermediatePropertyValue > OutResult) override
 
void RecomposeBlendImpl (const FPropertyDefinition &PropertyDefinition, TArrayView< const FPropertyCompositeDefinition > Composites, const FValueDecompositionParams &InParams, UMovieSceneBlenderSystem *Blender, const StorageType &InCurrentValue, TArrayView< FIntermediatePropertyValue > OutResults)
 
virtual void RecomposeBlendChannel (const FPropertyDefinition &PropertyDefinition, TArrayView< const FPropertyCompositeDefinition > Composites, int32 CompositeIndex, const FValueDecompositionParams &InParams, UMovieSceneBlenderSystem *Blender, double InCurrentValue, TArrayView< double > OutResults) override
 
virtual void RebuildOperational (const FPropertyDefinition &PropertyDefinition, TArrayView< const FPropertyCompositeDefinition > Composites, const TArrayView< FMovieSceneEntityID > &EntityIDs, UMovieSceneEntitySystemLinker *Linker, FPropertyComponentArrayView OutResult) override
 
- Public Member Functions inherited from UE::MovieScene::IPropertyComponentHandler
virtual ~IPropertyComponentHandler ()
 
virtual void DispatchInitializePropertyMetaDataTasks (const FPropertyDefinition &Definition, FSystemTaskPrerequisites &InPrerequisites, FSystemSubsequentTasks &Subsequents, UMovieSceneEntitySystemLinker *Linker)
 

Public Attributes

TAutoRegisterPreAnimatedStorageID< PreAnimatedStorageTypeStorageID
 

Static Public Attributes

static constexpr bool bIsComposite = IsCompositePropertyTraits((PropertyTraits*)nullptr)
 

Member Typedef Documentation

◆ CompleteSetterTask

template<typename PropertyTraits , typename ... MetaDataTypes, int ... MetaDataIndices, typename ... CompositeTypes, int ... CompositeIndices>
using UE::MovieScene::TPropertyComponentHandlerImpl< PropertyTraits, TPropertyMetaData< MetaDataTypes... >, TIntegerSequence< int, MetaDataIndices... >, TIntegerSequence< int, CompositeIndices... >, CompositeTypes... >::CompleteSetterTask = std::conditional_t<bIsComposite, TSetCompositePropertyValues<PropertyTraits, CompositeTypes...>, TSetPropertyValues<PropertyTraits> >

◆ PreAnimatedStorageType

template<typename PropertyTraits , typename ... MetaDataTypes, int ... MetaDataIndices, typename ... CompositeTypes, int ... CompositeIndices>
using UE::MovieScene::TPropertyComponentHandlerImpl< PropertyTraits, TPropertyMetaData< MetaDataTypes... >, TIntegerSequence< int, MetaDataIndices... >, TIntegerSequence< int, CompositeIndices... >, CompositeTypes... >::PreAnimatedStorageType = TPreAnimatedPropertyStorage<PropertyTraits>

◆ StorageType

template<typename PropertyTraits , typename ... MetaDataTypes, int ... MetaDataIndices, typename ... CompositeTypes, int ... CompositeIndices>
using UE::MovieScene::TPropertyComponentHandlerImpl< PropertyTraits, TPropertyMetaData< MetaDataTypes... >, TIntegerSequence< int, MetaDataIndices... >, TIntegerSequence< int, CompositeIndices... >, CompositeTypes... >::StorageType = typename PropertyTraits::StorageType

Constructor & Destructor Documentation

◆ TPropertyComponentHandlerImpl()

template<typename PropertyTraits , typename ... MetaDataTypes, int ... MetaDataIndices, typename ... CompositeTypes, int ... CompositeIndices>
UE::MovieScene::TPropertyComponentHandlerImpl< PropertyTraits, TPropertyMetaData< MetaDataTypes... >, TIntegerSequence< int, MetaDataIndices... >, TIntegerSequence< int, CompositeIndices... >, CompositeTypes... >::TPropertyComponentHandlerImpl ( )
inline

Member Function Documentation

◆ CoercePropertyValue()

template<typename PropertyTraits , typename ... MetaDataTypes, int ... MetaDataIndices, typename ... CompositeTypes, int ... CompositeIndices>
virtual FIntermediatePropertyValue UE::MovieScene::TPropertyComponentHandlerImpl< PropertyTraits, TPropertyMetaData< MetaDataTypes... >, TIntegerSequence< int, MetaDataIndices... >, TIntegerSequence< int, CompositeIndices... >, CompositeTypes... >::CoercePropertyValue ( const FPropertyDefinition Definition,
const FProperty InProperty,
const FSourcePropertyValue InPropertyValue 
) const
inlineoverridevirtual

◆ DispatchSetterTasks()

template<typename PropertyTraits , typename ... MetaDataTypes, int ... MetaDataIndices, typename ... CompositeTypes, int ... CompositeIndices>
virtual void UE::MovieScene::TPropertyComponentHandlerImpl< PropertyTraits, TPropertyMetaData< MetaDataTypes... >, TIntegerSequence< int, MetaDataIndices... >, TIntegerSequence< int, CompositeIndices... >, CompositeTypes... >::DispatchSetterTasks ( const FPropertyDefinition Definition,
TArrayView< const FPropertyCompositeDefinition Composites,
const FPropertyStats Stats,
FSystemTaskPrerequisites InPrerequisites,
FSystemSubsequentTasks Subsequents,
UMovieSceneEntitySystemLinker Linker 
)
inlinevirtual

◆ GetPreAnimatedStateStorage()

template<typename PropertyTraits , typename ... MetaDataTypes, int ... MetaDataIndices, typename ... CompositeTypes, int ... CompositeIndices>
virtual TSharedPtr< IPreAnimatedStorage > UE::MovieScene::TPropertyComponentHandlerImpl< PropertyTraits, TPropertyMetaData< MetaDataTypes... >, TIntegerSequence< int, MetaDataIndices... >, TIntegerSequence< int, CompositeIndices... >, CompositeTypes... >::GetPreAnimatedStateStorage ( const FPropertyDefinition Definition,
FPreAnimatedStateExtension Container 
)
inlineoverridevirtual

Retrieve the pre-animated storage for the property that this handler represents

Parameters
DefinitionThe property definition this handler was registered for
ContainerThe Pre-Animated state container extension that owns all pre-anim state for this evaluation

Reimplemented from UE::MovieScene::IPropertyComponentHandler.

◆ MakeInitialValueProcessor()

template<typename PropertyTraits , typename ... MetaDataTypes, int ... MetaDataIndices, typename ... CompositeTypes, int ... CompositeIndices>
virtual TSharedPtr< IInitialValueProcessor > UE::MovieScene::TPropertyComponentHandlerImpl< PropertyTraits, TPropertyMetaData< MetaDataTypes... >, TIntegerSequence< int, MetaDataIndices... >, TIntegerSequence< int, CompositeIndices... >, CompositeTypes... >::MakeInitialValueProcessor ( const FPropertyDefinition Definition)
inlineoverridevirtual

Retrieve an initial value processor interface for this property type

Implements UE::MovieScene::IPropertyComponentHandler.

◆ RebuildOperational()

template<typename PropertyTraits , typename ... MetaDataTypes, int ... MetaDataIndices, typename ... CompositeTypes, int ... CompositeIndices>
virtual void UE::MovieScene::TPropertyComponentHandlerImpl< PropertyTraits, TPropertyMetaData< MetaDataTypes... >, TIntegerSequence< int, MetaDataIndices... >, TIntegerSequence< int, CompositeIndices... >, CompositeTypes... >::RebuildOperational ( const FPropertyDefinition Definition,
TArrayView< const FPropertyCompositeDefinition Composites,
const TArrayView< FMovieSceneEntityID > &  EntityIDs,
UMovieSceneEntitySystemLinker Linker,
FPropertyComponentArrayView  OutResult 
)
inlineoverridevirtual

Rebuild operational values from the given entities. These entities are expected to store the value type's composite values.

Parameters
DefinitionThe property definition this handler was registered for
CompositesThe composite channels that this property type comproses
EntityIDsThe entities on which the composite values will be found
LinkerThe linker that owns the entity manager where the entities live
OutResultThe result to receieve rebuilt values, one for every entitiy in EntityIDs. Must be of type StorageType.

Implements UE::MovieScene::IPropertyComponentHandler.

◆ RecomposeBlendChannel()

template<typename PropertyTraits , typename ... MetaDataTypes, int ... MetaDataIndices, typename ... CompositeTypes, int ... CompositeIndices>
virtual void UE::MovieScene::TPropertyComponentHandlerImpl< PropertyTraits, TPropertyMetaData< MetaDataTypes... >, TIntegerSequence< int, MetaDataIndices... >, TIntegerSequence< int, CompositeIndices... >, CompositeTypes... >::RecomposeBlendChannel ( const FPropertyDefinition Definition,
TArrayView< const FPropertyCompositeDefinition Composites,
int32  CompositeIndex,
const FValueDecompositionParams Params,
UMovieSceneBlenderSystem Blender,
double  InCurrentValue,
TArrayView< double OutResults 
)
inlineoverridevirtual

Run a recomposition using the specified params and values.

Parameters
DefinitionThe property definition this handler was registered for
CompositeThe composite channel of the property type that we want to decompose
ParamsThe decomposition parameters
BlenderThe blender system to recompose from
InCurrentValueThe current value (of type StorageType) to recompose using. For instance, if a property comprises 3 additive values (a:1, b:2, c:3), and we recompose 'a' with an InCurrentValue of 10, the result for 'a' would be 5.
OutResultsThe result to receieve recomposed values, one for every entitiy in Params.Query.Entities.

Implements UE::MovieScene::IPropertyComponentHandler.

◆ RecomposeBlendImpl()

template<typename PropertyTraits , typename ... MetaDataTypes, int ... MetaDataIndices, typename ... CompositeTypes, int ... CompositeIndices>
void UE::MovieScene::TPropertyComponentHandlerImpl< PropertyTraits, TPropertyMetaData< MetaDataTypes... >, TIntegerSequence< int, MetaDataIndices... >, TIntegerSequence< int, CompositeIndices... >, CompositeTypes... >::RecomposeBlendImpl ( const FPropertyDefinition PropertyDefinition,
TArrayView< const FPropertyCompositeDefinition Composites,
const FValueDecompositionParams InParams,
UMovieSceneBlenderSystem Blender,
const StorageType InCurrentValue,
TArrayView< FIntermediatePropertyValue OutResults 
)
inline

◆ RecomposeBlendOperational()

template<typename PropertyTraits , typename ... MetaDataTypes, int ... MetaDataIndices, typename ... CompositeTypes, int ... CompositeIndices>
virtual void UE::MovieScene::TPropertyComponentHandlerImpl< PropertyTraits, TPropertyMetaData< MetaDataTypes... >, TIntegerSequence< int, MetaDataIndices... >, TIntegerSequence< int, CompositeIndices... >, CompositeTypes... >::RecomposeBlendOperational ( const FPropertyDefinition Definition,
TArrayView< const FPropertyCompositeDefinition Composites,
const FValueDecompositionParams Params,
UMovieSceneBlenderSystem Blender,
const FIntermediatePropertyValueConstRef InCurrentValue,
TArrayView< FIntermediatePropertyValue OutResult 
)
inlineoverridevirtual

Run a recomposition using the specified params and values. The current value and result views must be of type StorageType

Parameters
DefinitionThe property definition this handler was registered for
CompositesThe composite channels that this property type comprises
ParamsThe decomposition parameters
BlenderThe blender system to recompose from
InCurrentValueThe current value (of type StorageType) to recompose using. For instance, if a property comprises 3 additive values (a:1, b:2, c:3), and we recompose 'a' with an InCurrentValue of 10, the result for 'a' would be 5.
OutResultThe result to receieve recomposed values, one for every entitiy in Params.Query.Entities. Must be of type StorageType.

Implements UE::MovieScene::IPropertyComponentHandler.

◆ ScheduleSetterTasks()

template<typename PropertyTraits , typename ... MetaDataTypes, int ... MetaDataIndices, typename ... CompositeTypes, int ... CompositeIndices>
virtual void UE::MovieScene::TPropertyComponentHandlerImpl< PropertyTraits, TPropertyMetaData< MetaDataTypes... >, TIntegerSequence< int, MetaDataIndices... >, TIntegerSequence< int, CompositeIndices... >, CompositeTypes... >::ScheduleSetterTasks ( const FPropertyDefinition Definition,
TArrayView< const FPropertyCompositeDefinition Composites,
const FPropertyStats Stats,
IEntitySystemScheduler TaskScheduler,
UMovieSceneEntitySystemLinker Linker 
)
inlinevirtual

Dispatch tasks that apply any entity that matches this property type to their final values

Parameters
DefinitionThe property definition this handler was registered for
CompositesThe composite channels that this property type comprises
StatsStats pertaining to the entities that currently exist in the entity manager
InPrerequisitesTask prerequisites for any entity system tasks that are dispatched
SubsequentsSubsequents to add any dispatched tasks to
LinkerThe linker that owns the entity manager to dispatch tasks for

Implements UE::MovieScene::IPropertyComponentHandler.

◆ ScheduleSetterTasksImpl()

template<typename PropertyTraits , typename ... MetaDataTypes, int ... MetaDataIndices, typename ... CompositeTypes, int ... CompositeIndices>
void UE::MovieScene::TPropertyComponentHandlerImpl< PropertyTraits, TPropertyMetaData< MetaDataTypes... >, TIntegerSequence< int, MetaDataIndices... >, TIntegerSequence< int, CompositeIndices... >, CompositeTypes... >::ScheduleSetterTasksImpl ( const FPropertyDefinition Definition,
TArrayView< const FPropertyCompositeDefinition Composites,
const FPropertyStats Stats,
IEntitySystemScheduler TaskScheduler,
UMovieSceneEntitySystemLinker Linker,
const FEntityComponentFilter AdditionalFilter 
)
inline

◆ SupportsProperty()

template<typename PropertyTraits , typename ... MetaDataTypes, int ... MetaDataIndices, typename ... CompositeTypes, int ... CompositeIndices>
virtual bool UE::MovieScene::TPropertyComponentHandlerImpl< PropertyTraits, TPropertyMetaData< MetaDataTypes... >, TIntegerSequence< int, MetaDataIndices... >, TIntegerSequence< int, CompositeIndices... >, CompositeTypes... >::SupportsProperty ( const FPropertyDefinition Definition,
const FProperty InProperty 
) const
inlineoverridevirtual

◆ UnpackChannels()

template<typename PropertyTraits , typename ... MetaDataTypes, int ... MetaDataIndices, typename ... CompositeTypes, int ... CompositeIndices>
virtual void UE::MovieScene::TPropertyComponentHandlerImpl< PropertyTraits, TPropertyMetaData< MetaDataTypes... >, TIntegerSequence< int, MetaDataIndices... >, TIntegerSequence< int, CompositeIndices... >, CompositeTypes... >::UnpackChannels ( const FPropertyDefinition Definition,
const FProperty Property,
const FIntermediatePropertyValueConstRef Value,
FUnpackedChannelValues OutUnpackedValues 
) const
inlineoverridevirtual

Member Data Documentation

◆ bIsComposite

template<typename PropertyTraits , typename ... MetaDataTypes, int ... MetaDataIndices, typename ... CompositeTypes, int ... CompositeIndices>
constexpr bool UE::MovieScene::TPropertyComponentHandlerImpl< PropertyTraits, TPropertyMetaData< MetaDataTypes... >, TIntegerSequence< int, MetaDataIndices... >, TIntegerSequence< int, CompositeIndices... >, CompositeTypes... >::bIsComposite = IsCompositePropertyTraits((PropertyTraits*)nullptr)
staticconstexpr

◆ StorageID

template<typename PropertyTraits , typename ... MetaDataTypes, int ... MetaDataIndices, typename ... CompositeTypes, int ... CompositeIndices>
TAutoRegisterPreAnimatedStorageID<PreAnimatedStorageType> UE::MovieScene::TPropertyComponentHandlerImpl< PropertyTraits, TPropertyMetaData< MetaDataTypes... >, TIntegerSequence< int, MetaDataIndices... >, TIntegerSequence< int, CompositeIndices... >, CompositeTypes... >::StorageID

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