Kanzi Graphics Engine
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros
kzu_time_line_entry.h File Reference

Time line entry. More...

Data Structures

struct  KzuTimeLineEntryPlayback
 Playback structure for timeline entry, KZ_NULL when the entry has been deleted. More...
 

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

kzsError kzuTimeLineEntryCreateAnimationItem (const struct KzcMemoryManager *memoryManager, struct KzuPropertyManager *propertyManager, kzFloat start, struct KzuAnimationItem *animationItem, struct KzuTimeLineEntry **out_timeLineEntry)
 Creates new time line entry based on given animation item. More...
 
kzsError kzuTimeLineEntryAcquirePlayback (struct KzuTimeLineEntry *timeLineEntry, struct KzuTimeLineEntryPlayback **out_playBack)
 Acquires playback reference from a time line entry. More...
 
kzsError kzuTimeLineEntryReleasePlayback (struct KzuTimeLineEntryPlayback *playback)
 Releases a playback reference. More...
 
kzsError kzuTimeLineEntryDelete (struct KzuTimeLineEntry *timeLineEntry)
 Deallocates memory required for a time line entry. More...
 
void kzuTimeLineEntrySetDeleteAfterPlayback (struct KzuTimeLineEntry *timeLineEntry, kzBool delete_entry)
 Sets the time line entry to be deleted after its playback has finished. More...
 
kzBool kzuTimeLineEntryGetDeleteAfterPlayback (const struct KzuTimeLineEntry *timeLineEntry)
 Returns true if time line entry is set to be deleted after its playback has finished. More...
 
void kzuTimeLineEntrySetActiveLastFrame (struct KzuTimeLineEntry *timeLineEntry, kzBool active)
 Sets if the time line entry was running during the previous frame before the current frame. More...
 
kzBool kzuTimeLineEntryGetActiveLastFrame (const struct KzuTimeLineEntry *timeLineEntry)
 Returns true if time line entry was active on frame before this frame. More...
 
struct KzuAnimationClipkzuTimeLineEntryGetAnimationClip (const struct KzuTimeLineEntry *entry)
 Gets animation clip from time line entry. More...
 
struct KzuAnimationItemkzuTimeLineEntryGetAnimationItem (const struct KzuTimeLineEntry *entry)
 Gets the animation item from a time line entry. More...
 
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...
 
kzsError kzuTimeLineEntryUpdate (struct KzuAnimationPlayer *player, struct KzuTimeLineEntry *timeLineEntry, kzFloat time)
 Updates a time line entry. More...
 
kzsError kzuTimeLineEntryFinish (struct KzuTimeLineEntry *timeLineEntry, struct KzuAnimationPlayer *player)
 Finishes a time line entry, i.e. More...
 
kzBool kzuTimeLineEntryIsFinished (const struct KzuTimeLineEntry *timeLineEntry)
 Returns if given entry is finished. More...
 
void kzuTimeLineEntrySetRestoreOriginalValues (struct KzuTimeLineEntry *timeLineEntry, kzBool restoreOriginalValues)
 Sets restoring for original values for time line entry. More...
 
kzBool kzuTimeLineEntryIsRestoreOriginalValues (const struct KzuTimeLineEntry *timeLineEntry)
 Returns if the time line entry will restore original values after playback. More...
 
void kzuTimeLineEntrySetPlaybackMode (struct KzuTimeLineEntry *timeLineEntry, enum KzuTimeLineEntryPlaybackMode type)
 Sets the playback mode. More...
 
enum KzuTimeLineEntryPlaybackMode kzuTimeLineEntryGetPlaybackMode (const struct KzuTimeLineEntry *timeLineEntry)
 Returns the playback mode of a time line entry. More...
 
kzsError kzuTimeLineEntrySetInputType (struct KzuTimeLineEntry *timeLineEntry, struct KzuPropertyType *inputPropertyType, void *inputObject, kzString inputObjectRelativePath, enum KzuPropertyField inputTargetAttribute)
 Sets the input type for a time line entry. More...
 
void kzuTimeLineEntryGetInputType (const struct KzuTimeLineEntry *timeLineEntry, struct KzuPropertyType **out_inputPropertyType, void **out_inputObject, kzMutableString *out_inputObjectPath, enum KzuPropertyField *out_inputTargetAttribute)
 Gets the input type of a time line entry. More...
 
