00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
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
00129 friend class vtkSMKeyFrameAnimationCueManipulatorProxyObserver;
00130 vtkSMKeyFrameAnimationCueManipulatorProxyObserver* Observer;
00131 void ExecuteEvent(vtkObject* obj, unsigned long event, void* );
00132
00133 int SendEndEvent;
00134 int LastAddedKeyFrameIndex;
00135
00136 private:
00137 vtkSMKeyFrameAnimationCueManipulatorProxy(const vtkSMKeyFrameAnimationCueManipulatorProxy&);
00138 void operator=(const vtkSMKeyFrameAnimationCueManipulatorProxy&);
00139 };
00140
00141 #endif
00142