All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
kzu_time_line_entry.h File Reference

Time line entry. More...

Classes

class  kanzi::KzuTimelineEntryMessages
 
class  kanzi::KzuTimelineEntryMessages::TimelineEntryMessageArguments
 
class  kanzi::KzuTimelineEntryMessages::TimelineEntryStartedMessageArguments
 
class  kanzi::KzuTimelineEntryMessages::TimelineEntryFinishedMessageArguments
 
class  kanzi::KzuTimelineEntryMessages::TimelineEntryProgressedMessageArguments
 
class  kanzi::KzuTimelineEntryMessages::TimelineEntryPlayedToEndMessageArguments
 
struct  KzuTimeLineEntryPlayback
 Playback structure for timeline entry, KZ_NULL when the entry has been deleted. More...
 

Namespaces

 kanzi
 

Macros

#define KZU_TIME_LINE_ENTRY_LOOP_INFINITELY
 Sets time line entry to loop repeatedly. More...
 

Enumerations

enum  KzuTimeLineEntryPlaybackMode { KZU_TIME_LINE_ENTRY_PLAYBACK_MODE_NORMAL, KZU_TIME_LINE_ENTRY_PLAYBACK_MODE_REVERSE, KZU_TIME_LINE_ENTRY_PLAYBACK_MODE_PINGPONG }
 Playback type of the contained animation clip. More...
 
enum  KzuTimeLineEntryWeightBlendMode { KZU_TIME_LINE_ENTRY_WEIGHT_BLEND_MODE_NONE, KZU_TIME_LINE_ENTRY_WEIGHT_BLEND_MODE_WEIGHTED_AVERAGE_SUM, KZU_TIME_LINE_ENTRY_WEIGHT_BLEND_MODE_ADDITIVE }
 Blend mode for weight. More...
 

Functions

KzuTimeLineEntrykzuTimeLineEntryCreateAnimationItem (kanzi::Domain *domain, kzFloat start, kanzi::AnimationItemSharedPtr animationItem)
 Creates new time line entry based on given animation item. More...
 
KANZI_API kzsError kzuTimeLineEntryAcquirePlayback (struct KzuTimeLineEntry *timeLineEntry, struct KzuTimeLineEntryPlayback **out_playBack)
 Acquires playback reference from a time line entry. More...
 
KANZI_API kzsError kzuTimeLineEntryReleasePlayback (struct KzuTimeLineEntryPlayback *playback)
 Releases a playback reference. More...
 
KANZI_API kzsError kzuTimeLineEntryDelete (struct KzuTimeLineEntry *timeLineEntry)
 Deallocates memory required for a time line entry. More...
 
KANZI_API void kzuTimeLineEntrySetDeleteAfterPlayback (struct KzuTimeLineEntry *timeLineEntry, kzBool delete_entry)
 Sets the time line entry to be deleted after its playback has finished. More...
 
KANZI_API kzBool kzuTimeLineEntryGetDeleteAfterPlayback (const struct KzuTimeLineEntry *timeLineEntry)
 Returns true if time line entry is set to be deleted after its playback has finished. More...
 
KANZI_API void kzuTimeLineEntrySetActiveLastFrame (struct KzuTimeLineEntry *timeLineEntry, kzBool active)
 Sets if the time line entry was running during the previous frame before the current frame. More...
 
KANZI_API kzBool kzuTimeLineEntryGetActiveLastFrame (const struct KzuTimeLineEntry *timeLineEntry)
 Returns true if time line entry was active on frame before this frame. More...
 
KANZI_API struct KzuAnimationClipkzuTimeLineEntryGetAnimationClip (const struct KzuTimeLineEntry *entry)
 Gets animation clip from time line entry. More...
 
KANZI_API struct KzuAnimationItemkzuTimeLineEntryGetAnimationItem (const struct KzuTimeLineEntry *entry)
 Gets the animation item from a time line entry. More...
 
KANZI_API kzsError kzuTimeLineEntryGetAnimations (struct KzuTimeLineEntry *timeLineEntry, struct KzcDynamicArray **out_animations)
 Gets a list of animations that the time line entry references into, extracted from clips and animations, sequence not supported. More...
 
KANZI_API kzsError kzuTimeLineEntryUpdate (struct KzuAnimationPlayer *player, struct KzuTimeLineEntry *timeLineEntry, kzFloat time)
 Updates a time line entry. More...
 
KANZI_API kzsError kzuTimeLineEntryFinish (struct KzuTimeLineEntry *timeLineEntry, struct KzuAnimationPlayer *player)
 Finishes a time line entry, i.e. More...
 
KANZI_API kzBool kzuTimeLineEntryIsFinished (const struct KzuTimeLineEntry *timeLineEntry)
 Returns if given entry is finished. More...
 
KANZI_API void kzuTimeLineEntrySetRestoreOriginalValues (struct KzuTimeLineEntry *timeLineEntry, kzBool restoreOriginalValues)
 Sets restoring for original values for time line entry. More...
 
KANZI_API kzBool kzuTimeLineEntryIsRestoreOriginalValues (const struct KzuTimeLineEntry *timeLineEntry)
 Returns if the time line entry will restore original values after playback. More...
 
KANZI_API void kzuTimeLineEntrySetPlaybackMode (struct KzuTimeLineEntry *timeLineEntry, enum KzuTimeLineEntryPlaybackMode type)
 Sets the playback mode. More...
 
KANZI_API enum
KzuTimeLineEntryPlaybackMode 
kzuTimeLineEntryGetPlaybackMode (const struct KzuTimeLineEntry *timeLineEntry)
 Returns the playback mode of a time line entry. More...
 
KANZI_API void kzuTimeLineEntrySetInputType (KzuTimeLineEntry *timeLineEntry, const KzuPropertyType *inputPropertyType, kanzi::ResourceSharedPtr inputObject, kzString inputObjectRelativePath, kanzi::PropertyField inputTargetAttribute)
 Sets the input type for a time line entry. More...
 
KANZI_API void kzuTimeLineEntryGetInputType (const struct KzuTimeLineEntry *timeLineEntry, const KzuPropertyType **out_inputPropertyType, void **out_inputObject, kzMutableString *out_inputObjectPath, kanzi::PropertyField *out_inputTargetAttribute)
 Gets the input type of a time line entry. More...
 
KANZI_API const KzuPropertyTypekzuTimeLineEntryGetInputPropertyType (const struct KzuTimeLineEntry *timeLineEntry)
 Gets input property type from entry. More...
 
KANZI_API void * kzuTimeLineEntryGetInputObject (const struct KzuTimeLineEntry *timeLineEntry)
 Returns the input object from a time line entry or KZ_NULL if none. More...
 
KANZI_API void kzuTimeLineEntrySetRepeatCount (struct KzuTimeLineEntry *timeLineEntry, kzInt repeatCount)
 Sets the repeat count for a time line entry. More...
 
KANZI_API kzInt kzuTimeLineEntryGetRepeatCount (const struct KzuTimeLineEntry *timeLineEntry)
 Returns the repeat count of a time line entry. More...
 
KANZI_API kzInt kzuTimeLineEntryGetCurrentRepeatIndex (const struct KzuTimeLineEntry *timeLineEntry, kzFloat time)
 Gets the current repeat index at given time from a time line entry. More...
 
KANZI_API void kzuTimeLineEntrySetStartingTime (struct KzuTimeLineEntry *timeLineEntry, kzFloat time)
 Sets a new starting time for a time line entry and moves the ending time accordingly. More...
 
KANZI_API kzFloat kzuTimeLineEntryGetStartingTime (const struct KzuTimeLineEntry *timeLineEntry)
 Gets the starting time of a time line entry. More...
 
KANZI_API void kzuTimeLineEntrySetDurationScale (struct KzuTimeLineEntry *timeLineEntry, kzFloat durationModifier)
 Sets a duration modifier. More...
 
KANZI_API kzFloat kzuTimeLineEntryGetDuration (const struct KzuTimeLineEntry *timeLineEntry)
 Gets the duration of one repeat of the time line entry. More...
 
KANZI_API kzFloat kzuTimeLineEntryGetEndingTime (const struct KzuTimeLineEntry *timeLineEntry)
 Gets the end time of a time line entry. More...
 
KANZI_API kzBool kzuTimeLineEntryIsActiveAtTime (const struct KzuTimeLineEntry *timeLineEntry, kzFloat time)
 Returns whether or not the time line entry is active at the given time. More...
 
