Inviwo  0.9.10.1
Inviwo documentation
inviwo::animation::AnimationManager Class Reference

#include <animationmanager.h>

+ Inheritance diagram for inviwo::animation::AnimationManager:

Public Member Functions

 AnimationManager (InviwoApplication *app, AnimationModule *animationModule)
 
TrackFactorygetTrackFactory ()
 
const TrackFactorygetTrackFactory () const
 
InterpolationFactorygetInterpolationFactory ()
 
const InterpolationFactorygetInterpolationFactory () const
 
AnimationgetAnimation ()
 
const AnimationgetAnimation () const
 
AnimationControllergetAnimationController ()
 
const AnimationControllergetAnimationController () const
 
void registerPropertyTrackConnection (const std::string &propertyClassID, const std::string &trackClassID)
 
void registerPropertyInterpolationConnection (const std::string &propertyClassID, const std::string &interpolationClassID)
 
void addKeyframeCallback (Property *property)
 
void addKeyframeCallback (Property *property, Seconds time)
 
void addSequenceCallback (Property *property)
 
void addSequenceCallback (Property *property, Seconds time)
 
std::unique_ptr< InterpolationgetDefaultInterpolation (Property *property)
 
const std::unordered_multimap< std::string, std::string > & getInterpolationMapping () const
 
- Public Member Functions inherited from inviwo::animation::AnimationObserver
virtual void onFirstMoved ()
 
virtual void onLastMoved ()
 
- Public Member Functions inherited from inviwo::Observer
 Observer (const Observer &other)
 
 Observer (Observer &&other)
 
Observeroperator= (Observer &&other)
 
Observeroperator= (const Observer &other)
 
virtual ~Observer ()
 
void removeObservation (ObservableInterface *observable)
 
void removeObservations ()
 
- Public Member Functions inherited from inviwo::PropertyOwnerObserver
virtual void onWillAddProperty (Property *property, size_t index)
 
virtual void onDidAddProperty (Property *property, size_t index)
 
virtual void onDidRemoveProperty (Property *property, size_t index)
 
- Public Member Functions inherited from inviwo::ProcessorNetworkObserver
virtual void onProcessorNetworkChange ()
 
virtual void onProcessorNetworkEvaluateRequest ()
 
virtual void onProcessorNetworkUnlocked ()
 
virtual void onProcessorNetworkWillAddProcessor (Processor *)
 
virtual void onProcessorNetworkDidAddProcessor (Processor *)
 
virtual void onProcessorNetworkDidRemoveProcessor (Processor *)
 
virtual void onProcessorNetworkWillAddConnection (const PortConnection &)
 
virtual void onProcessorNetworkDidAddConnection (const PortConnection &)
 
virtual void onProcessorNetworkWillRemoveConnection (const PortConnection &)
 
virtual void onProcessorNetworkDidRemoveConnection (const PortConnection &)
 
virtual void onProcessorNetworkWillAddLink (const PropertyLink &)
 
virtual void onProcessorNetworkDidAddLink (const PropertyLink &)
 
virtual void onProcessorNetworkWillRemoveLink (const PropertyLink &)
 
virtual void onProcessorNetworkDidRemoveLink (const PropertyLink &)
 

Additional Inherited Members

- Public Attributes inherited from inviwo::PropertyOwnerObserver
friend PropertyOwnerObservable
 
- Public Attributes inherited from inviwo::ProcessorNetworkObserver
friend ProcessorNetworkObservable
 
- Protected Types inherited from inviwo::Observer
using ObservableSet = std::unordered_set< ObservableInterface * >
 
- Protected Member Functions inherited from inviwo::Observer
void addObservation (ObservableInterface *observable)
 
- Protected Attributes inherited from inviwo::Observer
ObservableSet observables_
 

Detailed Description

The AnimationManager is responsible for managing the factories related to animations as well as owning the currently used Animation and AnimationController. It is also responsible for clearing, saving, and loading the animation and its controller when the workspace is cleared, saved, or loaded. The AnimationManager also manages the ModuleCallback actions that are used to facilitate the creation of property track from the context menu of properties. To be able to do this it has a map of track class identifiers to map to property class identifiers.

The modules that wish to extend the Animation with a new functionality ( Track or Interpolation ) will do so through the AnimationSuppliers and will register those with the factories here.

See also
Animation
AnimationController
Track

Member Function Documentation

◆ addKeyframeCallback() [1/2]

void inviwo::animation::AnimationManager::addKeyframeCallback ( Property property)

Add keyframe at current time given by AnimationController.

See also
addKeyframeCallback(Property* property, Seconds time)

◆ addKeyframeCallback() [2/2]

void inviwo::animation::AnimationManager::addKeyframeCallback ( Property property,
Seconds  time 
)

Add keyframe at specified time. Creates a new track if no track with the supplied property exists.

◆ addSequenceCallback() [1/2]

void inviwo::animation::AnimationManager::addSequenceCallback ( Property property)

Add sequence at current time given by AnimationController.

See also
addSequenceCallback(Property* property, Seconds time)

◆ addSequenceCallback() [2/2]

void inviwo::animation::AnimationManager::addSequenceCallback ( Property property,
Seconds  time 
)

Add sequence at specified time. Creates a new track if no track with the supplied property exists.

◆ getDefaultInterpolation()

std::unique_ptr< Interpolation > inviwo::animation::AnimationManager::getDefaultInterpolation ( Property property)

Lookup the default interpolation to use for a property.

Exceptions
Exceptionif none is found.

◆ registerPropertyInterpolationConnection()

void inviwo::animation::AnimationManager::registerPropertyInterpolationConnection ( const std::string &  propertyClassID,
const std::string &  interpolationClassID 
)

Register connection between a property and an interpolation. Used to get the preferred interpolation method for a property.

Parameters
propertyClassIDProperty::getClassIdentifier
interpolationClassIDInterpolation::getIdentifier()

◆ registerPropertyTrackConnection()

void inviwo::animation::AnimationManager::registerPropertyTrackConnection ( const std::string &  propertyClassID,
const std::string &  trackClassID 
)

Register connection between a property and a track. Used to create typed tracks for a property.

Parameters
propertyClassIDProperty::getClassIdentifier
trackClassIDPropertyTrack::getIdentifier()

The documentation for this class was generated from the following files: