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

vtkPVAnimationManager Class Reference

#include <vtkPVAnimationManager.h>

Inheritance diagram for vtkPVAnimationManager:

Inheritance graph
[legend]
Collaboration diagram for vtkPVAnimationManager:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 vtkTypeRevisionMacro (vtkPVAnimationManager, vtkPVTracedWidget)
void PrintSelf (ostream &os,vtkIndent indent)
virtual void Create (vtkKWApplication *app)
virtual vtkPVVerticalAnimationInterfaceGetVAnimationInterface ()
virtual vtkPVHorizontalAnimationInterfaceGetHAnimationInterface ()
void Update ()
int GetInPlay ()
void SetTimeMarker (double normalized_time)
void SaveAnimation ()
void SaveGeometry ()
virtual void SaveInBatchScript (ofstream *file)
void SaveState (ofstream *file)
void RecordState ()
virtual void UpdateEnableState ()
void SetAnimationTime (double ntime)
void InvalidateAllGeometries ()
void AddDefaultAnimation (vtkPVSource *pvSource)
virtual void ValidateAndAddSpecialCues ()
void RemoveAllKeyFrames ()
vtkPVAnimationCueTreeGetAnimationCueTreeForProxy (const char *proxyname)
void PrepareForDelete ()
 VTK_LEGACY (void SetCurrentTime(double ntime))
void SetVerticalParent (vtkKWWidget *parent)
void SetHorizontalParent (vtkKWWidget *parent)
void ShowAnimationInterfaces ()
void ShowVAnimationInterface ()
void ShowHAnimationInterface ()
virtual vtkPVAnimationSceneGetAnimationScene ()
virtual void SetRecordAll (int)
virtual int GetRecordAll ()
void StartRecording ()
void StopRecording ()
virtual void SaveWindowGeometryToRegistry ()
virtual void RestoreWindowGeometryFromRegistry ()
virtual int GetAdvancedView ()
void SetAdvancedView (int advanced)
virtual int GetInRecording ()
void SetCacheGeometry (int cache)
int GetCacheGeometry ()
void EnableCacheCheck ()
void DisableCacheCheck ()
virtual vtkPVActiveTrackSelectorGetActiveTrackSelector ()

Static Public Member Functions

vtkPVAnimationManagerNew ()

Protected Member Functions

 vtkPVAnimationManager ()
 ~vtkPVAnimationManager ()
void ValidateOldSources ()
void AddNewSources ()
void ExecuteEvent (vtkObject *obj, unsigned long event, void *calldata)
vtkPVAnimationCueSetupCue (vtkPVSource *pvSource, vtkPVAnimationCueTree *parent, vtkSMProxy *proxy, const char *propertyname, const char *domainname, int element, const char *label, vtkPVAnimationCue *cueToSetup=NULL)
int AddStringVectorProperty (vtkPVSource *pvSource, vtkSMProxy *proxy, vtkPVAnimationCueTree *pvCueTree, vtkSMStringVectorProperty *svp)
void InitializeObservers (vtkPVAnimationCue *cue)
vtkPVAnimationCueTreeGetAnimationCueTreeForSource (vtkPVSource *pvSource)
char * GetSourceListName (const char *proxyname)
char * GetSourceName (const char *proxyname)
char * GetSubSourceName (const char *proxyname)
char * GetSourceKey (const char *proxyname)
int AddProperties (vtkPVSource *pvSource, vtkSMProxy *proxy, vtkPVAnimationCueTree *pvCueTree)

Protected Attributes

int RecordAll
vtkKWWidgetVerticalParent
vtkKWWidgetHorizontalParent
vtkSMProxyIteratorProxyIterator
vtkPVVerticalAnimationInterfaceVAnimationInterface
vtkPVHorizontalAnimationInterfaceHAnimationInterface
vtkPVAnimationSceneAnimationScene
vtkPVActiveTrackSelectorActiveTrackSelector
vtkPVAnimationManagerInternals * Internals
vtkPVAnimationManagerObserver * Observer
int AdvancedView
int InRecording
double RecordingIncrement
unsigned long ObserverTag

Friends

class vtkPVAnimationManagerObserver

Detailed Description

