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

#include <controltrack.h>

+ Inheritance diagram for inviwo::animation::ControlTrack:

Public Member Functions

virtual std::string getClassIdentifier () const override
 
virtual AnimationTimeState operator() (Seconds from, Seconds to, AnimationState state) const override
 
- Public Member Functions inherited from inviwo::animation::BaseTrack< ControlKeyframeSequence >
 BaseTrack (const std::string &identifier, const std::string &name, size_t priority=0)
 
virtual bool isEnabled () const override
 
virtual void setEnabled (bool enabled) override
 
virtual const std::string & getIdentifier () const override
 
virtual void setIdentifier (const std::string &identifier) override
 
virtual const std::string & getName () const override
 
virtual void setName (const std::string &name) override
 
virtual size_t getPriority () const override
 
virtual void setPriority (size_t priority) override
 
virtual Seconds getFirstTime () const override
 
virtual Seconds getLastTime () const override
 
virtual std::vector< Seconds > getAllTimes () const override
 
virtual size_t size () const override
 
virtual bool empty () const override
 
virtual ControlKeyframeSequenceoperator[] (size_t i) override
 
virtual const ControlKeyframeSequenceoperator[] (size_t i) const override
 
virtual const ControlKeyframeSequencegetFirst () const override
 
virtual ControlKeyframeSequencegetFirst () override
 
virtual const ControlKeyframeSequencegetLast () const override
 
virtual ControlKeyframeSequencegetLast () override
 
iterator begin ()
 
const_iterator begin () const
 
iterator end ()
 
const_iterator end () const
 
virtual void add (Seconds time, bool asNewSequence) override
 
virtual void add (std::unique_ptr< KeyframeSequence > sequence) override
 
virtual void add (std::unique_ptr< ControlKeyframeSequence > sequence)
 
virtual std::unique_ptr< KeyframeSequenceremove (size_t i) override
 
virtual std::unique_ptr< Keyframeremove (Keyframe *key) override
 
virtual std::unique_ptr< KeyframeSequenceremove (KeyframeSequence *seq) override
 
virtual void serialize (Serializer &s) const override
 
virtual void deserialize (Deserializer &d) override
 
- Public Member Functions inherited from inviwo::animation::Track
virtual ~Track ()=default
 
 Track (const Track &)=delete
 
Trackoperator= (const Track &)=delete
 
- Public Member Functions inherited from inviwo::Observable< TrackObserver >
 Observable (const Observable< TrackObserver > &other)
 
 Observable (Observable< TrackObserver > &&other)
 
Observable< TrackObserver > & operator= (const Observable< TrackObserver > &other)
 
Observable< TrackObserver > & operator= (Observable< TrackObserver > &&other)
 
void addObserver (TrackObserver *observer)
 
void removeObserver (TrackObserver *observer)
 
virtual void startBlockingNotifications () override final
 
virtual void stopBlockingNotifications () override final
 
- Public Member Functions inherited from inviwo::animation::KeyframeSequenceObserver
virtual void onKeyframeAdded (Keyframe *, KeyframeSequence *)
 
virtual void onKeyframeRemoved (Keyframe *, KeyframeSequence *)
 
virtual void onKeyframeSequenceSelectionChanged (KeyframeSequence *)
 
- 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 ()
 

Static Public Member Functions

static std::string classIdentifier ()
 

Additional Inherited Members

- Public Types inherited from inviwo::animation::BaseTrack< ControlKeyframeSequence >
using seq_type = ControlKeyframeSequence
 
using key_type = typename ControlKeyframeSequence ::key_type
 
using value_type = typename ControlKeyframeSequence ::value_type
 
using iterator = util::IndirectIterator< typename std::vector< std::unique_ptr< ControlKeyframeSequence > >::iterator >
 
using const_iterator = util::IndirectIterator< typename std::vector< std::unique_ptr< ControlKeyframeSequence > >::const_iterator >
 
- Protected Types inherited from inviwo::Observer
using ObservableSet = std::unordered_set< ObservableInterface * >
 
- Protected Member Functions inherited from inviwo::animation::BaseTrack< ControlKeyframeSequence >
virtual void onKeyframeSequenceMoved (KeyframeSequence *seq) override
 
void addToClosestSequence (std::unique_ptr< key_type > key)
 
- Protected Member Functions inherited from inviwo::animation::TrackObservable
void notifyKeyframeSequenceAdded (Track *t, KeyframeSequence *s)
 
void notifyKeyframeSequenceRemoved (Track *t, KeyframeSequence *s)
 
void notifyFirstMoved (Track *t)
 
void notifyLastMoved (Track *t)
 
void notifyEnabledChanged (Track *t)
 
void notifyIdentifierChanged (Track *t)
 
void notifyNameChanged (Track *t)
 
void notifyPriorityChanged (Track *t)
 
- Protected Member Functions inherited from inviwo::Observable< TrackObserver >
void forEachObserver (C callback)
 
- Protected Member Functions inherited from inviwo::ObservableInterface
void addObservationHelper (Observer *observer)
 
void removeObservationHelper (Observer *observer)
 
- Protected Member Functions inherited from inviwo::Observer
void addObservation (ObservableInterface *observable)
 
- Protected Attributes inherited from inviwo::animation::BaseTrack< ControlKeyframeSequence >
bool enabled_
 
std::string identifier_
 
std::string name_
 
size_t priority_
 
std::vector< std::unique_ptr< ControlKeyframeSequence > > sequences_
 
- Protected Attributes inherited from inviwo::Observer
ObservableSet observables_
 

Detailed Description

A special track for manipulating the playback. Exposes functions for adding a ControlKeyFrame and ControlKeyFrameSequence

See also
Track

Member Function Documentation

◆ operator()()

AnimationTimeState inviwo::animation::ControlTrack::operator() ( Seconds  from,
Seconds  to,
AnimationState  state 
) const
overridevirtual

Track of sequences -------—X======X====X--------—X=========X----—X=====X-----— |- case 1-|-case 2-------------—|-case 2-------—|-case 2---—| |-case 2a—|-case 2b—|

Implements inviwo::animation::Track.


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