KANZI_API kzBool kzuTimeLineEntryIsPlayedToEnd (const struct KzuTimeLineEntry *timeLineEntry)
 
KANZI_API kzsError kzuTimeLineEntrySetWeight (const struct KzuTimeLineEntry *timeLineEntry, kzFloat weight)
 Sets the relative weight for a time line entry. More...
 
KANZI_API kzFloat kzuTimeLineEntryGetWeight (const struct KzuTimeLineEntry *timeLineEntry)
 Gets the relative weight of a time line entry. More...
 
KANZI_API void kzuTimeLineEntrySetWeightBlendMode (struct KzuTimeLineEntry *timeLineEntry, enum KzuTimeLineEntryWeightBlendMode weightBlendMode)
 Sets the weight blend mode for a time line entry. More...
 
KANZI_API enum
KzuTimeLineEntryWeightBlendMode 
kzuTimeLineEntryGetWeightBlendMode (const struct KzuTimeLineEntry *timeLineEntry)
 Gets the weight blend mode of a time line entry. More...
 
KANZI_API void kzuTimeLineEntrySetMessageDispatchingEnabled (struct KzuTimeLineEntry *entry, kzBool enabled)
 Sets message dispatching enabled for entry, by default enabled. More...
 
KANZI_API void kzuTimeLineEntrySetContextObject (KzuTimeLineEntry *timeLineEntry, const void *contextObject)
 Sets the context object for a time line entry, can be a material, a render pass or anything that can be animated. More...
 
KANZI_API void kzuTimeLineEntrySetContextObject (KzuTimeLineEntry *timeLineEntry, kanzi::ResourceSharedPtr contextObject)
 
KANZI_API const void * kzuTimeLineEntryGetContextObject (const struct KzuTimeLineEntry *timeLineEntry)
 Gets the context object of a time line entry. More...
 
KANZI_API kzsError kzuTimeLineEntrySetContextObjectPath (struct KzuTimeLineEntry *timeLineEntry, kzString targetObjectPath)
 Sets the context object path for a time line entry. More...
 
KANZI_API kzString kzuTimeLineEntryGetContextObjectPath (const struct KzuTimeLineEntry *timeLineEntry)
 Gets the context object path of a time line entry. More...
 
KANZI_API kzBool kzuTimeLineEntryIsContextObjectResource (const struct KzuTimeLineEntry *timeLineEntry)
 
KANZI_API kzsError kzuTimeLineEntrySetTargetObjectPath (struct KzuTimeLineEntry *timeLineEntry, const struct KzuAnimation *animation, kzString path)
 Sets the target object path for an animation in the time line entry. More...
 
KANZI_API kzString kzuTimeLineEntryGetTargetObjectPath (const struct KzuTimeLineEntry *timeLineEntry, const struct KzuAnimation *animation)
 Gets the target object path for an animation in the time line entry. More...
 
KANZI_API void kzuTimeLineEntrySetForceUpdate (struct KzuTimeLineEntry *entry, kzBool forceUpdate)
 Forces the entry to be updated. More...
 

Detailed Description

Time line entry.

Describes how animation clips or sequences are used on their parent time line. Allows multiple playback modes and adjusting the playback rates.

Time Line Entry Messages

::KzuTimelineEntryMessages::TimelineEntryStartedMessage.get() message is sent when the time line entry starts playback. The message has the following three arguments. ::KzuTimelineEntryMessages::AnimationItemProperty.get() pointer argument is the KzuAnimationItem passed to kzuTimeLineEntryCreateAnimationItem(). ::KzuTimelineEntryMessages::TimelineEntryProperty.get() pointer argument is the KzuTimeLineEntry itself. ::KzuTimelineEntryMessages::TimelineEntryPlaybackProperty.get() pointer argument is a pointer to a KzuTimeLineEntryPlayback structure, it is used internally by Kanzi.