vtkPVAnimationManager manages the Animation system. Here, we describe the working of animation in ParaView. Support for Animation in ParaView is split into three layers. 1) Support in VTK. VTK provides support for Animation with vtkAnimationCue and vtkAnimationScene. A Cue (or vtkAnimationCue) is a entity that is animated over time. The Cue has no knowledge of what is being animated or how. All it knows is what are the start and end times for which the animated entity is animated. These times can be relative or normalized (based on its Time mode). A Scene (or vtkAnimationScene) is the animation setup. One can add several cues to a scene. Scene provides for playing and stopping the animation. In play, the clock time is periodically incremented (depending upon the play mode of the scene) and reported to each constituent cue. The Cue then decides if the current clock time is valid for that particular cue and fires StartAnimationCueEvent, EndAnimationCueEvent and AnimationCueTickEvent events accordingly. 2) Support in ServerManager. ParaView support animation first at the ServerManager level. There are proxies for cue and scene (vtkSMAnimationCueProxy and vtkSMAnimationSceneProxy). However, unlike most other proxies, these are client side proxies i.e. they don't create any objects on any servers and hence never use ClientServerStreams for any communication. vtkSMAnimationCueProxy can have a Manipulator associated with it. A manipulator is a vtkSMAnimationCueManipulatorProxy derrived class which know how the animated entity it to be changed. On every tick event that the vtkSMAnimationCueProxy receives from the corresponding vtkAnimationCue, the proxy checks if has a Manipulator object, and if so calls UpdateValue() on the Manipulator. A concrete manipulator overrides this method to use the current time to perform some change (animation) in the visualization. vtkSMKeyFrameAnimationCueManipulatorProxy is a special manipulator that manages key frames (vtkSMKeyFrameProxy derrived class). A keyframe is associated with a time (key time) and a value (key value). The key frame is responsible to performing the interpolation of the value from the start of the key frame (i.e. the key time) to the next consecutive key frame maintained by the KeyFrameManipulator. There are different types of key frame depending upon the nature of interpolation eg. linear, exponential, sinusoidal. 3) Support in the GUI. vtkPVAnimationManager forms the central point that brings togther the GUI support for animation. The GUI supports creation/modification of cues with Key frame manipulators alone. Also, the Scene start time is 0 and end time is the duration of the animation. Also, all cues added to the Scene have normalized times and have start times 0 and end time 1 irrespective of when the first key frame starts (or last key frame ends). GUI has two parts, the Vertical interface and the Horizontal Interface. The former shows the scene properties, selected key frame properties while the later shows the GUI to add/modify keyframes.

Definition at line 89 of file vtkPVAnimationManager.h.


Constructor & Destructor Documentation

vtkPVAnimationManager::vtkPVAnimationManager  )  [protected]
 

vtkPVAnimationManager::~vtkPVAnimationManager  )  [protected]
 


Member Function Documentation

vtkPVAnimationManager* vtkPVAnimationManager::New  )  [static]
 

Reimplemented from vtkPVTracedWidget.

vtkPVAnimationManager::vtkTypeRevisionMacro vtkPVAnimationManager  ,
vtkPVTracedWidget 
 

void vtkPVAnimationManager::PrintSelf ostream &  os,
vtkIndent  indent
 

Reimplemented from vtkPVTracedWidget.

virtual void vtkPVAnimationManager::Create vtkKWApplication app  )  [virtual]
 

Create the widget.

Reimplemented from vtkKWCompositeWidget.

void vtkPVAnimationManager::SetVerticalParent vtkKWWidget parent  ) 
 

Set the parent frames for the vertical and horizontal animation guis.

void vtkPVAnimationManager::SetHorizontalParent vtkKWWidget parent  ) 
 

Set the parent frames for the vertical and horizontal animation guis.

virtual vtkPVVerticalAnimationInterface* vtkPVAnimationManager::GetVAnimationInterface  )  [virtual]
 

virtual vtkPVHorizontalAnimationInterface* vtkPVAnimationManager::GetHAnimationInterface  )  [virtual]
 

void vtkPVAnimationManager::ShowAnimationInterfaces  ) 
 

Pack both the animation interfaces.

void vtkPVAnimationManager::ShowVAnimationInterface  ) 
 

Pack both the animation interfaces.

void vtkPVAnimationManager::ShowHAnimationInterface  ) 
 

Pack both the animation interfaces.

void vtkPVAnimationManager::Update  ) 
 

Iterates over the animatable proxies registered with the Proxy Manager and updates the gui. If new proxies have been added, cue are added for those, and old once have been removed, cue are removed.

virtual vtkPVAnimationScene* vtkPVAnimationManager::GetAnimationScene  )  [virtual]
 

Get the animation scene object which can be used to play/stop the animation.

int vtkPVAnimationManager::GetInPlay  ) 
 

Returns is the animation is currently being played.

void vtkPVAnimationManager::SetTimeMarker double  normalized_time  ) 
 

