Kanzi  3.9.4
Kanzi Engine API
kanzi::AnimationPlayer Class Reference

Use the Animation Player to play back an animation timeline that you set using the TimelineProperty property in that Animation Player. More...

#include <kanzi/ui/node_component/animation/animation_player.hpp>

Inheritance diagram for kanzi::AnimationPlayer:
[legend]

Classes

class  CompletedMessageArguments
 Message arguments for the Completed message. More...
 
class  PauseMessageArguments
 Message arguments for the Pause message. More...
 
class  PlayMessageArguments
 Message arguments for the Play message. More...
 
class  ResumeMessageArguments
 Message arguments for the Resume message. More...
 
class  StartedMessageArguments
 Message arguments for the Started message. More...
 
class  StopMessageArguments
 Message arguments for the Stop message. More...
 
class  StoppedMessageArguments
 Message arguments for the Stopped message. More...
 

Public Member Functions

float getDurationScale () const
 Gets the value of the DurationScaleProperty property. More...
 
Timeline::DirectionBehavior getPlaybackMode () const
 Gets the value of the PlaybackModeProperty property. More...
 
int getRepeatCount () const
 Gets the value of the RepeatCountProperty property. More...
 
TimelineSharedPtr getTimeline () const
 Gets the animation timeline from the TimelineProperty property of an Animation Player. More...
 
TimelinePlaybackSharedPtr getTimelinePlayback () const
 Gets the timeline playback made for the timeline. More...
 
bool isAutoplayEnabled () const
 Gets the value of the AutoplayEnabledProperty property. More...
 
bool isRelativePlayback () const
 Gets the value of the RelativePlaybackProperty property. More...
 
bool isRestoreOriginalValuesAfterPlayback () const
 Gets the values of the RestoreOriginalValuesAfterPlaybackProperty property. More...
 
void pause ()
 Pauses running playback. If the playback is already paused or stopped, does nothing. More...
 
void resume ()
 Resumes playing a paused timeline. If the playback is stopped, starts playing the timeline from the beginning. More...
 
void setAutoplayEnabled (bool enabled)
 Sets the value of the AutoplayEnabledProperty property of an Animation Player. More...
 
void setDurationScale (float durationScale)
 Sets the value of the DurationScaleProperty property. More...
 
void setPlaybackMode (Timeline::DirectionBehavior mode)
 Sets the value of the PlaybackModeProperty property. More...
 
void setRelativePlayback (bool relativePlayback)
 Sets the value of the RelativePlaybackProperty property. More...
 
void setRepeatCount (int repeatCount)
 Sets the value of the RepeatCountProperty property. More...
 
void setRestoreOriginalValuesAfterPlayback (bool restore)
 Sets the values of the RestoreOriginalValuesAfterPlaybackProperty property. More...
 
void setTimeline (TimelineSharedPtr animationTimeline)
 Sets the TimelineProperty property of an Animation Player to the animation timeline that you pass in this method. More...
 
void start (Timeline::DirectionBehavior direction, float durationScale, unsigned int repeatCount)
 Starts a new playback from the state of any animation player. More...
 
void stop ()
 Stops running or paused playback. More...
 
- Public Member Functions inherited from kanzi::NodeComponent
void attach (NodeWeakPtr node)
 Attaches node component to node. More...
 
void detach ()
 Detaches node component from the node it was attached to. More...
 
string getName () const
 Gets the name of node component. More...
 
NodeSharedPtr getNode () const
 Returns the node the node component is attached to or null pointer if node component is not attached to a node. More...
 
State getState () const
 Gets the state of node component indicating if component is attached to a node, detached from any node or in process of attaching/detaching. More...
 
bool isAttached () const
 Indicates whether node component is attached to a node. More...
 
bool isAttaching () const
 Indicates whether node component is in the process of attaching to a node. More...
 
bool isAttachingOrAttached () const
 Indicates whether node component is in the process of attaching to a node or already attached. More...
 
bool isDetached () const
 Indicates whether node component is detached from any node. More...
 
bool isDetaching () const
 Indicates whether node component currently detaching from the node. More...
 
bool isDetachingOrDetached () const
 Indicates whether node component is in the process of detaching from the node or already detached. More...
 
void setName (string_view name)
 Sets the name of node component. More...
 
 ~NodeComponent () override
 Destructor. More...
 
- Public Member Functions inherited from kanzi::Object
AppliedStyleEntrySharedPtr applyObjectStyle (kanzi::StyleSharedPtr style)
 Applies a style to an object. More...
 
void applyObjectStyles ()
 Apply all styles for an object node. More...
 
DomaingetDomain () const
 Returns the domain the object belongs to. More...
 
