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

Servers/ServerManager/vtkSMKeyFrameAnimationCueManipulatorProxy.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   ParaView
00004   Module:    $RCSfile: vtkSMKeyFrameAnimationCueManipulatorProxy.h,v $
00005 
00006   Copyright (c) Kitware, Inc.
00007   All rights reserved.
00008   See Copyright.txt or http://www.paraview.org/HTML/Copyright.html for details.
00009 
00010      This software is distributed WITHOUT ANY WARRANTY; without even
00011      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
00012      PURPOSE.  See the above copyright notice for more information.
00013 
00014 =========================================================================*/
00028 #ifndef __vtkSMKeyFrameAnimationCueManipulatorProxy_h
00029 #define __vtkSMKeyFrameAnimationCueManipulatorProxy_h
00030 
00031 #include "vtkSMAnimationCueManipulatorProxy.h"
00032 
00033 class vtkSMKeyFrameProxy;
00034 class vtkSMKeyFrameAnimationCueManipulatorProxyInternals;
00035 class vtkSMKeyFrameAnimationCueManipulatorProxyObserver;
00036 
00037 class VTK_EXPORT vtkSMKeyFrameAnimationCueManipulatorProxy : 
00038   public vtkSMAnimationCueManipulatorProxy
00039 {
00040 public:
00041   vtkTypeRevisionMacro(vtkSMKeyFrameAnimationCueManipulatorProxy, 
00042     vtkSMAnimationCueManipulatorProxy);
00043   void PrintSelf(ostream& os, vtkIndent indent);
00044   static vtkSMKeyFrameAnimationCueManipulatorProxy* New();
00045   
00046   virtual void SaveInBatchScript(ofstream* file);
00047 
00052   int AddKeyFrame (vtkSMKeyFrameProxy* keyframe);
00053 
00055 
00059   vtkGetMacro(LastAddedKeyFrameIndex, int);
00061 
00063   void RemoveKeyFrame(vtkSMKeyFrameProxy* keyframe);
00064  
00066   void RemoveAllKeyFrames();
00067 
00070   vtkSMKeyFrameProxy* GetKeyFrame(double time);
00071 
00073 
00079   vtkSMKeyFrameProxy* GetStartKeyFrame(double time);
00080   vtkSMKeyFrameProxy* GetEndKeyFrame(double time);
00082 
00084 
00086   vtkSMKeyFrameProxy* GetNextKeyFrame(vtkSMKeyFrameProxy* keyFrame);
00087   vtkSMKeyFrameProxy* GetPreviousKeyFrame(vtkSMKeyFrameProxy* keyFrame);
00089 
00091   unsigned int GetNumberOfKeyFrames();
00092 
00095   vtkSMKeyFrameProxy* GetKeyFrameAtIndex(int index);
00096 
00097 protected:
00098   vtkSMKeyFrameAnimationCueManipulatorProxy();
00099   ~vtkSMKeyFrameAnimationCueManipulatorProxy();
00100 
00113   virtual void Initialize(vtkSMAnimationCueProxy*);
00114 
00115   virtual void Finalize(vtkSMAnimationCueProxy*);
00116 
00117   vtkSMKeyFrameAnimationCueManipulatorProxyInternals* Internals;
00119 
00121   virtual void UpdateValue(double currenttime, 
00122     vtkSMAnimationCueProxy* cueproxy);
00124 
00125   int AddKeyFrameInternal(vtkSMKeyFrameProxy* keyframe);
00126   int RemoveKeyFrameInternal(vtkSMKeyFrameProxy* keyframe);
00127 
00128   //BTX
00129   friend class vtkSMKeyFrameAnimationCueManipulatorProxyObserver;
00130   vtkSMKeyFrameAnimationCueManipulatorProxyObserver* Observer;
00131   void ExecuteEvent(vtkObject* obj, unsigned long event, void* );
00132   //ETX
00133   int SendEndEvent;
00134   int LastAddedKeyFrameIndex;
00135 
00136 private:
00137   vtkSMKeyFrameAnimationCueManipulatorProxy(const vtkSMKeyFrameAnimationCueManipulatorProxy&); // Not implemented.
00138   void operator=(const vtkSMKeyFrameAnimationCueManipulatorProxy&); // Not implemented.
00139 };
00140 
00141 #endif
00142 

Generated on Tue May 30 12:31:48 2006 for ParaView by doxygen 1.3.5