::KzuTimelineEntryMessages::TimelineEntryProgressedMessage.get() message is sent periodically when the time line entry is still playing. It has the following four arguments. ::KzuTimelineEntryMessages::AnimationItemProperty.get() pointer argument is the KzuAnimationItem passed to kzuTimeLineEntryCreateAnimationItem(). ::KzuTimelineEntryMessages::TimelineEntryProperty.get() pointer argument is the KzuTimeLineEntry itself. ::KzuTimelineEntryMessages::TimelineEntryPlaybackProperty.get() pointer argument is a pointer to a KzuTimeLineEntryPlayback structure, it is used internally by Kanzi. ::KzuTimelineEntryMessages::AnimationItemTimeProperty.get() float argument is the time how long the time line entry has been playing.

::KzuTimelineEntryMessages::TimelineEntryPlayedToEndMessage.get() message is sent every time the time line entry has played to the end. If the entry repeats several times, the message is sent after each repetition. It is not sent if the animation item is a time line sequence. The message has the following two arguments. ::KzuTimelineEntryMessages::AnimationItemProperty.get() pointer argument is the KzuAnimationItem passed to kzuTimeLineEntryCreateAnimationItem(). ::KzuTimelineEntryMessages::TimelineEntryProperty.get() pointer argument is the KzuTimeLineEntry itself.

::KzuTimelineEntryMessages::TimelineEntryFinishedMessage.get() message is sent when the time line entry has finished all its repetitions and will be deleted. The message has the following three arguments. ::KzuTimelineEntryMessages::AnimationItemProperty.get() pointer argument is the KzuAnimationItem passed to kzuTimeLineEntryCreateAnimationItem(). ::KzuTimelineEntryMessages::TimelineEntryProperty.get() pointer argument is the KzuTimeLineEntry itself. ::KzuTimelineEntryMessages::TimelineEntryPlaybackProperty.get() pointer argument is a pointer to a KzuTimeLineEntryPlayback structure, it is used internally by Kanzi.

Time Line Entry Properties

::KzuTimelineEntryMessages::TimelineEntryWeightProperty.get() float property specifies the time line entry's relative weight when the weight blend mode is KZU_TIME_LINE_ENTRY_WEIGHT_BLEND_MODE_WEIGHTED_AVERAGE_SUM. It can be read and written with kzuTimeLineEntryGetWeight() and kzuTimeLineEntrySetWeight().

Copyright 2008-2020 by Rightware. All rights reserved.

Macro Definition Documentation

#define KZU_TIME_LINE_ENTRY_LOOP_INFINITELY

Sets time line entry to loop repeatedly.

Enumeration Type Documentation

Playback type of the contained animation clip.

Enumerator
KZU_TIME_LINE_ENTRY_PLAYBACK_MODE_NORMAL 

Plays animation normally from the start to end.

KZU_TIME_LINE_ENTRY_PLAYBACK_MODE_REVERSE 

Plays animation in reverse from the end to start.

KZU_TIME_LINE_ENTRY_PLAYBACK_MODE_PINGPONG 

Plays animation first normally, then in reverse.

Blend mode for weight.

Enumerator
KZU_TIME_LINE_ENTRY_WEIGHT_BLEND_MODE_NONE 

No blending.

KZU_TIME_LINE_ENTRY_WEIGHT_BLEND_MODE_WEIGHTED_AVERAGE_SUM 

Weighted average sum.

KZU_TIME_LINE_ENTRY_WEIGHT_BLEND_MODE_ADDITIVE 

Additive.

Function Documentation

KzuTimeLineEntry* kzuTimeLineEntryCreateAnimationItem ( kanzi::Domain domain,
kzFloat  start,
kanzi::AnimationItemSharedPtr  animationItem 
)

Creates new time line entry based on given animation item.

KANZI_API kzsError kzuTimeLineEntryAcquirePlayback ( struct KzuTimeLineEntry timeLineEntry,
struct KzuTimeLineEntryPlayback **  out_playBack 
)

Acquires playback reference from a time line entry.

Throws an error if entry is already associated with a playback.

KANZI_API kzsError kzuTimeLineEntryReleasePlayback ( struct KzuTimeLineEntryPlayback playback)

Releases a playback reference.

KANZI_API kzsError kzuTimeLineEntryDelete ( struct KzuTimeLineEntry timeLineEntry)

Deallocates memory required for a time line entry.

KANZI_API void kzuTimeLineEntrySetDeleteAfterPlayback ( struct KzuTimeLineEntry timeLineEntry,
kzBool  delete_entry 
)

