animation manipulator that uses keyframes to generate the animation. More...
#include <vtkPVKeyFrameCueManipulator.h>
Public Types | |
typedef vtkPVCueManipulator | Superclass |
Public Types inherited from vtkPVCueManipulator | |
enum | { StateModifiedEvent = 2000 } |
StateModifiedEvent - This event is fired when the manipulator modifies the animated proxy. More... | |
typedef vtkObject | Superclass |
Public Member Functions | |
virtual const char * | GetClassName () |
virtual int | IsA (const char *type) |
void | PrintSelf (ostream &os, vtkIndent indent) override |
int | AddKeyFrame (vtkPVKeyFrame *keyframe) |
Add a key frame. More... | |
void | RemoveKeyFrame (vtkPVKeyFrame *keyframe) |
Removes a key frame at the specified time, if any. More... | |
void | RemoveAllKeyFrames () |
Removes all key frames, if any. More... | |
vtkPVKeyFrame * | GetKeyFrame (double time) |
Returns a pointer to the key frame at the given time. More... | |
unsigned int | GetNumberOfKeyFrames () |
Get the number of keyframes. More... | |
vtkPVKeyFrame * | GetKeyFrameAtIndex (int index) |
Access the keyframe collection using the indices. More... | |
virtual int | GetLastAddedKeyFrameIndex () |
This method returns the index of the last added key frame. More... | |
vtkPVKeyFrame * | GetStartKeyFrame (double time) |
Given the current time, determine the key frames between which the current time lies. More... | |
vtkPVKeyFrame * | GetEndKeyFrame (double time) |
Given the current time, determine the key frames between which the current time lies. More... | |
vtkPVKeyFrame * | GetNextKeyFrame (vtkPVKeyFrame *keyFrame) |
Get the next/previous key frame relative to argument key frame. More... | |
vtkPVKeyFrame * | GetPreviousKeyFrame (vtkPVKeyFrame *keyFrame) |
Get the next/previous key frame relative to argument key frame. More... | |
Public Member Functions inherited from vtkObject | |
vtkBaseTypeMacro (vtkObject, vtkObjectBase) | |
virtual void | DebugOn () |
virtual void | DebugOff () |
bool | GetDebug () |
void | SetDebug (bool debugFlag) |
virtual void | Modified () |
virtual vtkMTimeType | GetMTime () |
void | RemoveObserver (unsigned long tag) |
void | RemoveObservers (unsigned long event) |
void | RemoveObservers (const char *event) |
void | RemoveAllObservers () |
int | HasObserver (unsigned long event) |
int | HasObserver (const char *event) |
int | InvokeEvent (unsigned long event) |
int | InvokeEvent (const char *event) |
unsigned long | AddObserver (unsigned long event, vtkCommand *, float priority=0.0f) |
unsigned long | AddObserver (const char *event, vtkCommand *, float priority=0.0f) |
vtkCommand * | GetCommand (unsigned long tag) |
void | RemoveObserver (vtkCommand *) |
void | RemoveObservers (unsigned long event, vtkCommand *) |
void | RemoveObservers (const char *event, vtkCommand *) |
int | HasObserver (unsigned long event, vtkCommand *) |
int | HasObserver (const char *event, vtkCommand *) |
unsigned long | AddObserver (unsigned long event, U observer, void(T::*callback)(), float priority=0.0f) |
unsigned long | AddObserver (unsigned long event, U observer, void(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f) |
unsigned long | AddObserver (unsigned long event, U observer, bool(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f) |
int | InvokeEvent (unsigned long event, void *callData) |
int | InvokeEvent (const char *event, void *callData) |
unsigned long | AddObserver (unsigned long event, vtkCommand *, float priority=0.0f) |
unsigned long | AddObserver (const char *event, vtkCommand *, float priority=0.0f) |
vtkCommand * | GetCommand (unsigned long tag) |
void | RemoveObserver (vtkCommand *) |
void | RemoveObservers (unsigned long event, vtkCommand *) |
void | RemoveObservers (const char *event, vtkCommand *) |
int | HasObserver (unsigned long event, vtkCommand *) |
int | HasObserver (const char *event, vtkCommand *) |
unsigned long | AddObserver (unsigned long event, U observer, void(T::*callback)(), float priority=0.0f) |
unsigned long | AddObserver (unsigned long event, U observer, void(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f) |
unsigned long | AddObserver (unsigned long event, U observer, bool(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f) |
int | InvokeEvent (unsigned long event, void *callData) |
int | InvokeEvent (const char *event, void *callData) |
Public Member Functions inherited from vtkObjectBase | |
const char * | GetClassName () const |
virtual void | Delete () |
virtual void | FastDelete () |
void | Print (ostream &os) |
virtual void | Register (vtkObjectBase *o) |
virtual void | UnRegister (vtkObjectBase *o) |
void | SetReferenceCount (int) |
virtual void | PrintHeader (ostream &os, vtkIndent indent) |
virtual void | PrintTrailer (ostream &os, vtkIndent indent) |
int | GetReferenceCount () |
void | PrintRevisions (ostream &) |
virtual void | PrintHeader (ostream &os, vtkIndent indent) |
virtual void | PrintTrailer (ostream &os, vtkIndent indent) |
int | GetReferenceCount () |
void | PrintRevisions (ostream &) |
Static Public Member Functions | |
static int | IsTypeOf (const char *type) |
static vtkPVKeyFrameCueManipulator * | SafeDownCast (vtkObject *o) |
static vtkPVKeyFrameCueManipulator * | New () |
Static Public Member Functions inherited from vtkPVCueManipulator | |
static int | IsTypeOf (const char *type) |
static vtkPVCueManipulator * | SafeDownCast (vtkObject *o) |
Static Public Member Functions inherited from vtkObject | |
static vtkObject * | New () |
static void | BreakOnError () |
static void | SetGlobalWarningDisplay (int val) |
static void | GlobalWarningDisplayOn () |
static void | GlobalWarningDisplayOff () |
static int | GetGlobalWarningDisplay () |
static void | SetGlobalWarningDisplay (int val) |
static void | GlobalWarningDisplayOn () |
static void | GlobalWarningDisplayOff () |
static int | GetGlobalWarningDisplay () |
Static Public Member Functions inherited from vtkObjectBase | |
static vtkTypeBool | IsTypeOf (const char *name) |
static vtkObjectBase * | New () |
static vtkObjectBase * | New () |
Protected Member Functions | |
void | Initialize (vtkPVAnimationCue *) override |
This method is called when the AnimationCue's StartAnimationCueEvent is triggered, to let the animation manipulator know that the cue has been restarted. More... | |
void | Finalize (vtkPVAnimationCue *) override |
This method is called when the AnimationCue's EndAnimationCueEvent is triggered. More... | |
void | UpdateValue (double currenttime, vtkPVAnimationCue *cueproxy) override |
This updates the values based on currenttime. More... | |
int | AddKeyFrameInternal (vtkPVKeyFrame *keyframe) |
int | RemoveKeyFrameInternal (vtkPVKeyFrame *keyframe) |
void | ExecuteEvent (vtkObject *obj, unsigned long event, void *) |
vtkPVKeyFrameCueManipulator () | |
This method iterates over all added keyframe proxies and updates the domains for all keyframes, such that for every keyframe J, with keytime between keyframes I and K, the domain for keytime of J is (DomainJ)min = KeyTimeI and (DomainJ)max = KeyTimeK. More... | |
~vtkPVKeyFrameCueManipulator () override | |
This method iterates over all added keyframe proxies and updates the domains for all keyframes, such that for every keyframe J, with keytime between keyframes I and K, the domain for keytime of J is (DomainJ)min = KeyTimeI and (DomainJ)max = KeyTimeK. More... | |
Protected Member Functions inherited from vtkPVCueManipulator | |
vtkPVCueManipulator () | |
~vtkPVCueManipulator () override | |
Protected Member Functions inherited from vtkObject | |
vtkObject () | |
virtual | ~vtkObject () |
void | RegisterInternal (vtkObjectBase *, vtkTypeBool check) VTK_OVERRIDE |
void | UnRegisterInternal (vtkObjectBase *, vtkTypeBool check) VTK_OVERRIDE |
void | InternalGrabFocus (vtkCommand *mouseEvents, vtkCommand *keypressEvents=NULL) |
void | InternalReleaseFocus () |
void | InternalGrabFocus (vtkCommand *mouseEvents, vtkCommand *keypressEvents=NULL) |
void | InternalReleaseFocus () |
Protected Member Functions inherited from vtkObjectBase | |
vtkObjectBase () | |
virtual | ~vtkObjectBase () |
virtual void | CollectRevisions (ostream &) |
virtual void | ReportReferences (vtkGarbageCollector *) |
vtkObjectBase (const vtkObjectBase &) | |
void | operator= (const vtkObjectBase &) |
Protected Attributes | |
vtkPVKeyFrameCueManipulatorInternals * | Internals |
vtkPVKeyFrameCueManipulatorObserver * | Observer |
int | SendEndEvent |
int | LastAddedKeyFrameIndex |
Protected Attributes inherited from vtkObject | |
bool | Debug |
vtkTimeStamp | MTime |
vtkSubjectHelper * | SubjectHelper |
Protected Attributes inherited from vtkObjectBase | |
vtkAtomicInt32 | ReferenceCount |
vtkWeakPointerBase ** | WeakPointers |
Friends | |
class | vtkPVKeyFrameCueManipulatorObserver |
animation manipulator that uses keyframes to generate the animation.
This is a Manipulator that support key framing. Key frames are stored in a vector ordered by their keyframe time. Ordering of keyframes with same key time is arbitrary. This class ensures that the keyframes are always maintained in the correct order. How the values for the animated property are interpolated between successive keyframes depends on the type of the preceding keyframe. Thus this class doesn't perform the interpolation instead delegates it to the keyframe object affecting the property at the current time value.
vtkPVCueManipulator::StateModifiedEvent
- This event is fired when the manipulator modifies the animated proxy. vtkCommand::ModifiedEvent
- is fired when the keyframes are changed i.e. added/removed/modified.Definition at line 34 of file vtkPVKeyFrameCueManipulator.h.
Definition at line 37 of file vtkPVKeyFrameCueManipulator.h.
|
protected |
This method iterates over all added keyframe proxies and updates the domains for all keyframes, such that for every keyframe J, with keytime between keyframes I and K, the domain for keytime of J is (DomainJ)min = KeyTimeI and (DomainJ)max = KeyTimeK.
void UpdateKeyTimeDomains();
|
overrideprotected |
This method iterates over all added keyframe proxies and updates the domains for all keyframes, such that for every keyframe J, with keytime between keyframes I and K, the domain for keytime of J is (DomainJ)min = KeyTimeI and (DomainJ)max = KeyTimeK.
void UpdateKeyTimeDomains();
|
virtual |
Reimplemented from vtkPVCueManipulator.
Reimplemented in vtkPVCameraCueManipulator.
Reimplemented from vtkPVCueManipulator.
Reimplemented in vtkPVCameraCueManipulator.
|
static |
|
overridevirtual |
Reimplemented from vtkPVCueManipulator.
|
static |
int vtkPVKeyFrameCueManipulator::AddKeyFrame | ( | vtkPVKeyFrame * | keyframe | ) |
Add a key frame.
Key frames are stored in a map, keyed by the KeyFrameTime. If two keyframes have the same key time, only one of then will be considered. It returns the index of the added frame in the collection.
|
virtual |
This method returns the index of the last added key frame.
Note that this index is valid only until none of the keyframes are modified. This is even provided as a method so that this value can be accessed via properties.
void vtkPVKeyFrameCueManipulator::RemoveKeyFrame | ( | vtkPVKeyFrame * | keyframe | ) |
Removes a key frame at the specified time, if any.
void vtkPVKeyFrameCueManipulator::RemoveAllKeyFrames | ( | ) |
Removes all key frames, if any.
vtkPVKeyFrame* vtkPVKeyFrameCueManipulator::GetKeyFrame | ( | double | time | ) |
Returns a pointer to the key frame at the given time.
If no key frame exists at the given time, it returns nullptr.
vtkPVKeyFrame* vtkPVKeyFrameCueManipulator::GetStartKeyFrame | ( | double | time | ) |
Given the current time, determine the key frames between which the current time lies.
Returns the key frame time. If the current time coincides with a key frame, both methods (GetStartKeyFrameTime and GetEndKeyFrameTime) return that key keyframes time which is same as time. If the current time is before the first key frame or after the last key frame, then this method return -1.
vtkPVKeyFrame* vtkPVKeyFrameCueManipulator::GetEndKeyFrame | ( | double | time | ) |
Given the current time, determine the key frames between which the current time lies.
Returns the key frame time. If the current time coincides with a key frame, both methods (GetStartKeyFrameTime and GetEndKeyFrameTime) return that key keyframes time which is same as time. If the current time is before the first key frame or after the last key frame, then this method return -1.
vtkPVKeyFrame* vtkPVKeyFrameCueManipulator::GetNextKeyFrame | ( | vtkPVKeyFrame * | keyFrame | ) |
Get the next/previous key frame relative to argument key frame.
Returns nullptr when no next/previous frame exists.
vtkPVKeyFrame* vtkPVKeyFrameCueManipulator::GetPreviousKeyFrame | ( | vtkPVKeyFrame * | keyFrame | ) |
Get the next/previous key frame relative to argument key frame.
Returns nullptr when no next/previous frame exists.
unsigned int vtkPVKeyFrameCueManipulator::GetNumberOfKeyFrames | ( | ) |
Get the number of keyframes.
vtkPVKeyFrame* vtkPVKeyFrameCueManipulator::GetKeyFrameAtIndex | ( | int | index | ) |
Access the keyframe collection using the indices.
Keyframes are sorted according to increasing key frame time.
|
overrideprotectedvirtual |
This method is called when the AnimationCue's StartAnimationCueEvent is triggered, to let the animation manipulator know that the cue has been restarted.
This is here for one major reason: after the last key frame, the state of the scene must be as it was left at the last key frame. This does not happen automatically, since if while animating the currentime never coincides with the last key frame's key time, then it never gets a chance to update the properties value. Hence, we note when the cue begins. Then, if the currentime is beyond that of the last key frame we pretend that the current time coincides with that of the last key frame and let it update the properties. This is done only once per Animation cycle. The Initialize method is used to indicate that a new animation cycle has begun.
Reimplemented from vtkPVCueManipulator.
|
overrideprotectedvirtual |
This method is called when the AnimationCue's EndAnimationCueEvent is triggered.
Typically, the Manipulator will set the state of the Cue to that at the end of the cue.
Reimplemented from vtkPVCueManipulator.
|
overrideprotectedvirtual |
This updates the values based on currenttime.
currenttime is normalized to the time range of the Cue.
Implements vtkPVCueManipulator.
|
protected |
|
protected |
|
protected |
|
friend |
Definition at line 151 of file vtkPVKeyFrameCueManipulator.h.
|
protected |
Definition at line 141 of file vtkPVKeyFrameCueManipulator.h.
|
protected |
Definition at line 152 of file vtkPVKeyFrameCueManipulator.h.
|
protected |
Definition at line 155 of file vtkPVKeyFrameCueManipulator.h.
|
protected |
Definition at line 156 of file vtkPVKeyFrameCueManipulator.h.