Inviwo 0.9.12-pre
Inviwo documentation
|
#include <track.h>
Public Member Functions | |
virtual | ~Track ()=default |
virtual Track * | clone () 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 KeyframeSequence & | operator[] (size_t i)=0 |
virtual const KeyframeSequence & | operator[] (size_t i) const =0 |
virtual const KeyframeSequence & | getFirst () const =0 |
virtual KeyframeSequence & | getFirst ()=0 |
virtual const KeyframeSequence & | getLast () const =0 |
virtual KeyframeSequence & | getLast ()=0 |
virtual Keyframe * | add (Seconds time, bool asNewSequence)=0 |
virtual KeyframeSequence * | add (std::unique_ptr< KeyframeSequence > sequence)=0 |
virtual std::unique_ptr< KeyframeSequence > | remove (size_t i)=0 |
virtual std::unique_ptr< KeyframeSequence > | remove (KeyframeSequence *seq)=0 |
virtual std::unique_ptr< Keyframe > | remove (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) |
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.
|
virtualdefault |
Remove all keyframe sequences and call TrackObserver::notifyKeyframeSequenceRemoved
|
pure virtual |
Add a Keyframe at time and return the added keyframe. The Keyframe is added to a new KeyframeSequence if asNewSequence is true, otherwise it should be added to the closest KeyframeSequence at specified time. A KeyframeSequence is added to the Track if none exists.
Implemented in inviwo::animation::BaseTrack< Seq >, inviwo::animation::BaseTrack< CallbackKeyframeSequence >, inviwo::animation::BaseTrack< ControlKeyframeSequence >, inviwo::animation::BaseTrack< InvalidationKeyframeSequence >, and inviwo::animation::BaseTrack< KeyframeSequenceTyped< Key > >.
|
pure virtual |
Add KeyframeSequence and call TrackObserver::notifyKeyframeSequenceAdded
Implemented in inviwo::animation::BaseTrack< Seq >, inviwo::animation::BaseTrack< CallbackKeyframeSequence >, inviwo::animation::BaseTrack< ControlKeyframeSequence >, inviwo::animation::BaseTrack< InvalidationKeyframeSequence >, and inviwo::animation::BaseTrack< KeyframeSequenceTyped< Key > >.
|
pure virtual |
Create a deep copy of the Track including references to its possibly underlying Property.
Implemented in inviwo::animation::CallbackTrack, inviwo::animation::ControlTrack, inviwo::animation::InvalidationTrack, and inviwo::animation::PropertyTrack< Prop, Key, Seq >.
|
overridepure virtual |
Implements inviwo::Serializable.
|
pure virtual |
Return Track priority (0 is highest)
Implemented in inviwo::animation::BaseTrack< Seq >, inviwo::animation::BaseTrack< CallbackKeyframeSequence >, inviwo::animation::BaseTrack< ControlKeyframeSequence >, inviwo::animation::BaseTrack< InvalidationKeyframeSequence >, and inviwo::animation::BaseTrack< KeyframeSequenceTyped< Key > >.
|
pure virtual |
Animate track between times from and to
Implemented in inviwo::animation::CallbackTrack, inviwo::animation::ControlTrack, inviwo::animation::InvalidationTrack, and inviwo::animation::PropertyTrack< Prop, Key, Seq >.
|
pure virtual |
Remove KeyframeSequence at index i and call TrackObserver::notifyKeyframeSequenceRemoved
Implemented in inviwo::animation::BaseTrack< Seq >, inviwo::animation::BaseTrack< CallbackKeyframeSequence >, inviwo::animation::BaseTrack< ControlKeyframeSequence >, inviwo::animation::BaseTrack< InvalidationKeyframeSequence >, and inviwo::animation::BaseTrack< KeyframeSequenceTyped< Key > >.
|
overridepure virtual |
Implements inviwo::Serializable.
|
pure virtual |
Set Track name. Used when displaying the track.
Implemented in inviwo::animation::BaseTrack< Seq >, inviwo::animation::BaseTrack< CallbackKeyframeSequence >, inviwo::animation::BaseTrack< ControlKeyframeSequence >, inviwo::animation::BaseTrack< InvalidationKeyframeSequence >, and inviwo::animation::BaseTrack< KeyframeSequenceTyped< Key > >.
|
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< CallbackKeyframeSequence >, inviwo::animation::BaseTrack< ControlKeyframeSequence >, inviwo::animation::BaseTrack< InvalidationKeyframeSequence >, and inviwo::animation::BaseTrack< KeyframeSequenceTyped< Key > >.
|
pure virtual |
Return the number of KeyframeSequences in the track.
Implemented in inviwo::animation::BaseTrack< Seq >, inviwo::animation::BaseTrack< CallbackKeyframeSequence >, inviwo::animation::BaseTrack< ControlKeyframeSequence >, inviwo::animation::BaseTrack< InvalidationKeyframeSequence >, and inviwo::animation::BaseTrack< KeyframeSequenceTyped< Key > >.