Sets the time line entry to be deleted after its playback has finished.

False by default.

KANZI_API kzBool kzuTimeLineEntryGetDeleteAfterPlayback ( const struct KzuTimeLineEntry timeLineEntry)

Returns true if time line entry is set to be deleted after its playback has finished.

KANZI_API void kzuTimeLineEntrySetActiveLastFrame ( struct KzuTimeLineEntry timeLineEntry,
kzBool  active 
)

Sets if the time line entry was running during the previous frame before the current frame.

Used internally by Kanzi.

KANZI_API kzBool kzuTimeLineEntryGetActiveLastFrame ( const struct KzuTimeLineEntry timeLineEntry)

Returns true if time line entry was active on frame before this frame.

KANZI_API struct KzuAnimationClip* kzuTimeLineEntryGetAnimationClip ( const struct KzuTimeLineEntry entry)

Gets animation clip from time line entry.

Returns
The KzuAnimationClip of the entry or KZ_NULL if the entry's animation item is not of type KZU_ANIMATION_ITEM_TYPE_CLIP.
KANZI_API struct KzuAnimationItem* kzuTimeLineEntryGetAnimationItem ( const struct KzuTimeLineEntry entry)

Gets the animation item from a time line entry.

KANZI_API kzsError kzuTimeLineEntryGetAnimations ( struct KzuTimeLineEntry timeLineEntry,
struct KzcDynamicArray **  out_animations 
)

Gets a list of animations that the time line entry references into, extracted from clips and animations, sequence not supported.

Parameters
timeLineEntryThe time line entry containing the animations.
out_animationsA pointer that is set to point to a KzcDynamicArray of KzuAnimation objects. Do not modify this list.
Returns
KZS_SUCCESS on success.
KANZI_API kzsError kzuTimeLineEntryUpdate ( struct KzuAnimationPlayer player,
struct KzuTimeLineEntry timeLineEntry,
kzFloat  time 
)

Updates a time line entry.

This function is normally called from kzuAnimationPlayerUpdate().

Parameters
playerThe animation player.
timeLineEntryThe entry to update.
timeTime in seconds, relative to the entry's starting time (time 0.0 is the beginning of the entry).
Returns
KZS_SUCCESS on success.
KANZI_API kzsError kzuTimeLineEntryFinish ( struct KzuTimeLineEntry timeLineEntry,
struct KzuAnimationPlayer player 
)

Finishes a time line entry, i.e.

marks it for deletion it and sends the ::KzuTimelineEntryMessages::TimelineEntryFinishedMessage.get() message, restores original values if necessary.

Returns
KZS_SUCCESS on success.
KANZI_API kzBool kzuTimeLineEntryIsFinished ( const struct KzuTimeLineEntry timeLineEntry)

Returns if given entry is finished.

KANZI_API void kzuTimeLineEntrySetRestoreOriginalValues ( struct KzuTimeLineEntry timeLineEntry,
kzBool  restoreOriginalValues 
)

Sets restoring for original values for time line entry.

Restoring values means removing the effect of animations belonging to the time line entry when the entry is finished. The default value is KZ_FALSE.

KANZI_API kzBool kzuTimeLineEntryIsRestoreOriginalValues ( const struct KzuTimeLineEntry timeLineEntry)

Returns if the time line entry will restore original values after playback.

KANZI_API void kzuTimeLineEntrySetPlaybackMode ( struct KzuTimeLineEntry timeLineEntry,
enum KzuTimeLineEntryPlaybackMode  type 
)

Sets the playback mode.

The default is KZU_TIME_LINE_ENTRY_PLAYBACK_MODE_NORMAL.

KANZI_API enum KzuTimeLineEntryPlaybackMode kzuTimeLineEntryGetPlaybackMode ( const struct KzuTimeLineEntry timeLineEntry)

Returns the playback mode of a time line entry.

Parameters
timeLineEntryThe time line entry.
Returns
The playback mode or KZU_TIME_LINE_ENTRY_PLAYBACK_MODE_NORMAL if using a property driven animation.
KANZI_API void kzuTimeLineEntrySetInputType ( KzuTimeLineEntry timeLineEntry,
const KzuPropertyType inputPropertyType,
kanzi::ResourceSharedPtr  inputObject,
kzString  inputObjectRelativePath,
kanzi::PropertyField  inputTargetAttribute 
)