const MetaclassgetDynamicMetaclass () const override
 Returns the metaclass of the dynamic type of the object. More...
 
MainLoopSchedulergetMainLoopScheduler () const
 Returns the MainLoopScheduler instance of the associated Domain. More...
 
detail::MessageDispatcher * getMessageDispatcher () const
 Returns the message dispatcher of the object. More...
 
ResourceManagergetResourceManager () const
 Returns the resource manager of the object. More...
 
ScriptingContextSharedPtr getScriptingContext () const
 Gets the scripting context of the object. More...
 
 Object (Domain *domain)
 
void setScriptingContext (ScriptingContextSharedPtr context)
 Sets the scripting context of the object. More...
 
void unapplyObjectStyle (AppliedStyleEntrySharedPtr appliedStyleEntry)
 
void unapplyObjectStyles ()
 Unapplies and removes all applied styles. More...
 
 ~Object () override
 
- Public Member Functions inherited from kanzi::MetaObject
bool isTypeOf (const Metaclass *objectType) const
 Determines if the type of this object is the given type or derived from it. More...
 
virtual ~MetaObject ()
 
- Public Member Functions inherited from kanzi::PropertyObject
template<typename DataType >
void addPropertyModifier (const PropertyType< DataType > &propertyType, typename PropertyType< DataType >::Descriptor::ModifierCallback callback, void *owner)
 
template<typename DataType >
void addPropertyNotificationHandler (const PropertyType< DataType > &propertyType, typename PropertyType< DataType >::Descriptor::NotificationCallback callback, void *owner)
 
template<typename DataType >
void addPropertyValueSource (const PropertyType< DataType > &propertyType, typename PropertyType< DataType >::Descriptor::TypedValueSource *valueSource, PropertyValuePrecedence precedence, void *ownerPointer)
 
template<typename DataType >
void addPropertyValueSource (const PropertyType< DataType > &propertyType, typename PropertyType< DataType >::Descriptor::TypedValueSource *valueSource, PropertyValuePrecedence precedence, AbstractPropertyTypeDescriptor::ValueSourceOwner *owner)
 
PropertyStorageContainer::iterator beginPropertyStorage ()
 Returns the begin iterator to the internal property storage container. More...
 
PropertyStorageContainer::const_iterator beginPropertyStorage () const
 Returns the begin iterator to the internal property storage container. More...
 
void clearPropertyFlag (AbstractPropertyType propertyType, uint32_t flag)
 
void copyLocalValue (const PropertyObject &other, AbstractPropertyType propertyType)
 Copies local value of single property from another object. More...
 
void copyLocalValues (const PropertyObject &other)
 Copies all local values from another object. More...
 
PropertyStorageContainer::iterator endPropertyStorage ()
 Returns the end iterator to the internal property storage container. More...
 
PropertyStorageContainer::const_iterator endPropertyStorage () const
 Returns the end iterator to the internal property storage container. More...
 
template<typename DataType >
PropertyType< DataType >::Traits::ReturnType getAbstractProperty (AbstractPropertyType abstractPropertyType) const
 
template<typename DataType >
PropertyType< DataType >::Traits::ReturnType getAbstractPropertyBase (AbstractPropertyType abstractPropertyType) const
 
template<typename DataType >
optional< typename PropertyType< DataType >::Traits::ReturnType > getOptionalAbstractProperty (AbstractPropertyType abstractPropertyType) const
 
template<typename DataType >
optional< typename PropertyType< DataType >::Traits::ReturnType > getOptionalProperty (const PropertyType< DataType > &propertyType) const
 Evaluates the property value in the same way as the overload above but does not default to the value in property metadata if there are no inputs to the property value. More...
 
template<typename DataType >
optional< typename PropertyType< DataType >::Traits::ReturnType > getOptionalPropertyBase (const PropertyType< DataType > &propertyType) const
 Returns the current value of a property disregarding modifiers, but does not default to the value in property metadata if there are no inputs to the property value. More...
 
template<typename DataType >
PropertyType< DataType >::Traits::ReturnType getProperty (const PropertyType< DataType > &propertyType) const
 Returns the current value of a property type. More...
 
template<typename DataType >
PropertyType< DataType >::Traits::ReturnType getPropertyBase (const PropertyType< DataType > &propertyType) const
 Returns the current value of a property disregarding modifiers. More...
 
template<typename DataType >
size_t getPropertyNotificationHandlerCount (const PropertyType< DataType > &propertyType) const
 Gets number of current notification handlers for given property type. More...
 
bool hasBaseValue (AbstractPropertyType propertyType) const
 Evaluates whether there are any inputs into the property value, disregarding modifiers. More...
 
bool hasLocalValue (AbstractPropertyType propertyType) const
 Evaluates whether there is a local value set for the property. More...
 
