Inviwo 0.9.12-pre
Inviwo documentation
Loading...
Searching...
No Matches
inviwo::animation::Track Class Referenceabstract

#include <track.h>

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

Public Member Functions

virtual ~Track ()=default
 
virtual Trackclone () const =0
 
virtual std::string_view getClassIdentifier () const =0
 
virtual bool isEnabled () const =0
 
virtual void setEnabled (bool enabled)=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::optional< Seconds > getPrevTime (Seconds at) const =0
 
virtual std::optional< Seconds > getNextTime (Seconds at) 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 Keyframeadd (Seconds time, bool asNewSequence)=0
 
virtual KeyframeSequenceadd (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::Serializable
- Public Member Functions inherited from inviwo::Observable< TrackObserver >
 Observable (const Observable< TrackObserver > &other)
 
 Observable (Observable< TrackObserver > &&other) noexcept
 
Observable< TrackObserver > & operator= (const Observable< TrackObserver > &other)
 
Observable< TrackObserver > & operator= (Observable< TrackObserver > &&other) noexcept
 
void addObserver (TrackObserver *observer)
 
void removeObserver (TrackObserver *observer)
 
virtual void startBlockingNotifications () override final
 
virtual void stopBlockingNotifications () override final
 
- Public Member Functions inherited from inviwo::ObservableInterface

Friends

bool operator< (const Track &a, const Track &b)
 
bool operator<= (const Track &a, const Track &b)
 
bool operator> (const Track &a, const Track &b)
 
bool operator>= (const Track &a, const Track &b)
 
bool operator< (const Track &a, const Seconds &b)
 
bool operator<= (const Track &a, const Seconds &b)
 
bool operator> (const Track &a, const Seconds &b)
 
bool operator>= (const Track &a, const Seconds &b)
 
bool operator< (const Seconds &a, const Track &b)
 
bool operator<= (const Seconds &a, const Track &b)
 
bool operator> (const Seconds &a, const Track &b)
 
bool operator>= (const Seconds &a, const Track &b)
 

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 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 Keyframe * inviwo::animation::Track::add ( Seconds time,
bool asNewSequence )
pure virtual

◆ add() [2/2]

◆ clone()

virtual Track * inviwo::animation::Track::clone ( ) const
pure virtual

◆ deserialize()

virtual void inviwo::animation::Track::deserialize ( Deserializer & d)
overridepure virtual

Implements inviwo::Serializable.

◆ getPriority()

◆ operator()()

virtual AnimationTimeState inviwo::animation::Track::operator() ( Seconds from,
Seconds to,
AnimationState state ) const
pure virtual

Animate track between times from and to

Returns
the playback state after performing animation.

Implemented in inviwo::animation::CallbackTrack, inviwo::animation::ControlTrack, inviwo::animation::InvalidationTrack, and inviwo::animation::PropertyTrack< Prop, Key, Seq >.

◆ remove()

◆ serialize()

virtual void inviwo::animation::Track::serialize ( Serializer & s) const
overridepure virtual

Implements inviwo::Serializable.

◆ setName()

◆ setPriority()

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

◆ size()


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