Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

vtkSMKeyFrameAnimationCueManipulatorProxy Class Reference

#include <vtkSMKeyFrameAnimationCueManipulatorProxy.h>

Inheritance diagram for vtkSMKeyFrameAnimationCueManipulatorProxy:

Inheritance graph
[legend]
Collaboration diagram for vtkSMKeyFrameAnimationCueManipulatorProxy:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 vtkTypeRevisionMacro (vtkSMKeyFrameAnimationCueManipulatorProxy, vtkSMAnimationCueManipulatorProxy)
void PrintSelf (ostream &os, vtkIndent indent)
virtual void SaveInBatchScript (ofstream *file)
int AddKeyFrame (vtkSMKeyFrameProxy *keyframe)
void RemoveKeyFrame (vtkSMKeyFrameProxy *keyframe)
void RemoveAllKeyFrames ()
vtkSMKeyFrameProxyGetKeyFrame (double time)
unsigned int GetNumberOfKeyFrames ()
vtkSMKeyFrameProxyGetKeyFrameAtIndex (int index)
virtual int GetLastAddedKeyFrameIndex ()
vtkSMKeyFrameProxyGetStartKeyFrame (double time)
vtkSMKeyFrameProxyGetEndKeyFrame (double time)
vtkSMKeyFrameProxyGetNextKeyFrame (vtkSMKeyFrameProxy *keyFrame)
vtkSMKeyFrameProxyGetPreviousKeyFrame (vtkSMKeyFrameProxy *keyFrame)

Static Public Member Functions

vtkSMKeyFrameAnimationCueManipulatorProxyNew ()

Protected Member Functions

 vtkSMKeyFrameAnimationCueManipulatorProxy ()
 ~vtkSMKeyFrameAnimationCueManipulatorProxy ()
virtual void Initialize (vtkSMAnimationCueProxy *)
virtual void Finalize (vtkSMAnimationCueProxy *)
int AddKeyFrameInternal (vtkSMKeyFrameProxy *keyframe)
int RemoveKeyFrameInternal (vtkSMKeyFrameProxy *keyframe)
void ExecuteEvent (vtkObject *obj, unsigned long event, void *)
virtual void UpdateValue (double currenttime, vtkSMAnimationCueProxy *cueproxy)

Protected Attributes

vtkSMKeyFrameAnimationCueManipulatorProxyInternals * Internals
vtkSMKeyFrameAnimationCueManipulatorProxyObserver * Observer
int SendEndEvent
int LastAddedKeyFrameIndex

Friends

class vtkSMKeyFrameAnimationCueManipulatorProxyObserver

Detailed Description

Base class for manipulators that support key framing. Key frames are stored in a vector ordered by their keyframe time. Ordering of keyframes with same key time is arbritary. vtkSMAnimationCueManipulatorProxy::StateModifiedEvent - This event is fired when the manipulator modifies the animated proxy. vtkCommand::Modified - is fired when the keyframes are changed i.e. added/removed/modified.

See also:
vtkSMAnimationCueProxy vtkSMAnimationCueManipulatorProxy

Definition at line 37 of file vtkSMKeyFrameAnimationCueManipulatorProxy.h.


Constructor & Destructor Documentation

vtkSMKeyFrameAnimationCueManipulatorProxy::vtkSMKeyFrameAnimationCueManipulatorProxy  )  [protected]
 

vtkSMKeyFrameAnimationCueManipulatorProxy::~vtkSMKeyFrameAnimationCueManipulatorProxy  )  [protected]
 


Member Function Documentation

vtkSMKeyFrameAnimationCueManipulatorProxy::vtkTypeRevisionMacro vtkSMKeyFrameAnimationCueManipulatorProxy  ,
vtkSMAnimationCueManipulatorProxy 
 

void vtkSMKeyFrameAnimationCueManipulatorProxy::PrintSelf ostream &  os,
vtkIndent  indent
 

Reimplemented from vtkSMAnimationCueManipulatorProxy.

Reimplemented in vtkSMCameraManipulatorProxy.

vtkSMKeyFrameAnimationCueManipulatorProxy* vtkSMKeyFrameAnimationCueManipulatorProxy::New  )  [static]
 

Reimplemented from vtkSMProxy.

Reimplemented in vtkSMCameraManipulatorProxy.

virtual void vtkSMKeyFrameAnimationCueManipulatorProxy::SaveInBatchScript ofstream *  file  )  [virtual]
 

Reimplemented from vtkSMAnimationCueManipulatorProxy.

int vtkSMKeyFrameAnimationCueManipulatorProxy::AddKeyFrame vtkSMKeyFrameProxy 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 int vtkSMKeyFrameAnimationCueManipulatorProxy::GetLastAddedKeyFrameIndex  )  [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 vtkSMKeyFrameAnimationCueManipulatorProxy::RemoveKeyFrame vtkSMKeyFrameProxy keyframe  ) 
 