struct KzuPropertyTypekzuTimeLineEntryGetInputPropertyType (const struct KzuTimeLineEntry *timeLineEntry)
 Gets input property type from entry. More...
 
voidkzuTimeLineEntryGetInputObject (const struct KzuTimeLineEntry *timeLineEntry)
 Returns the input object from a time line entry or KZ_NULL if none. More...
 
void kzuTimeLineEntrySetRepeatCount (struct KzuTimeLineEntry *timeLineEntry, kzInt repeatCount)
 Sets the repeat count for a time line entry. More...
 
kzInt kzuTimeLineEntryGetRepeatCount (const struct KzuTimeLineEntry *timeLineEntry)
 Returns the repeat count of a time line entry. More...
 
kzInt kzuTimeLineEntryGetCurrentRepeatIndex (const struct KzuTimeLineEntry *timeLineEntry, kzFloat time)
 Gets the current repeat index at given time from a time line entry. More...
 
void kzuTimeLineEntrySetStartingTime (struct KzuTimeLineEntry *timeLineEntry, kzFloat time)
 Sets a new starting time for a time line entry and moves the ending time accordingly. More...
 
kzFloat kzuTimeLineEntryGetStartingTime (const struct KzuTimeLineEntry *timeLineEntry)
 Gets the starting time of a time line entry. More...
 
void kzuTimeLineEntrySetDurationScale (struct KzuTimeLineEntry *timeLineEntry, kzFloat durationModifier)
 Sets a duration modifier. More...
 
kzFloat kzuTimeLineEntryGetDuration (const struct KzuTimeLineEntry *timeLineEntry)
 Gets the duration of one repeat of the time line entry. More...
 
kzFloat kzuTimeLineEntryGetEndingTime (const struct KzuTimeLineEntry *timeLineEntry)
 Gets the end time of a time line entry. More...
 
kzBool kzuTimeLineEntryIsActiveAtTime (const struct KzuTimeLineEntry *timeLineEntry, kzFloat time)
 Returns whether or not the time line entry is active at the given time. More...
 
kzBool kzuTimeLineEntryIsPlayedToEnd (const struct KzuTimeLineEntry *timeLineEntry)
 
void kzuTimeLineEntrySetIsPlayedToEnd (struct KzuTimeLineEntry *timeLineEntry, kzBool isPlayedToEnd)
 Marks the time line entry as having been played to the end. More...
 
kzsError kzuTimeLineEntrySetWeight (const struct KzuTimeLineEntry *timeLineEntry, kzFloat weight)
 Sets the relative weight for a time line entry. More...
 
kzFloat kzuTimeLineEntryGetWeight (const struct KzuTimeLineEntry *timeLineEntry)
 Gets the relative weight of a time line entry. More...
 
void kzuTimeLineEntrySetWeightBlendMode (struct KzuTimeLineEntry *timeLineEntry, enum KzuTimeLineEntryWeightBlendMode weightBlendMode)
 Sets the weight blend mode for a time line entry. More...
 
enum
KzuTimeLineEntryWeightBlendMode 
kzuTimeLineEntryGetWeightBlendMode (const struct KzuTimeLineEntry *timeLineEntry)
 Gets the weight blend mode of a time line entry. More...
 
void kzuTimeLineEntrySetMessageDispatchingEnabled (struct KzuTimeLineEntry *entry, kzBool enabled)
 Sets message dispatching enabled for entry, by default enabled. More...
 
kzsError kzuTimeLineEntrySetContextObject (struct KzuTimeLineEntry *timeLineEntry, const void *contextObject, kzBool isResource)
 Sets the context object for a time line entry, can be a material, a render pass or anything that can be animated. More...
 
const voidkzuTimeLineEntryGetContextObject (const struct KzuTimeLineEntry *timeLineEntry)
 Gets the context object of a time line entry. More...
 
kzsError kzuTimeLineEntrySetContextObjectPath (struct KzuTimeLineEntry *timeLineEntry, kzString targetObjectPath)
 Sets the context object path for a time line entry. More...
 
kzString kzuTimeLineEntryGetContextObjectPath (const struct KzuTimeLineEntry *timeLineEntry)
 Gets the context object path of a time line entry. More...
 