bool hasNonClassValue (AbstractPropertyType propertyType) const
 Evaluates whether there is a value of any precedence higher than class default value set for the property. More...
 
bool hasValue (AbstractPropertyType propertyType) const
 Evaluates whether there are any inputs into the property value. More...
 
bool isPropertyFlagSet (AbstractPropertyType propertyType, uint32_t flag) const
 
virtual void onPropertyChanged (AbstractPropertyType propertyType, PropertyNotificationReason reason)
 Virtual function to handle property change notifications. More...
 
 PropertyObject ()
 
void removeKzbProperties (flat_set< AbstractPropertyType > *keepProperties)
 Remove all KZB properties that are not included in a given set. More...
 
void removeKzbProperties ()
 Remove all KZB properties. More...
 
template<typename DataType >
void removeLocalPropertyValueSource (const PropertyType< DataType > &propertyType, typename PropertyType< DataType >::Descriptor::TypedValueSource *valueSource, void *ownerPointer)
 
void removeLocalValue (AbstractPropertyType propertyType)
 Removes the local value associated with the property. More...
 
template<typename DataType >
void removePropertyModifier (const PropertyType< DataType > &propertyType, typename PropertyType< DataType >::Descriptor::ModifierCallback callback, void *owner)
 
template<typename DataType >
void removePropertyNotificationHandler (const PropertyType< DataType > &propertyType, typename PropertyType< DataType >::Descriptor::NotificationCallback callback, void *owner)
 
template<typename DataType >
void removePropertyValueSource (const PropertyType< DataType > &propertyType, typename PropertyType< DataType >::Descriptor::TypedValueSource *valueSource, void *ownerPointer)
 
template<typename DataType >
void setAbstractProperty (AbstractPropertyType abstractPropertyType, typename PropertyType< DataType >::Traits::ParameterType value)
 
template<typename DataType >
void setProperty (const PropertyType< DataType > &propertyType, typename PropertyType< DataType >::Traits::ParameterType value)
 Sets the local value of a property type. More...
 
void setPropertyFlag (AbstractPropertyType propertyType, uint32_t flag)
 
void validatePropertyModifiers (AbstractPropertyType propertyType)
 
virtual ~PropertyObject ()
 

Static Public Member Functions

static AnimationPlayerSharedPtr create (Domain *domain, string_view name)
 Creates animation player. More...
 
static PropertyTypeEditorInfoSharedPtr makeEditorInfo ()
 Returns PropertyType editor info of animation player. More...
 
- Static Public Member Functions inherited from kanzi::NodeComponent
static PropertyTypeEditorInfoSharedPtr makeEditorInfo ()
 
- Static Public Member Functions inherited from kanzi::Object
static const MetaclassgetStaticMetaclass ()
 Returns the metaclass of Object class. More...
 
static PropertyTypeEditorInfoSharedPtr makeEditorInfo ()
 Default implementation that returns empty editor info. More...
 
- Static Public Member Functions inherited from kanzi::MetaObject
static const MetaclassgetStaticMetaclass ()
 Returns the metaclass of Object class. More...
 
static PropertyTypeEditorInfoSharedPtr makeEditorInfo ()
 Default implementation that returns empty editor info. More...
 

Static Public Attributes

static PropertyType< bool > AutoplayEnabledProperty
 Sets whether an Animation Player starts the playback of its animation timeline immediately after the player is attached to a node which is attached to the node tree. More...
 
static MessageType< CompletedMessageArgumentsCompletedMessage
 Completed message. More...
 
static PropertyType< float > DurationScaleProperty
 Sets the amount by which the duration of an animation timeline is scaled during its playback. More...
 
static MessageType< PauseMessageArgumentsPauseMessage
 Pause message. More...
 
static PropertyType< KzuTimeLineEntryPlaybackModePlaybackModeProperty
 Sets the mode of an animation timeline playback to either: More...
 
static MessageType< PlayMessageArgumentsPlayMessage
 Play message. More...
 
static PropertyType< bool > RelativePlaybackProperty
 Sets whether an Animation Player plays animation timelines in a relative manner by adding the animated value to the target property value instead of replacing the property value. More...
 
static PropertyType< int > RepeatCountProperty
 Sets how many times an animation timeline is played during its playback. More...
 
static PropertyType< bool > RestoreOriginalValuesAfterPlaybackProperty
 Sets whether animated properties return to their initial values after the playback of an animation timeline ends. More...
 
static MessageType< ResumeMessageArgumentsResumeMessage
 Resume message. More...
 
static MessageType< StartedMessageArgumentsStartedMessage
 Started message. More...
 
static MessageType< StopMessageArgumentsStopMessage
 Stop message. More...
 
