Inviwo 0.9.12-pre
Inviwo documentation
Loading...
Searching...
No Matches
inviwo::animation::AnimationController Class Reference

#include <animationcontroller.h>

Inheritance diagram for inviwo::animation::AnimationController:

Public Member Functions

 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)
AnimationgetAnimation ()
 Returns mutable controlled animation.
const AnimationgetAnimation () 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
InviwoApplicationgetInviwoApplication () override
Public Member Functions inherited from inviwo::Observable< AnimationControllerObserver >
Observable< AnimationControllerObserver > & operator= (const Observable< AnimationControllerObserver > &other)
void addObserver (AnimationControllerObserver *observer)
void removeObserver (AnimationControllerObserver *observer)
virtual void startBlockingNotifications () override final
virtual void stopBlockingNotifications () override final
Public Member Functions inherited from inviwo::PropertyOwner
virtual ~PropertyOwner ()
 Removes all properties and notifies its observers of the removal.
virtual void addProperty (Property *property, bool owner=true)
virtual void addProperty (Property &property)
virtual PropertyaddProperty (std::unique_ptr< Property > property)
template<typename... Ts>
void addProperties (Ts &... properties)
virtual void insertProperty (size_t index, Property *property, bool owner=true)
 insert property property at position index If index is not valid, the property is appended.
virtual void insertProperty (size_t index, Property &property)
 insert property property at position index If index is not valid, the property is appended.
virtual PropertyinsertProperty (size_t index, std::unique_ptr< Property > property)
 insert property property at position index If index is not valid, the property is appended.
virtual PropertyremoveProperty (std::string_view identifier)
virtual PropertyremoveProperty (Property *property)
virtual PropertyremoveProperty (Property &property)
virtual PropertyremoveProperty (size_t index)
 remove property referred to by index
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
PropertygetPropertyByIdentifier (std::string_view identifier, bool recursiveSearch=false) const
PropertygetPropertyByPath (std::string_view path) const
template<class T>
std::vector< T * > getPropertiesByType (bool recursiveSearch=false) const
bool empty () const
size_t size () const
Propertyoperator[] (size_t)
const Propertyoperator[] (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 ProcessorgetProcessor ()
virtual const ProcessorgetProcessor () const
virtual const PropertyOwnergetOwner () const
virtual PropertyOwnergetOwner ()
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
Public Member Functions inherited from inviwo::PropertyOwnerObservable
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)
Public Member Functions inherited from inviwo::Observable< PropertyOwnerObserver >
Observable< PropertyOwnerObserver > & operator= (const Observable< PropertyOwnerObserver > &other)
void addObserver (PropertyOwnerObserver *observer)
void removeObserver (PropertyOwnerObserver *observer)
virtual void startBlockingNotifications () override final
virtual void stopBlockingNotifications () override final

Public Attributes

CompositeProperty playOptions
OptionPropertyInt playWindowMode
DoubleMinMaxProperty playWindow
DoubleProperty framesPerSecond
OptionProperty< PlaybackMode > playMode
CompositeProperty renderOptions
OptionPropertyInt renderWindowMode
DoubleMinMaxProperty renderWindow
DoubleProperty renderFPS
ButtonProperty renderAction
ButtonProperty renderActionStop
BoolCompositeProperty exportOptions_
DirectoryProperty exportOutputDirectory_
StringProperty exportBaseName_
OptionProperty< FileExtensionexportWriter_
BoolProperty exportOverwrite_
CompositeProperty controlOptions
ButtonProperty insertControlTrack
ButtonProperty insertInvalidationTrack

Protected Member Functions

void setTime (Seconds time)
 Low-level setting of currentTime_. Use eval() to set time in the public interface.
Protected Member Functions inherited from inviwo::animation::AnimationControllerObservable
void notifyStateChanged (AnimationController *controller, AnimationState prevState, AnimationState newState)
void notifyTimeChanged (AnimationController *controller, Seconds oldTime, Seconds newTime)
void notifyAnimationChanged (AnimationController *controller, Animation *oldAnimation, Animation *newAnimation)
Protected Member Functions inherited from inviwo::Observable< AnimationControllerObserver >
void forEachObserver (C callback)
Protected Member Functions inherited from inviwo::ObservableInterface
virtual void addObserver (Observer *observer)=0
virtual void removeObserver (Observer *observer)=0
void addObservationHelper (Observer *observer)
void removeObservationHelper (Observer *observer)
Protected Member Functions inherited from inviwo::PropertyOwner
 PropertyOwner (const PropertyOwner &rhs)
PropertyOwneroperator= (const PropertyOwner &that)=delete
void forEachProperty (std::function< void(Property &)> callback, bool recursiveSearch=false) const
Protected Member Functions inherited from inviwo::Observable< PropertyOwnerObserver >
void forEachObserver (C callback)

Protected Attributes

Animationanimation_
 The animation to control, non-owning reference.
AnimationManagermanager_
InviwoApplicationapp_
 Host application.
AnimationState state_
 State of the animation, such as paused or playing or rendering.
Seconds currentTime_
 Current time of the animation. This is an important variable to keep consistent!
PlaybackDirection direction_
Timer timer_
 Timer for calling the tick function is regular intervals.
Protected Attributes inherited from inviwo::PropertyOwner
std::vector< Property * > properties_
std::vector< EventProperty * > eventProperties_
std::vector< CompositeProperty * > compositeProperties_
std::vector< std::unique_ptr< Property > > ownedProperties_

Additional Inherited Members

Public Types inherited from inviwo::PropertyOwner
using iterator = std::vector<Property*>::iterator
using const_iterator = std::vector<Property*>::const_iterator

Detailed Description

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.

Member Function Documentation

◆ getInviwoApplication()

InviwoApplication * inviwo::animation::AnimationController::getInviwoApplication ( )
inlineoverridevirtual

Implements inviwo::PropertyOwner.


The documentation for this class was generated from the following file:
  • animationcontroller.h