Time Marker is the vertical line over the time lines. This method sets the time marker for all the timelines in the Horizontal Interface. The argument is normalized time which is 0 at the start of the scene (which is same as the start of all the timelines) and 1 at the end of the scene (or end of each of the timelines).

void vtkPVAnimationManager::SaveAnimation  ) 
 

void vtkPVAnimationManager::SaveGeometry  ) 
 

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

Save the animation in batch script.

void vtkPVAnimationManager::SaveState ofstream *  file  ) 
 

Save the state of the animation interface, so that the animation it can be restored at a later point.

virtual void vtkPVAnimationManager::SetRecordAll int   )  [virtual]
 

Get/Set if recording records only those cue's that have focus or all of them. If not set, then only the changes in teh property that has the focus are key framed.

virtual int vtkPVAnimationManager::GetRecordAll  )  [virtual]
 

Get/Set if recording records only those cue's that have focus or all of them. If not set, then only the changes in teh property that has the focus are key framed.

void vtkPVAnimationManager::RecordState  ) 
 

Record state records the current state of the animation.

void vtkPVAnimationManager::StartRecording  ) 
 

Enable/Disable recording.

void vtkPVAnimationManager::StopRecording  ) 
 

Enable/Disable recording.

virtual void vtkPVAnimationManager::UpdateEnableState  )  [virtual]
 

Update the "enable" state of the object and its internal parts. Depending on different Ivars (this->Enabled, the application's Limited Edition Mode, etc.), the "enable" state of the object is updated and propagated to its internal parts/subwidgets. This will, for example, enable/disable parts of the widget UI, enable/disable the visibility of 3D widgets, etc.

Reimplemented from vtkKWWidget.

void vtkPVAnimationManager::SetAnimationTime double  ntime  ) 
 

Sets the animation time. Changes the system state to reflect the one at the point in time. Time is normalized Scene time.

void vtkPVAnimationManager::InvalidateAllGeometries  ) 
 

Invalidates all geometry.

void vtkPVAnimationManager::AddDefaultAnimation vtkPVSource pvSource  ) 
 

Can be called to set up a default animation for the given type of pvSource. Presently, a default animation is added to only to a reader with multiple timesteps.

virtual void vtkPVAnimationManager::ValidateAndAddSpecialCues  )  [virtual]
 

virtual void vtkPVAnimationManager::SaveWindowGeometryToRegistry  )  [virtual]
 

Save/Restore window geometry

virtual void vtkPVAnimationManager::RestoreWindowGeometryFromRegistry  )  [virtual]
 

Save/Restore window geometry

void vtkPVAnimationManager::RemoveAllKeyFrames  ) 
 

Remove all the keyframes in the animation.

virtual int vtkPVAnimationManager::GetAdvancedView  )  [virtual]
 

Advanced animation view indicates whether to show only the properties marked as animatebale in the ServerManager XML or all the propeties that can be animated. This helps is reducing teh clutter.

void vtkPVAnimationManager::SetAdvancedView int  advanced  ) 
 

Advanced animation view indicates whether to show only the properties marked as animatebale in the ServerManager XML or all the propeties that can be animated. This helps is reducing teh clutter.

vtkPVAnimationCueTree* vtkPVAnimationManager::GetAnimationCueTreeForProxy const char *  proxyname  ) 
 

Gets the cue tree for an animateable proxy registed with the proxyname.

virtual int vtkPVAnimationManager::GetInRecording  )  [virtual]
 

Determine if the animation manager is currently recording.

void vtkPVAnimationManager::SetCacheGeometry int  cache  ) 
 

Enable/Disable caching. Calls SetCaching on the PVAnimationScene.

int vtkPVAnimationManager::GetCacheGeometry  ) 
 

Enable/Disable caching. Calls SetCaching on the PVAnimationScene.

void vtkPVAnimationManager::EnableCacheCheck  ) 
 

Enables/Disables if the Caching check box state. Disabling the Cache check button also leads to a call to SetCacheGeometry(0). Enabling the Cache check button leads to a call to SetCacheGeometry with the current state of the check button.

void vtkPVAnimationManager::DisableCacheCheck  ) 
 

Enables/Disables if the Caching check box state. Disabling the Cache check button also leads to a call to SetCacheGeometry(0). Enabling the Cache check button leads to a call to SetCacheGeometry with the current state of the check button.

void vtkPVAnimationManager::PrepareForDelete  ) 
 

to free up the render module proxy.

virtual vtkPVActiveTrackSelector* vtkPVAnimationManager::GetActiveTrackSelector  )  [virtual]
 

Returns the active track selector widget

vtkPVAnimationManager::VTK_LEGACY void   SetCurrentTime(double ntime)  ) 
 