static MessageType< StoppedMessageArgumentsStoppedMessage
 Stopped message. More...
 
static PropertyType< ResourceSharedPtrTimelineProperty
 Sets the animation timeline that an Animation Player plays after you attach it. More...
 
- Static Public Attributes inherited from kanzi::NodeComponent
static PropertyType< string > NameProperty
 Name property specifies the name of node component. More...
 

Protected Member Functions

 AnimationPlayer (Domain *domain, string_view name)
 Constructor. More...
 
void attachOverride () override
 NodeComponent::attachOverride() implementation. More...
 
void detachOverride () override
 NodeComponent::detachOverride() implementation. More...
 
void onPlaybackFinished (TimelinePlayback &timelinePlayback)
 Handler for finish timeline playback. More...
 
void pauseMessageHandler (PauseMessageArguments &messageArguments)
 Message handler for the PauseMessage message. More...
 
void playMessageHandler (PlayMessageArguments &messageArguments)
 Message handler for the PlayMessage message. More...
 
void resumeMessageHandler (ResumeMessageArguments &messageArguments)
 Message handler for the ResumeMessage message. More...
 
void stopMessageHandler (StopMessageArguments &messageArguments)
 Message handler for the StopMessage message. More...
 
- Protected Member Functions inherited from kanzi::NodeComponent
template<typename TMessageType , typename TClass , typename TMethod >
Node::MessageSubscriptionToken addNodeComponentMessageHandler (TMessageType &messageType, TClass *messageHandlerObject, TMethod method)
 Kanzi calls the message handler that you add using this function when the target name of the incoming message matches the name of this node component, or if the message is broadcast to all node components with an empty target name. More...
 
template<typename TMessageType >
Node::MessageSubscriptionToken addNodeComponentMessageHandler (TMessageType &messageType, typename TMessageType::FunctionType function)
 Kanzi calls the message handler that you add using this function when the target name of the incoming message matches the name of the node component, or if the message is broadcast to all node components with an empty target name. More...
 
void dispatchAbstractMessage (const AbstractMessageType &messageType, MessageArguments &messageArguments)
 Adds the name of the node component to the abstract message arguments and dispatches the message to the node of the node component. More...
 
template<typename TArgumentsType >
void dispatchMessage (const MessageType< TArgumentsType > &messageType, typename MessageType< TArgumentsType >::ArgumentsType &messageArguments)
 Adds the name of the node component to the message arguments and dispatches the message to the node of the node component. More...
 
 NodeComponent (Domain *domain, string_view name)
 Constructor. More...
 
void removeNodeComponentMessageFilter (Node::MessageSubscriptionToken subscriptionToken)
 Removes message handler added via addNodeComponentMessageHandler function. More...
 
- Protected Member Functions inherited from kanzi::Object
void initialize ()
 
void onCopy (const Object &other)
 
- Protected Member Functions inherited from kanzi::MetaObject
void initialize ()
 
 MetaObject ()
 
- Protected Member Functions inherited from kanzi::PropertyObject
AbstractPropertyTypeDescriptor::ValueSourceEntryacquireLocalValueSourceEntry (AbstractPropertyTypeDescriptor &descriptor, PropertyStoragePtr &propertyStorage)
 Acquires a local value source entry that is free for the assignment of a value. More...
 
AbstractPropertyTypeDescriptor::ModifierStorageacquireModifierStorage (AbstractPropertyTypeDescriptor &descriptor, AbstractPropertyTypeDescriptor::PropertyStorage &propertyStorage)
 
AbstractPropertyTypeDescriptor::NotificationStorageacquireNotificationStorage (AbstractPropertyTypeDescriptor &descriptor)
 
PropertyStoragePtr acquirePropertyStorage (AbstractPropertyTypeDescriptor &descriptor)
 
void addPropertyValueSource (AbstractPropertyTypeDescriptor &descriptor, AbstractPropertyTypeDescriptor::ValueSource *valueSource, PropertyValuePrecedence precedence, void *ownerPointer)
 Internally adds a property value source. More...
 
void addPropertyValueSource (AbstractPropertyTypeDescriptor &descriptor, AbstractPropertyTypeDescriptor::ValueSource *valueSource, PropertyValuePrecedence precedence, AbstractPropertyTypeDescriptor::ValueSourceOwner *owner)
 Internally adds a property value source. More...
 
AbstractPropertyTypeDescriptor::ValueSourceEntryconstructLocalValueSourceEntry (AbstractPropertyTypeDescriptor &descriptor, AbstractPropertyTypeDescriptor::PropertyStorage &propertyStorage)
 
PropertyStoragePtr constructPropertyStorage (AbstractPropertyTypeDescriptor &descriptor)
 