kzBool kzuTimeLineEntryIsContextObjectResource (const struct KzuTimeLineEntry *timeLineEntry)
 
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...
 
kzString kzuTimeLineEntryGetTargetObjectPath (const struct KzuTimeLineEntry *timeLineEntry, const struct KzuAnimation *animation)
 Gets the target object path for an animation in the time line entry. More...
 
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

KZU_MESSAGE_TIMELINE_ENTRY_STARTED message is sent when the time line entry starts playback. The message has the following three arguments. KZU_MESSAGE_ARGUMENT__ANIMATION_ITEM pointer argument is the KzuAnimationItem passed to kzuTimeLineEntryCreateAnimationItem(). KZU_MESSAGE_ARGUMENT__TIMELINE_ENTRY pointer argument is the KzuTimeLineEntry itself. KZU_MESSAGE_ARGUMENT__TIMELINE_ENTRY_PLAYBACK pointer argument is a pointer to a KzuTimeLineEntryPlayback structure, it is used internally by Kanzi.

KZU_MESSAGE_TIMELINE_ENTRY_PROGRESSED message is sent periodically when the time line entry is still playing. It has the following four arguments. KZU_MESSAGE_ARGUMENT__ANIMATION_ITEM pointer argument is the KzuAnimationItem passed to kzuTimeLineEntryCreateAnimationItem(). KZU_MESSAGE_ARGUMENT__TIMELINE_ENTRY pointer argument is the KzuTimeLineEntry itself. KZU_MESSAGE_ARGUMENT__TIMELINE_ENTRY_PLAYBACK pointer argument is a pointer to a KzuTimeLineEntryPlayback structure, it is used internally by Kanzi. KZU_MESSAGE_ARGUMENT__ANIMATION_ITEM_TIME float argument is the time how long the time line entry has been playing.

KZU_MESSAGE_TIMELINE_ENTRY_PLAYED_TO_END 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. KZU_MESSAGE_ARGUMENT__ANIMATION_ITEM pointer argument is the KzuAnimationItem passed to kzuTimeLineEntryCreateAnimationItem(). KZU_MESSAGE_ARGUMENT__TIMELINE_ENTRY pointer argument is the KzuTimeLineEntry itself.

KZU_MESSAGE_TIMELINE_ENTRY_FINISHED message is sent when the time line entry has finished all its repetitions and will be deleted. The message has the following three arguments. KZU_MESSAGE_ARGUMENT__ANIMATION_ITEM pointer argument is the KzuAnimationItem passed to kzuTimeLineEntryCreateAnimationItem(). KZU_MESSAGE_ARGUMENT__TIMELINE_ENTRY pointer argument is the KzuTimeLineEntry itself. KZU_MESSAGE_ARGUMENT__TIMELINE_ENTRY_PLAYBACK pointer argument is a pointer to a KzuTimeLineEntryPlayback structure, it is used internally by Kanzi.

Time Line Entry Properties

KZU_PROPERTY_TYPE_TIMELINE_ENTRY_WEIGHT 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-2019 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

kzsError kzuTimeLineEntryCreateAnimationItem ( const struct KzcMemoryManager memoryManager,
struct KzuPropertyManager *  propertyManager,
kzFloat  start,
struct KzuAnimationItem animationItem,
struct KzuTimeLineEntry **  out_timeLineEntry 
)

Creates new time line entry based on given animation item.

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.

kzsError kzuTimeLineEntryReleasePlayback ( struct KzuTimeLineEntryPlayback playback)

Releases a playback reference.

kzsError kzuTimeLineEntryDelete ( struct KzuTimeLineEntry timeLineEntry)

Deallocates memory required for a time line entry.

void kzuTimeLineEntrySetDeleteAfterPlayback ( struct KzuTimeLineEntry timeLineEntry,
kzBool  delete_entry 
)

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

False by default.

kzBool kzuTimeLineEntryGetDeleteAfterPlayback ( const struct KzuTimeLineEntry timeLineEntry)

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

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.

kzBool kzuTimeLineEntryGetActiveLastFrame ( const struct KzuTimeLineEntry timeLineEntry)

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

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.
struct KzuAnimationItem* kzuTimeLineEntryGetAnimationItem ( const struct KzuTimeLineEntry entry)