Deprecated:
Replaced by vtkPVAnimationManager::SetAnimationTime().

char* vtkPVAnimationManager::GetSourceListName const char *  proxyname  )  [protected]
 

NOTE: these methods allocated memory. It is up to the caller to delete it.

char* vtkPVAnimationManager::GetSourceName const char *  proxyname  )  [protected]
 

NOTE: these methods allocated memory. It is up to the caller to delete it.

char* vtkPVAnimationManager::GetSubSourceName const char *  proxyname  )  [protected]
 

NOTE: these methods allocated memory. It is up to the caller to delete it.

char* vtkPVAnimationManager::GetSourceKey const char *  proxyname  )  [protected]
 

NOTE: these methods allocated memory. It is up to the caller to delete it.

int vtkPVAnimationManager::AddProperties vtkPVSource pvSource,
vtkSMProxy proxy,
vtkPVAnimationCueTree pvCueTree
[protected]
 

Iterates over properties of the proxy and add animation cues.

void vtkPVAnimationManager::ValidateOldSources  )  [protected]
 

Checks to see if any of the animation cues points to a deleted PVSource. Such cues are removed.

void vtkPVAnimationManager::AddNewSources  )  [protected]
 

Runs over the proxies registered as "animateable" with the ProxyManager and checks to see if they are added to the Animation interace. If not, they are added to the interface.

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

vtkPVAnimationCue* vtkPVAnimationManager::SetupCue vtkPVSource pvSource,
vtkPVAnimationCueTree parent,
vtkSMProxy proxy,
const char *  propertyname,
const char *  domainname,
int  element,
const char *  label,
vtkPVAnimationCue cueToSetup = NULL
[protected]
 

int vtkPVAnimationManager::AddStringVectorProperty vtkPVSource pvSource,
vtkSMProxy proxy,
vtkPVAnimationCueTree pvCueTree,
vtkSMStringVectorProperty svp
[protected]
 

void vtkPVAnimationManager::InitializeObservers vtkPVAnimationCue cue  )  [protected]
 

vtkPVAnimationCueTree* vtkPVAnimationManager::GetAnimationCueTreeForSource vtkPVSource pvSource  )  [protected]
 


Friends And Related Function Documentation

friend class vtkPVAnimationManagerObserver [friend]
 

Definition at line 281 of file vtkPVAnimationManager.h.


Member Data Documentation

int vtkPVAnimationManager::RecordAll [protected]
 

Definition at line 242 of file vtkPVAnimationManager.h.

vtkKWWidget* vtkPVAnimationManager::VerticalParent [protected]
 

Definition at line 243 of file vtkPVAnimationManager.h.

vtkKWWidget* vtkPVAnimationManager::HorizontalParent [protected]
 

Definition at line 244 of file vtkPVAnimationManager.h.

vtkSMProxyIterator* vtkPVAnimationManager::ProxyIterator [protected]
 

Definition at line 246 of file vtkPVAnimationManager.h.

vtkPVVerticalAnimationInterface* vtkPVAnimationManager::VAnimationInterface [protected]
 

Definition at line 248 of file vtkPVAnimationManager.h.

vtkPVHorizontalAnimationInterface* vtkPVAnimationManager::HAnimationInterface [protected]
 

Definition at line 249 of file vtkPVAnimationManager.h.

vtkPVAnimationScene* vtkPVAnimationManager::AnimationScene [protected]
 

Definition at line 250 of file vtkPVAnimationManager.h.

vtkPVActiveTrackSelector* vtkPVAnimationManager::ActiveTrackSelector [protected]
 

Definition at line 251 of file vtkPVAnimationManager.h.

vtkPVAnimationManagerInternals* vtkPVAnimationManager::Internals [protected]
 

PIMPL Encapsulation for STL containers

Reimplemented from vtkKWWidget.

Definition at line 253 of file vtkPVAnimationManager.h.

vtkPVAnimationManagerObserver* vtkPVAnimationManager::Observer [protected]
 

Definition at line 282 of file vtkPVAnimationManager.h.

int vtkPVAnimationManager::AdvancedView [protected]
 

Definition at line 300 of file vtkPVAnimationManager.h.

int vtkPVAnimationManager::InRecording [protected]
 

Definition at line 301 of file vtkPVAnimationManager.h.

double vtkPVAnimationManager::RecordingIncrement [protected]
 

Definition at line 302 of file vtkPVAnimationManager.h.

unsigned long vtkPVAnimationManager::ObserverTag [protected]
 

Definition at line 304 of file vtkPVAnimationManager.h.


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