void copyLocalValue (const AbstractPropertyTypeDescriptor::PropertyStorage &otherPropertyStorage)
 Copy local value from property storage. More...
 
AbstractPropertyTypeDescriptor::ModifierStoragefindModifierStorage (AbstractPropertyTypeDescriptor &descriptor)
 
AbstractPropertyTypeDescriptor::NotificationStoragefindNotificationStorage (AbstractPropertyTypeDescriptor &descriptor) const
 
AbstractPropertyTypeDescriptor::PropertyStoragefindPropertyStorage (AbstractPropertyTypeDescriptor &descriptor) const
 Gets the property storage for given property type descriptor. More...
 
PropertyStoragePtr findPropertyStoragePtr (AbstractPropertyTypeDescriptor &descriptor) const
 Gets property storage intrusive pointer which you can use to hold a reference until the end of the operation. More...
 
AbstractPropertyTypeDescriptorfindPropertyTypeDescriptorByNameAndDataType (string_view name, PropertyDataType dataType) const
 Finds a property type descriptor by name and data type. More...
 
AbstractPropertyTypeDescriptorfindPropertyTypeDescriptorByQualifiedNameAndDataType (string_view qualifiedName, PropertyDataType dataType) const
 Like findPropertyTypeDescriptorByNameAndDataType, but only searches by matching with qualified names. More...
 
AbstractPropertyTypeDescriptorfindPropertyTypeDescriptorByUnqualifiedNameAndDataType (string_view unqualifiedName, PropertyDataType dataType) const
 Like findPropertyTypeDescriptorByNameAndDataType, but only searches by matching with unqualified names. More...
 
AbstractPropertyTypeDescriptor::ValueSourcegetClassValueSource (AbstractPropertyTypeDescriptor &descriptor) const
 
AbstractPropertyTypeDescriptor::ValueSourcegetFinalValueSource (AbstractPropertyTypeDescriptor &descriptor) const
 
AbstractPropertyTypeDescriptor::ValueSourcegetNonClassValueSource (AbstractPropertyTypeDescriptor &descriptor) const
 
AbstractPropertyTypeDescriptor::ValueSourcegetTopValueSource (AbstractPropertyTypeDescriptor &descriptor) const
 Gets the top-level value source for a given property descriptor. More...
 
virtual void notifyPropertyHandlers (PropertyStoragePtr &propertyStorage, PropertyNotificationReason reason)
 
void onCopy (const PropertyObject &other)
 
void removeLocalValue (AbstractPropertyTypeDescriptor &descriptor, PropertyStoragePtr &propertyStorage)
 Removes a local value from the given property storage. More...
 
void removePropertyValueSource (AbstractPropertyTypeDescriptor &descriptor, AbstractPropertyTypeDescriptor::ValueSource *valueSource, void *owner)
 Removes a property value source. More...
 
void validatePropertyModifiersAndNotifyHandlers (PropertyStoragePtr &propertyStorage)
 

Additional Inherited Members

- Public Types inherited from kanzi::NodeComponent
using NodeComponentMessageArguments = NodeComponentTargetMessageArguments
 Legacy name for NodeComponentTargetMessageArguments. More...
 
enum  State { StateDetached, StateDetaching, StateAttaching, StateAttached }
 State indicating if component is attached to a node, detached from any node or in process of attaching/detaching. More...
 
- Public Types inherited from kanzi::PropertyObject
typedef PropertyStorageContainer::const_iterator PropertyStorageConstIterator
 
typedef vector< PropertyStoragePtrPropertyStorageContainer
 
typedef PropertyStorageContainer::iterator PropertyStorageIterator
 
typedef intrusive_ptr< AbstractPropertyTypeDescriptor::PropertyStoragePropertyStoragePtr
 
typedef PropertyStorageContainer::reverse_iterator PropertyStorageReverseIterator
 
- Protected Types inherited from kanzi::Object
typedef vector< AppliedStyleEntrySharedPtrAppliedStyleContainer
 Applied style container. More...
 
- Static Protected Member Functions inherited from kanzi::NodeComponent
template<typename TMessageType >
static void nodeComponentMessageHandler (const NodeComponent *nodeComponent, const typename TMessageType::FunctionType &function, typename TMessageType::ArgumentsType &messageArguments)
 Handler function for node component messages. More...
 
- Protected Attributes inherited from kanzi::Object
AppliedStyleContainer m_appliedStyles
 Listing of applied styles applied to this object. More...
 

Detailed Description

Use the Animation Player to play back an animation timeline that you set using the TimelineProperty property in that Animation Player.

Kanzi resolves paths to animated nodes relative to the node where you attach an Animation Player.

To control the playback of an Animation Player, send these messages to the node where you attached the Animation Player:

