|
void | addKeyframe (chrono::milliseconds time, KeyframeSharedPtr keyframe) |
|
void | addStepKeyframe (chrono::milliseconds time, const TValueType &value) |
|
void | addLinearKeyframe (chrono::milliseconds time, const TValueType &value) |
|
void | addSplineKeyframe (chrono::milliseconds time, const TValueType &value, const Vector2 &p0, const Vector2 &p1) |
|
virtual TValueType | getValue (const TValueType ¤tValue, chrono::milliseconds time) KZ_OVERRIDE |
| Returns new animated value given current value and time. More...
|
|
virtual | ~AbstractAnimation () |
| Destructor. More...
|
|
optional< chrono::milliseconds > | getDuration () |
| Returns the duration of the animation. More...
|
|
| Object (Domain *domain) |
|
virtual | ~Object () |
|
Domain * | getDomain () const |
| Returns the domain the object belongs to. More...
|
|
KzuPropertyManager * | getPropertyManager () const |
| Returns the property manager of the object. More...
|
|
KzuTaskScheduler * | getTaskScheduler () const |
| Returns the task scheduler of the object. More...
|
|
KzuMessageDispatcher * | getMessageDispatcher () const |
| Returns the message dispatcher of the object. More...
|
|
ResourceManager * | getResourceManager () const |
| Returns the resource manager of the object. More...
|
|
virtual const Metaclass * | getDynamicMetaclass () const |
| Returns the metaclass of the dynamic type of the object. More...
|
|
bool | isTypeOf (const Metaclass *objectType) const |
| Determines if the type of this object is the given type or derived from it. More...
|
|
template<typename DataType > |
void | setProperty (const PropertyType< DataType > &propertyType, typename PropertyType< DataType >::DataType value) |
| Sets the local value of a property. More...
|
|
void | setProperty (const PropertyType< ResourceID > &propertyType, ResourceSharedPtr value) |
| Sets the local value of a resource id property with a resource pointer. More...
|
|
template<typename DataType > |
DataType | getProperty (const PropertyType< DataType > &propertyType) const |
| Returns the current value of a property. More...
|
|
template<typename DataType > |
bool | getProperty (const PropertyType< DataType > &propertyType, typename PropertyType< DataType >::DataType &value) 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 > |
void | setAbstractProperty (AbstractPropertyType abstractPropertyType, typename PropertyType< DataType >::DataType value) |
|
void | setAbstractProperty (AbstractPropertyType abstractPropertyType, ResourceSharedPtr value) |
|
template<typename DataType > |
DataType | getAbstractProperty (AbstractPropertyType abstractPropertyType) const |
|
template<typename DataType > |
bool | getAbstractProperty (AbstractPropertyType abstractPropertyType, typename PropertyType< DataType >::DataType &value) const |
|
bool | hasValue (AbstractPropertyType propertyType) const |
| Evaluates whether there are any inputs into the property value. More...
|
|
bool | hasLocalValue (AbstractPropertyType propertyType) const |
| Evaluates whether there is a local value set for the property. More...
|
|
void | removeLocalValue (AbstractPropertyType propertyType) |
| Removes the local value associated with the property. More...
|
|
void | copyLocalValues (const Object &other) |
| Copies all local values from another object. More...
|
|
virtual void | onPropertyChanged (AbstractPropertyType propertyType, KzuPropertyNotificationReason reason) |
| Virtual function to handle property change notifications. More...
|
|
AppliedStyleEntry * | applyObjectStyle (kanzi::StyleSharedPtr style) |
| Applies a style to an object. More...
|
|
void | unapplyObjectStyle (AppliedStyleEntry *appliedStyleEntry) |
|
void | applyObjectStyles () |
| Apply all styles for an object node. More...
|
|
void | unapplyObjectStyles () |
| Unapplies and removes all applied styles. More...
|
|
template<typename TValueType>
class kanzi::KeyframeAnimation< TValueType >
Template class for keyframe animations.
- Template Parameters
-
TValueType | Defines the type of the value you want to animate. For example, float, bool, int, ColorRGBA. |
The Kanzi animation system consists animations and timelines: animations define how to animate a property, and timelines map the animations to time and to objects you want to animate.
Keyframe animation uses keyframes that define the property value and time at which the animation reaches that value. In Kanzi you can create linear, step, and Bezier spline keyframes.
Examples
To create a keyframe animation:
keyframeAnimation->addLinearKeyframe(chrono::seconds(0), 0);
keyframeAnimation->addLinearKeyframe(chrono::seconds(1), 100);
To animate a property value in a node using a keyframe animation:
To animate a property field value in a node using a keyframe animation:
To create a keyframe animation that uses Bezier keyframes to move an object on a sideways figure eight shaped path:
keyframeAnimationX->addLinearKeyframe(chrono::seconds(0), 0);
keyframeAnimationX->addLinearKeyframe(chrono::seconds(4), 4);
keyframeAnimationX->addLinearKeyframe(chrono::seconds(8), 0);
keyframeAnimationY->addLinearKeyframe(chrono::seconds(0), 0);
keyframeAnimationY->addSplineKeyframe(chrono::seconds(4), 0, Vector2(0.5, 4), Vector2(0.5, -4));
keyframeAnimationY->addSplineKeyframe(chrono::seconds(8), 0, Vector2(0.5, 4), Vector2(0.5, -4));
To play an animation regardless of the timeline type:
ScenegraphTimelinePlaybackContext context(*item2d);
domain->getRootTimelineClock()->addTimelinePlayback(playback);