Removes a key frame at the specified time, if any.

void vtkSMKeyFrameAnimationCueManipulatorProxy::RemoveAllKeyFrames  ) 
 

Removes all key frames, if any.

vtkSMKeyFrameProxy* vtkSMKeyFrameAnimationCueManipulatorProxy::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 NULL.

vtkSMKeyFrameProxy* vtkSMKeyFrameAnimationCueManipulatorProxy::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.

vtkSMKeyFrameProxy* vtkSMKeyFrameAnimationCueManipulatorProxy::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.

vtkSMKeyFrameProxy* vtkSMKeyFrameAnimationCueManipulatorProxy::GetNextKeyFrame vtkSMKeyFrameProxy keyFrame  ) 
 

Get the next/previous key frame relative to argument key frame. Returns NULL when no next/previous frame exists.

vtkSMKeyFrameProxy* vtkSMKeyFrameAnimationCueManipulatorProxy::GetPreviousKeyFrame vtkSMKeyFrameProxy keyFrame  ) 
 

Get the next/previous key frame relative to argument key frame. Returns NULL when no next/previous frame exists.

unsigned int vtkSMKeyFrameAnimationCueManipulatorProxy::GetNumberOfKeyFrames  ) 
 

Get the number of keyframes.

vtkSMKeyFrameProxy* vtkSMKeyFrameAnimationCueManipulatorProxy::GetKeyFrameAtIndex int  index  ) 
 

Access the keyframe collection using the indices. Keyframes are sorted according to increasing key frame time.

virtual void vtkSMKeyFrameAnimationCueManipulatorProxy::Initialize vtkSMAnimationCueProxy  )  [protected, virtual]
 

This method is called when the AnimationCue's StartAnimationCueEvent is triggerred, 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 a the the last key frame. This does not happend 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 vtkSMAnimationCueManipulatorProxy.

Reimplemented in vtkSMCameraManipulatorProxy.

virtual void vtkSMKeyFrameAnimationCueManipulatorProxy::Finalize vtkSMAnimationCueProxy  )  [protected, virtual]
 

This method is called when the AnimationCue's EndAnimationCueEvent is triggerred. Typically, the Manipulator will set the state of the Cue to that at the end of the cue.

Reimplemented from vtkSMAnimationCueManipulatorProxy.

Reimplemented in vtkSMCameraManipulatorProxy.

virtual void vtkSMKeyFrameAnimationCueManipulatorProxy::UpdateValue double  currenttime,
vtkSMAnimationCueProxy cueproxy
[protected, virtual]
 

This updates the values based on currenttime. currenttime is normalized to the time range of the Cue.

Implements vtkSMAnimationCueManipulatorProxy.

Reimplemented in vtkSMCameraManipulatorProxy.

int vtkSMKeyFrameAnimationCueManipulatorProxy::AddKeyFrameInternal vtkSMKeyFrameProxy keyframe  )  [protected]
 

int vtkSMKeyFrameAnimationCueManipulatorProxy::RemoveKeyFrameInternal vtkSMKeyFrameProxy keyframe  )  [protected]
 

void vtkSMKeyFrameAnimationCueManipulatorProxy::ExecuteEvent vtkObject *  obj,
unsigned long  event,
void * 
[protected]
 


Friends And Related Function Documentation

friend class vtkSMKeyFrameAnimationCueManipulatorProxyObserver [friend]
 

Definition at line 129 of file vtkSMKeyFrameAnimationCueManipulatorProxy.h.


Member Data Documentation

vtkSMKeyFrameAnimationCueManipulatorProxyInternals* vtkSMKeyFrameAnimationCueManipulatorProxy::Internals [protected]
 

Reimplemented from vtkSMProxy.

Definition at line 117 of file vtkSMKeyFrameAnimationCueManipulatorProxy.h.

vtkSMKeyFrameAnimationCueManipulatorProxyObserver* vtkSMKeyFrameAnimationCueManipulatorProxy::Observer [protected]
 

Definition at line 130 of file vtkSMKeyFrameAnimationCueManipulatorProxy.h.

int vtkSMKeyFrameAnimationCueManipulatorProxy::SendEndEvent [protected]
 

Definition at line 133 of file vtkSMKeyFrameAnimationCueManipulatorProxy.h.

int vtkSMKeyFrameAnimationCueManipulatorProxy::LastAddedKeyFrameIndex [protected]
 

Definition at line 134 of file vtkSMKeyFrameAnimationCueManipulatorProxy.h.


The documentation for this class was generated from the following file:
Generated on Tue May 30 12:39:36 2006 for ParaView by doxygen 1.3.5