By default, an Animation Player does not start playback until you send the PlayMessage message to the node. To set an Animation Player to start the playback when you attach the Animation Player to a node, enable the AutoplayEnabledProperty property.

When you start the playback of an Animation Player by sending to it the PlayMessage or ResumeMessage message, or if the AutoplayEnabledProperty property is enabled, the player adds its timeline as a child to a parallel timeline and applies all playback settings from its PlaybackModeProperty, DurationScaleProperty and RepeatCountProperty properties to it. If you start the playback by sending a PlayMessage message with playback arguments, the player adds its parallel timeline as a child to yet another parallel timeline and applies playback settings from the PlayMessageArguments to it.

See also
PropertyDrivenAnimationPlayer, PropertyTargetInterpolator

Examples

To create animation player and set timeline:

// Create animation player.
AnimationPlayerSharedPtr animationPlayer = AnimationPlayer::create(domain, "player");
// Set timeline.
animationPlayer->setTimeline(timeline);

To attach animation player to the node:

node->addNodeComponent(animationPlayer);

To start animation player:

// Start playback in animation player by sending PlayMessage
// to the node where animation player is attached.
AnimationPlayer::PlayMessageArguments playMessageArguments;
playMessageArguments.setPlaybackMode(Timeline::DirectionBehaviorReverse);
playMessageArguments.setDurationScale(2.0f);
playMessageArguments.setRepeatCount(2);
node->dispatchMessage(AnimationPlayer::PlayMessage, playMessageArguments);

To pause animation player:

// Pause playback in animation player by sending PauseMessage
// to the node where animation player is attached.
AnimationPlayer::PauseMessageArguments pauseMessageArguments;
node->dispatchMessage(AnimationPlayer::PauseMessage, pauseMessageArguments);

To resume animation player:

// Resume playback in animation player by sending ResumeMessage
// to the node where animation player is attached.
AnimationPlayer::ResumeMessageArguments resumeMessageArguments;
node->dispatchMessage(AnimationPlayer::ResumeMessage, resumeMessageArguments);

To stop animation player:

// Stop playback in animation player by sending StopMessage
// to the node where animation player is attached.
AnimationPlayer::StopMessageArguments stopMessageArguments;
node->dispatchMessage(AnimationPlayer::StopMessage, stopMessageArguments);

To detach animation player from the node:

node->removeNodeComponent(*animationPlayer);

Constructor & Destructor Documentation

◆ AnimationPlayer()

kanzi::AnimationPlayer::AnimationPlayer ( Domain domain,
string_view  name 
)
explicitprotected

Constructor.

Parameters
domainDomain.
nameThe name of the animation player.

Member Function Documentation

◆ makeEditorInfo()

static PropertyTypeEditorInfoSharedPtr kanzi::AnimationPlayer::makeEditorInfo ( )
static

Returns PropertyType editor info of animation player.

◆ create()

static AnimationPlayerSharedPtr kanzi::AnimationPlayer::create ( Domain domain,
string_view  name 
)
inlinestatic

Creates animation player.

Parameters
domainDomain.
nameName of animation player.
Returns
animation player.

◆ setTimeline()

void kanzi::AnimationPlayer::setTimeline ( TimelineSharedPtr  animationTimeline)

Sets the TimelineProperty property of an Animation Player to the animation timeline that you pass in this method.

The Animation Player uses this timeline the next time it starts animation playback.

Parameters
animationTimelineThe animation timeline that you want to set to the Animation Player.

◆ getTimeline()

TimelineSharedPtr kanzi::AnimationPlayer::getTimeline ( ) const

Gets the animation timeline from the TimelineProperty property of an Animation Player.

Returns
The animation timeline of the Animation Player.

◆ getTimelinePlayback()

TimelinePlaybackSharedPtr kanzi::AnimationPlayer::getTimelinePlayback ( ) const

Gets the timeline playback made for the timeline.

Returns
Timeline playback. The return value can be null.

◆ setAutoplayEnabled()

void kanzi::AnimationPlayer::setAutoplayEnabled ( bool  enabled)

Sets the value of the AutoplayEnabledProperty property of an Animation Player.

The Animation Player uses this value the next time you attach that Animation Player.

Parameters
enabledIf the Animation Player starts playback of its animation timeline on attach automatically, true, otherwise false.

◆ isAutoplayEnabled()

bool kanzi::AnimationPlayer::isAutoplayEnabled ( ) const

Gets the value of the AutoplayEnabledProperty property.

Returns
If the Animation Player starts the playback of its animation timeline on attach automatically, true, otherwise false.

◆ setRelativePlayback()

void kanzi::AnimationPlayer::setRelativePlayback ( bool  relativePlayback)