Gets the animation item from a time line entry.

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.
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.
kzsError kzuTimeLineEntryFinish ( struct KzuTimeLineEntry timeLineEntry,
struct KzuAnimationPlayer player 
)

Finishes a time line entry, i.e.

marks it for deletion it and sends the KZU_MESSAGE_TIMELINE_ENTRY_FINISHED message, restores original values if necessary.

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

Returns if given entry is finished.

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.

kzBool kzuTimeLineEntryIsRestoreOriginalValues ( const struct KzuTimeLineEntry timeLineEntry)

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

void kzuTimeLineEntrySetPlaybackMode ( struct KzuTimeLineEntry timeLineEntry,
enum KzuTimeLineEntryPlaybackMode  type 
)

Sets the playback mode.

The default is KZU_TIME_LINE_ENTRY_PLAYBACK_MODE_NORMAL.

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.
kzsError kzuTimeLineEntrySetInputType ( struct KzuTimeLineEntry timeLineEntry,
struct KzuPropertyType inputPropertyType,
void inputObject,
kzString  inputObjectRelativePath,
enum KzuPropertyField  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 KZU_PROPERTY_FIELD_WHOLE to use the whole property.
Returns
KZS_SUCCESS on success.
void kzuTimeLineEntryGetInputType ( const struct KzuTimeLineEntry timeLineEntry,
struct KzuPropertyType **  out_inputPropertyType,
void **  out_inputObject,
kzMutableString out_inputObjectPath,
enum KzuPropertyField 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, KZU_PROPERTY_FIELD_WHOLE for none.
struct KzuPropertyType* kzuTimeLineEntryGetInputPropertyType ( const struct KzuTimeLineEntry timeLineEntry)

Gets input property type from entry.

void* kzuTimeLineEntryGetInputObject ( const struct KzuTimeLineEntry timeLineEntry)

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

void kzuTimeLineEntrySetRepeatCount ( struct KzuTimeLineEntry timeLineEntry,
kzInt  repeatCount 
)

Sets the repeat count for a time line entry.

Use the value -1 for an infinite repeat.

kzInt kzuTimeLineEntryGetRepeatCount ( const struct KzuTimeLineEntry timeLineEntry)

Returns the repeat count of a time line entry.

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.

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.
kzFloat kzuTimeLineEntryGetStartingTime ( const struct KzuTimeLineEntry timeLineEntry)

Gets the starting time of a time line entry.

Returns
Time in seconds in animation player time.
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.

kzFloat kzuTimeLineEntryGetDuration ( const struct KzuTimeLineEntry timeLineEntry)

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

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.
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.
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.
void kzuTimeLineEntrySetIsPlayedToEnd ( struct KzuTimeLineEntry timeLineEntry,
kzBool  isPlayedToEnd 
)

Marks the time line entry as having been played to the end.

kzsError kzuTimeLineEntrySetWeight ( const struct KzuTimeLineEntry timeLineEntry,
kzFloat  weight 
)

Sets the relative weight for a time line entry.

kzFloat kzuTimeLineEntryGetWeight ( const struct KzuTimeLineEntry timeLineEntry)

Gets the relative weight of a time line entry.

void kzuTimeLineEntrySetWeightBlendMode ( struct KzuTimeLineEntry timeLineEntry,
enum KzuTimeLineEntryWeightBlendMode  weightBlendMode 
)

Sets the weight blend mode for a time line entry.

enum KzuTimeLineEntryWeightBlendMode kzuTimeLineEntryGetWeightBlendMode ( const struct KzuTimeLineEntry timeLineEntry)

Gets the weight blend mode of a time line entry.

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.

kzsError kzuTimeLineEntrySetContextObject ( struct KzuTimeLineEntry timeLineEntry,
const void contextObject,
kzBool  isResource 
)

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.

const void* kzuTimeLineEntryGetContextObject ( const struct KzuTimeLineEntry timeLineEntry)

Gets the context object of a time line entry.

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.
kzString kzuTimeLineEntryGetContextObjectPath ( const struct KzuTimeLineEntry timeLineEntry)

Gets the context object path of a time line entry.

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

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

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

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

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.