|  | 
|  | AnimationController (Animation &animation, AnimationManager &manager, InviwoApplication *app=util::getInviwoApplication()) | 
| void | play () | 
|  | Play animation. 
 | 
| void | pause () | 
|  | Pause animation. 
 | 
| void | render () | 
|  | Render the animation into an image sequence. 
 | 
| void | stop () | 
| void | jumpToPrevKeyframe () | 
| void | jumpToNextKeyframe () | 
| void | jumpToPrevControlKeyframe () | 
| void | jumpToNextControlKeyframe () | 
| void | setState (AnimationState newState) | 
| void | tick () | 
|  | Advances the animation to the next time step in playing state. 
 | 
| void | eval (Seconds oldTime, Seconds newTime) | 
|  | Asks the animation to update the network to reflect the new time. 
 | 
| void | setAnimation (Animation &animation) | 
| Animation & | getAnimation () | 
|  | Returns mutable controlled animation. 
 | 
| const Animation & | getAnimation () const | 
|  | Returns controlled animation. 
 | 
| const AnimationState & | getState () const | 
|  | Returns the current state of the controller, whether it is playing, or pausing, and such. 
 | 
| PlaybackDirection | getPlaybackDirection () const | 
|  | Returns the playback direction used during tick. 
 | 
| void | setPlaybackDirection (PlaybackDirection newDirection) | 
| Seconds | getCurrentTime () const | 
| Seconds | deltaTime () const | 
| InviwoApplication * | getInviwoApplication () override | 
| Observable< AnimationControllerObserver > & | operator= (const Observable< AnimationControllerObserver > &other) | 
| void | addObserver (AnimationControllerObserver *observer) | 
| void | removeObserver (AnimationControllerObserver *observer) | 
| bool | isObservedBy (AnimationControllerObserver *observer) const | 
| virtual void | startBlockingNotifications () override final | 
| virtual void | stopBlockingNotifications () override final | 
| PropertyOwner & | operator= (const PropertyOwner &that)=delete | 
| virtual | ~PropertyOwner () | 
|  | Removes all properties and notifies its observers of the removal. 
 | 
| void | addProperty (Property *property, bool owner=true) | 
| void | addProperty (Property &property) | 
| Property * | addProperty (std::unique_ptr< Property > property) | 
| template<typename... Ts> | 
| void | addProperties (Ts &... properties) | 
| void | insertProperty (size_t index, Property &property) | 
|  | insert property propertyat positionindexIfindexis not valid, the property is appended.
 | 
| Property * | insertProperty (size_t index, std::unique_ptr< Property > property) | 
|  | insert property propertyat positionindexIfindexis not valid, the property is appended.
 | 
| virtual void | insertProperty (size_t index, Property *property, bool owner=true) | 
|  | insert property propertyat positionindexIfindexis not valid, the property is appended.
 | 
| Property * | removeProperty (std::string_view identifier) | 
| Property * | removeProperty (Property *property) | 
| Property * | removeProperty (Property &property) | 
| Property * | removeProperty (size_t index) | 
|  | remove property referred to by index
 | 
| virtual Property * | removeProperty (iterator it) | 
| virtual bool | move (Property *property, size_t newIndex) | 
| virtual void | clear () | 
|  | Remove all properties; Owned properties will be deleted. 
 | 
| virtual const std::string & | getIdentifier () const | 
| const std::vector< Property * > & | getProperties () const | 
| const std::vector< CompositeProperty * > & | getCompositeProperties () const | 
| std::vector< Property * > | getPropertiesRecursive () const | 
| std::vector< Property * > & | getPropertiesRecursive (std::vector< Property * > &destination) const | 
| Property * | getPropertyByIdentifier (std::string_view identifier, bool recursiveSearch=false) const | 
| Property * | getPropertyByPath (std::string_view path) const | 
| template<class T> | 
| std::vector< T * > | getPropertiesByType (bool recursiveSearch=false) const | 
| bool | empty () const | 
| size_t | size () const | 
| Property * | operator[] (size_t) | 
| const Property * | operator[] (size_t) const | 
| const_iterator | find (Property *property) const | 
| iterator | begin () | 
| iterator | end () | 
| const_iterator | begin () const | 
| const_iterator | end () const | 
| const_iterator | cbegin () const | 
| const_iterator | cend () const | 
| virtual bool | isValid () const | 
| virtual void | setValid () | 
| InvalidationLevel | getInvalidationLevel () const | 
| virtual void | invalidate (InvalidationLevel invalidationLevel, Property *modifiedProperty) | 
| virtual Processor * | getProcessor () | 
| virtual const Processor * | getProcessor () const | 
| virtual const PropertyOwner * | getOwner () const | 
| virtual PropertyOwner * | getOwner () | 
| virtual void | serialize (Serializer &s) const override | 
| virtual void | deserialize (Deserializer &d) override | 
| virtual void | setAllPropertiesCurrentStateAsDefault () | 
| virtual void | resetAllProperties () | 
| virtual void | invokeEvent (Event *event) override | 
| void | notifyObserversWillAddProperty (PropertyOwner *owner, Property *property, size_t index) | 
| void | notifyObserversDidAddProperty (Property *property, size_t index) | 
| void | notifyObserversWillRemoveProperty (Property *property, size_t index) | 
| void | notifyObserversDidRemoveProperty (PropertyOwner *owner, Property *property, size_t index) | 
| Observable< PropertyOwnerObserver > & | operator= (const Observable< PropertyOwnerObserver > &other) | 
| void | addObserver (PropertyOwnerObserver *observer) | 
| void | removeObserver (PropertyOwnerObserver *observer) | 
| bool | isObservedBy (PropertyOwnerObserver *observer) const | 
| virtual void | startBlockingNotifications () override final | 
| virtual void | stopBlockingNotifications () override final | 
|  | 
| void | setTime (Seconds time) | 
|  | Low-level setting of currentTime_. Use eval() to set time in the public interface. 
 | 
| void | notifyStateChanged (AnimationController *controller, AnimationState prevState, AnimationState newState) | 
| void | notifyTimeChanged (AnimationController *controller, Seconds oldTime, Seconds newTime) | 
| void | notifyAnimationChanged (AnimationController *controller, Animation *oldAnimation, Animation *newAnimation) | 
| void | forEachObserver (C callback) | 
| virtual void | addObserver (Observer *observer)=0 | 
| virtual void | removeObserver (Observer *observer)=0 | 
| void | addObservationHelper (Observer *observer) | 
| void | removeObservationHelper (Observer *observer) | 
|  | PropertyOwner (const PropertyOwner &rhs) | 
|  | PropertyOwner (PropertyOwner &&rhs) | 
| PropertyOwner & | operator= (PropertyOwner &&that) | 
| void | forEachProperty (std::function< void(Property &)> callback, bool recursiveSearch=false) const | 
| void | forEachObserver (C callback) | 
The AnimationController is responsible for steering the animation.
It keeps track of the animation time and state. When playing, it should adjust the step sizes to maintain a certain playback speed (frames per second).
Furthermore, it allows to render the animation into an image sequence.