Sets the value of the RelativePlaybackProperty property.

Parameters
relativePlaybackSpecifies whether playback is relative.

◆ isRelativePlayback()

bool kanzi::AnimationPlayer::isRelativePlayback ( ) const

Gets the value of the RelativePlaybackProperty property.

Returns
If the playback is relative, true, otherwise false.

◆ setRestoreOriginalValuesAfterPlayback()

void kanzi::AnimationPlayer::setRestoreOriginalValuesAfterPlayback ( bool  restore)

Sets the values of the RestoreOriginalValuesAfterPlaybackProperty property.

Parameters
restoreSpecifies whether original values restored after playback finishes.

◆ isRestoreOriginalValuesAfterPlayback()

bool kanzi::AnimationPlayer::isRestoreOriginalValuesAfterPlayback ( ) const

Gets the values of the RestoreOriginalValuesAfterPlaybackProperty property.

Returns
If the original values are restored after playback finishes, true, otherwise false.

◆ setPlaybackMode()

void kanzi::AnimationPlayer::setPlaybackMode ( Timeline::DirectionBehavior  mode)

Sets the value of the PlaybackModeProperty property.

Parameters
modePlayback mode.

◆ getPlaybackMode()

Timeline::DirectionBehavior kanzi::AnimationPlayer::getPlaybackMode ( ) const

Gets the value of the PlaybackModeProperty property.

Returns
Playback mode.

◆ setDurationScale()

void kanzi::AnimationPlayer::setDurationScale ( float  durationScale)

Sets the value of the DurationScaleProperty property.

Parameters
durationScaleDuration scale.

◆ getDurationScale()

float kanzi::AnimationPlayer::getDurationScale ( ) const

Gets the value of the DurationScaleProperty property.

Returns
Duration scale.

◆ setRepeatCount()

void kanzi::AnimationPlayer::setRepeatCount ( int  repeatCount)

Sets the value of the RepeatCountProperty property.

Parameters
repeatCountRepeat count.

◆ getRepeatCount()

int kanzi::AnimationPlayer::getRepeatCount ( ) const

Gets the value of the RepeatCountProperty property.

Returns
Repeat count.

◆ start()

void kanzi::AnimationPlayer::start ( Timeline::DirectionBehavior  direction,
float  durationScale,
unsigned int  repeatCount 
)

Starts a new playback from the state of any animation player.

Kanzi applies the parameters, which you pass to this function, as a whole on top of the property values that are set in the animation player. For example, if in the animation player the AnimationPlayer::PlaybackModeProperty property is set to Timeline::DirectionBehaviorNormal and the AnimationPlayer::RepeatCountProperty property is set to 2, and you call this function with the direction parameter set to Timeline::DirectionBehaviorPingPong, the animation player plays its timeline first twice normally and then twice in reverse.

Parameters
directionThe playback mode that you want to apply on top of the value of the AnimationPlayer::PlaybackModeProperty property.
durationScaleThe duration scale that you want to apply on top of the value of the AnimationPlayer::DurationScaleProperty property.
repeatCountThe repeat count that you want to apply on top of the value of the AnimationPlayer::RepeatCountProperty property.

◆ resume()

void kanzi::AnimationPlayer::resume ( )

Resumes playing a paused timeline. If the playback is stopped, starts playing the timeline from the beginning.

◆ pause()

void kanzi::AnimationPlayer::pause ( )

Pauses running playback. If the playback is already paused or stopped, does nothing.

◆ stop()

void kanzi::AnimationPlayer::stop ( )

Stops running or paused playback.

If the playback is already stopped, does nothing. To start a new playback after stopping the playback, call start() or resume().

◆ attachOverride()

void kanzi::AnimationPlayer::attachOverride ( )
overrideprotectedvirtual

NodeComponent::attachOverride() implementation.

Reimplemented from kanzi::NodeComponent.

◆ detachOverride()

void kanzi::AnimationPlayer::detachOverride ( )
overrideprotectedvirtual

NodeComponent::detachOverride() implementation.

Reimplemented from kanzi::NodeComponent.

◆ playMessageHandler()

void kanzi::AnimationPlayer::playMessageHandler ( PlayMessageArguments messageArguments)
protected

Message handler for the PlayMessage message.

Parameters
messageArgumentsArguments of Play message.

◆ resumeMessageHandler()

void kanzi::AnimationPlayer::resumeMessageHandler ( ResumeMessageArguments messageArguments)
protected

Message handler for the ResumeMessage message.

Parameters
messageArgumentsArguments of Resume message.

◆ pauseMessageHandler()

void kanzi::AnimationPlayer::pauseMessageHandler ( PauseMessageArguments messageArguments)
protected

Message handler for the PauseMessage message.

Parameters
messageArgumentsArguments of pause message.

◆ stopMessageHandler()

void kanzi::AnimationPlayer::stopMessageHandler ( StopMessageArguments messageArguments)
protected

Message handler for the StopMessage message.

Parameters
messageArgumentsArguments of Stop message.

◆ onPlaybackFinished()

void kanzi::AnimationPlayer::onPlaybackFinished ( TimelinePlayback timelinePlayback)
protected

Handler for finish timeline playback.

Parameters
timelinePlaybackFinished playback.

Member Data Documentation

◆ TimelineProperty

PropertyType<ResourceSharedPtr> kanzi::AnimationPlayer::TimelineProperty
static

Sets the animation timeline that an Animation Player plays after you attach it.

◆ AutoplayEnabledProperty

PropertyType<bool> kanzi::AnimationPlayer::AutoplayEnabledProperty
static

Sets whether an Animation Player starts the playback of its animation timeline immediately after the player is attached to a node which is attached to the node tree.

By default, autoplay is disabled.

◆ RelativePlaybackProperty

PropertyType<bool> kanzi::AnimationPlayer::RelativePlaybackProperty
static

Sets whether an Animation Player plays animation timelines in a relative manner by adding the animated value to the target property value instead of replacing the property value.

By default, relative playback is disabled.

◆ RestoreOriginalValuesAfterPlaybackProperty

PropertyType<bool> kanzi::AnimationPlayer::RestoreOriginalValuesAfterPlaybackProperty
static

Sets whether animated properties return to their initial values after the playback of an animation timeline ends.

By default, this is disabled.

◆ PlaybackModeProperty

PropertyType<KzuTimeLineEntryPlaybackMode> kanzi::AnimationPlayer::PlaybackModeProperty
static

Sets the mode of an animation timeline playback to either:

  • Normal plays the animation timeline normally from the start to end. This is the default value.
  • Reverse plays the animation timeline in reverse from the end to start.
  • Ping pong plays the animation timeline first normally, then in reverse.

◆ DurationScaleProperty

PropertyType<float> kanzi::AnimationPlayer::DurationScaleProperty
static

Sets the amount by which the duration of an animation timeline is scaled during its playback.

For example:

  • When set to 1.0, the animation is of the same length as it is defined in the animation. This is the default value.
  • When set to 0.5, the animation is half as long as it is defined in the animation.
  • When set to 2.0, the animation is twice as long as it is defined in the animation.

◆ RepeatCountProperty

PropertyType<int> kanzi::AnimationPlayer::RepeatCountProperty
static

Sets how many times an animation timeline is played during its playback.

The default value is 1.

◆ PlayMessage

MessageType<PlayMessageArguments> kanzi::AnimationPlayer::PlayMessage
static

Play message.

When you send this message to a node to which an Animation Player is attached, that Animation Player starts to play the animation timeline set in its TimelineProperty property. When you send the Play message to an Animation Player that is playing back an animation timeline, the Animation Player stops that playback and starts a new playback.

◆ ResumeMessage

MessageType<ResumeMessageArguments> kanzi::AnimationPlayer::ResumeMessage
static

Resume message.

When you send this message to the node to which an animation player is attached, the animation player starts to play the animation timeline set in its TimelineProperty property. If the animation player has paused a playback, it resumes playing it.

◆ PauseMessage

MessageType<PauseMessageArguments> kanzi::AnimationPlayer::PauseMessage
static

Pause message.

When you send this message to the node to which an animation player is attached, the animation player pauses the current playback. If the playback is paused of stopped, the animation player does nothing.

◆ StopMessage

MessageType<StopMessageArguments> kanzi::AnimationPlayer::StopMessage
static

Stop message.

When you send this message to the node to which an animation player is attached, the animation player stops the playback. The next PlayMessage message starts to play the animation timeline from the beginning.

◆ StartedMessage

MessageType<StartedMessageArguments> kanzi::AnimationPlayer::StartedMessage
static

Started message.

When the animation player starts the playback of its timeline, it dispatches the Started message. The animation player does not dispatch this message when it resumes playback after it was paused. After this message is sent the timeline is actively applied to animate the target properties.

◆ StoppedMessage

MessageType<StoppedMessageArguments> kanzi::AnimationPlayer::StoppedMessage
static

Stopped message.

When the animation player stops the playback of its timeline, it dispatches the Stopped message. After this message is sent the timeline is not applied to the target properties.

◆ CompletedMessage

MessageType<CompletedMessageArguments> kanzi::AnimationPlayer::CompletedMessage
static

Completed message.

When the animation player completes the playback of its timeline, it dispatches the Completed message. After this message is sent the timeline is still applied to the target properties.


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