Inviwo  0.9.10.1
Inviwo documentation
inviwo::animation::Track Class Referenceabstract

#include <track.h>

+ Inheritance diagram for inviwo::animation::Track:

Public Member Functions

virtual ~Track ()=default
 
 Track (const Track &)=delete
 
Trackoperator= (const Track &)=delete
 
virtual std::string getClassIdentifier () const =0
 
virtual bool isEnabled () const =0
 
virtual void setEnabled (bool enabled)=0
 
virtual const std::string & getIdentifier () const =0
 
virtual void setIdentifier (const std::string &identifier)=0
 
virtual void setName (const std::string &name)=0
 
virtual const std::string & getName () const =0
 
virtual size_t getPriority () const =0
 
virtual void setPriority (size_t priority)=0
 
virtual Seconds getFirstTime () const =0
 
virtual Seconds getLastTime () const =0
 
virtual std::vector< Seconds > getAllTimes () const =0
 
virtual size_t size () const =0
 
virtual bool empty () const =0
 
virtual AnimationTimeState operator() (Seconds from, Seconds to, AnimationState state) const =0
 
virtual KeyframeSequenceoperator[] (size_t i)=0
 
virtual const KeyframeSequenceoperator[] (size_t i) const =0
 
virtual const KeyframeSequencegetFirst () const =0
 
virtual KeyframeSequencegetFirst ()=0
 
virtual const KeyframeSequencegetLast () const =0
 
virtual KeyframeSequencegetLast ()=0
 
virtual void add (Seconds time, bool asNewSequence)=0
 
virtual void add (std::unique_ptr< KeyframeSequence > sequence)=0
 
virtual std::unique_ptr< KeyframeSequenceremove (size_t i)=0
 
virtual std::unique_ptr< KeyframeSequenceremove (KeyframeSequence *seq)=0
 
virtual std::unique_ptr< Keyframeremove (Keyframe *key)=0
 
virtual void serialize (Serializer &s) const override=0
 
virtual void deserialize (Deserializer &d) override=0
 
- 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
 

Additional Inherited Members

- 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)
 

Detailed Description

Interface for tracks in an animation. A track usually represent a value to be animated over time and contains a list of KeyFrameSequence. The value will only be animated when the time in the animation is within a KeyFrameSequence in the Track.

A Track has additional metadata information, such as (display) Name, Enabled, Priority. Tracks are listed in order based on their priority.

See also
KeyFrameSequence

Constructor & Destructor Documentation

◆ ~Track()

virtual inviwo::animation::Track::~Track ( )
virtualdefault

Remove all keyframe sequences and call TrackObserver::notifyKeyframeSequenceRemoved

Member Function Documentation

◆ add() [1/2]

virtual void inviwo::animation::Track::add ( Seconds  time,
bool  asNewSequence 
)
pure virtual

◆ add() [2/2]

virtual void inviwo::animation::Track::add ( std::unique_ptr< KeyframeSequence sequence)
pure virtual

◆ getPriority()

virtual size_t inviwo::animation::Track::getPriority ( ) const
pure virtual

◆ remove()

virtual std::unique_ptr<KeyframeSequence> inviwo::animation::Track::remove ( size_t  i)
pure virtual

◆ setName()

virtual void inviwo::animation::Track::setName ( const std::string &  name)
pure virtual

◆ setPriority()

virtual void inviwo::animation::Track::setPriority ( size_t  priority)
pure virtual

Set priority (0 is highest). The Track with highest priority is evaluated first at a given time by Animation.

Implemented in inviwo::animation::BaseTrack< Seq >, inviwo::animation::BaseTrack< KeyframeSequenceTyped< Key > >, and inviwo::animation::BaseTrack< ControlKeyframeSequence >.

◆ size()

virtual size_t inviwo::animation::Track::size ( ) const
pure virtual

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