Sets the input type for a time line entry.

Set both inputObject and inputObjectRelativePath to KZ_NULL to use time as input (default).

Parameters
timeLineEntryThe time line entry.
inputPropertyTypeThe type of the property.
inputObjectThe object that hosts the input property or KZ_NULL to use inputObjectRelativePath instead.
inputObjectRelativePathA relative path to the object that hosts the input property or KZ_NULL to use inputObject directly.
inputTargetAttributeThe part of the property to use or ::PropertyFieldWhole to use the whole property.
Returns
KZS_SUCCESS on success.
KANZI_API void kzuTimeLineEntryGetInputType ( const struct KzuTimeLineEntry timeLineEntry,
const KzuPropertyType **  out_inputPropertyType,
void **  out_inputObject,
kzMutableString out_inputObjectPath,
kanzi::PropertyField out_inputTargetAttribute 
)

Gets the input type of a time line entry.

KZ_NULL to not use the output parameter.

Parameters
out_propertyManagerProperty manager used in property driven animation, KZ_NULL if none.
out_inputPropertyTypeProperty type used for animation, KZ_NULL for time-based animation.
out_inputObjectObject used for property targeting, KZ_NULL if none.
out_inputObjectPathPath used for property object targeting, KZ_NULL if none.
out_inputTargetAttributeTarget attribute in property driven animation, ::PropertyFieldWhole for none.
KANZI_API const KzuPropertyType* kzuTimeLineEntryGetInputPropertyType ( const struct KzuTimeLineEntry timeLineEntry)

Gets input property type from entry.

KANZI_API void* kzuTimeLineEntryGetInputObject ( const struct KzuTimeLineEntry timeLineEntry)

Returns the input object from a time line entry or KZ_NULL if none.

KANZI_API void kzuTimeLineEntrySetRepeatCount ( struct KzuTimeLineEntry timeLineEntry,
kzInt  repeatCount 
)

Sets the repeat count for a time line entry.

Use the value -1 for an infinite repeat.

KANZI_API kzInt kzuTimeLineEntryGetRepeatCount ( const struct KzuTimeLineEntry timeLineEntry)

Returns the repeat count of a time line entry.

KANZI_API kzInt kzuTimeLineEntryGetCurrentRepeatIndex ( const struct KzuTimeLineEntry timeLineEntry,
kzFloat  time 
)

Gets the current repeat index at given time from a time line entry.

For example, if the repeat count is 2, returns 0 if it's playing the 1st repeat, 1 if the 2nd repeat and so on.

KANZI_API void kzuTimeLineEntrySetStartingTime ( struct KzuTimeLineEntry timeLineEntry,
kzFloat  time 
)

Sets a new starting time for a time line entry and moves the ending time accordingly.

The animation duration will not be modified.

Parameters
timeLineEntryThe time line entry.
Timein seconds in animation player time.
KANZI_API kzFloat kzuTimeLineEntryGetStartingTime ( const struct KzuTimeLineEntry timeLineEntry)

Gets the starting time of a time line entry.

Returns
Time in seconds in animation player time.
KANZI_API void kzuTimeLineEntrySetDurationScale ( struct KzuTimeLineEntry timeLineEntry,
kzFloat  durationModifier 
)

Sets a duration modifier.

For example, setting this to 2 will result in animation playing half of the normal speed.

KANZI_API kzFloat kzuTimeLineEntryGetDuration ( const struct KzuTimeLineEntry timeLineEntry)

Gets the duration of one repeat of the time line entry.

KANZI_API kzFloat kzuTimeLineEntryGetEndingTime ( const struct KzuTimeLineEntry timeLineEntry)

Gets the end time of a time line entry.

This operation is not simple getter it needs to do some calculations. Avoid using very heavily.

Parameters
timeLineEntryThe time line entry.
Returns
Time in seconds in animation player time.
KANZI_API kzBool kzuTimeLineEntryIsActiveAtTime ( const struct KzuTimeLineEntry timeLineEntry,
kzFloat  time 
)

Returns whether or not the time line entry is active at the given time.

