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::Observable< TrackObserver >
Observable< TrackObserver > & operator= (const Observable< TrackObserver > &other)
void addObserver (TrackObserver *observer)
void removeObserver (TrackObserver *observer)
virtual void startBlockingNotifications () override final
virtual void stopBlockingNotifications () override final

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
virtual void addObserver (Observer *observer)=0
virtual void removeObserver (Observer *observer)=0
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]

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

Add KeyframeSequence and call TrackObserver::notifyKeyframeSequenceAdded

Implemented in inviwo::animation::BaseTrack< Seq >.

◆ clone()

◆ 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

◆ 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:
  • track.h