Parameters
timeLineEntryThe time line entry.
timeTime in seconds in animation player time.
Returns
KZ_TRUE if the time line entry is active at the specified time or if the force update flag has been set true with kzuTimeLineEntrySetForceUpdate(). Otherwise KZ_FALSE.
KANZI_API kzBool kzuTimeLineEntryIsPlayedToEnd ( const struct KzuTimeLineEntry timeLineEntry)
Returns
KZ_TRUE if the time line entry has been played to the end (including the last frame), otherwise KZ_FALSE.
KANZI_API kzsError kzuTimeLineEntrySetWeight ( const struct KzuTimeLineEntry timeLineEntry,
kzFloat  weight 
)

Sets the relative weight for a time line entry.

KANZI_API kzFloat kzuTimeLineEntryGetWeight ( const struct KzuTimeLineEntry timeLineEntry)

Gets the relative weight of a time line entry.

KANZI_API void kzuTimeLineEntrySetWeightBlendMode ( struct KzuTimeLineEntry timeLineEntry,
enum KzuTimeLineEntryWeightBlendMode  weightBlendMode 
)

Sets the weight blend mode for a time line entry.

KANZI_API enum KzuTimeLineEntryWeightBlendMode kzuTimeLineEntryGetWeightBlendMode ( const struct KzuTimeLineEntry timeLineEntry)

Gets the weight blend mode of a time line entry.

KANZI_API void kzuTimeLineEntrySetMessageDispatchingEnabled ( struct KzuTimeLineEntry entry,
kzBool  enabled 
)

Sets message dispatching enabled for entry, by default enabled.

Can optimize the performance if no time line messages are listened.

KANZI_API void kzuTimeLineEntrySetContextObject ( KzuTimeLineEntry timeLineEntry,
const void *  contextObject 
)

Sets the context object for a time line entry, can be a material, a render pass or anything that can be animated.

For object nodes, kzuTimeLineEntrySetContextObjectPath() should be used instead.

Normally, the context object is the object that receives the ::KZU_MESSAGE_ANIMATION_PLAYER_PLAY_ANIMATION message. When the object path set with kzuTimeLineEntrySetTargetObjectPath() is relative, the context object is the starting point of the relative path.

KANZI_API void kzuTimeLineEntrySetContextObject ( KzuTimeLineEntry timeLineEntry,
kanzi::ResourceSharedPtr  contextObject 
)
KANZI_API const void* kzuTimeLineEntryGetContextObject ( const struct KzuTimeLineEntry timeLineEntry)

Gets the context object of a time line entry.

KANZI_API kzsError kzuTimeLineEntrySetContextObjectPath ( struct KzuTimeLineEntry timeLineEntry,
kzString  targetObjectPath 
)

Sets the context object path for a time line entry.

The path should be relative to the animation clip's target object path.

Normally, the context object is the object that receives the ::KZU_MESSAGE_ANIMATION_PLAYER_PLAY_ANIMATION message. When the object path set with kzuTimeLineEntrySetTargetObjectPath() is relative, the context object is the starting point of the relative path.

Parameters
timeLineEntryThe time line entry.
targetObjectPathObject path to the context object.
Returns
KZS_SUCCESS on success.
KANZI_API kzString kzuTimeLineEntryGetContextObjectPath ( const struct KzuTimeLineEntry timeLineEntry)

Gets the context object path of a time line entry.

KANZI_API kzBool kzuTimeLineEntryIsContextObjectResource ( const struct KzuTimeLineEntry timeLineEntry)
Returns
KZ_TRUE if the context object of the given time line entry is a Resource, otherwise KZ_FALSE.
KANZI_API kzsError kzuTimeLineEntrySetTargetObjectPath ( struct KzuTimeLineEntry timeLineEntry,
const struct KzuAnimation animation,
kzString  path 
)

Sets the target object path for an animation in the time line entry.

KANZI_API kzString kzuTimeLineEntryGetTargetObjectPath ( const struct KzuTimeLineEntry timeLineEntry,
const struct KzuAnimation animation 
)

Gets the target object path for an animation in the time line entry.

KANZI_API void kzuTimeLineEntrySetForceUpdate ( struct KzuTimeLineEntry entry,
kzBool  forceUpdate 
)

Forces the entry to be updated.

Disables the behavior of animation player not updating property value if entry < startTime or entry > endTime.