00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00025 #ifndef __vtkSMKeyFrameProxy_h
00026 #define __vtkSMKeyFrameProxy_h
00027
00028 #include "vtkSMProxy.h"
00029
00030 class vtkSMKeyFrameProxyInternals;
00031 class vtkSMAnimationCueProxy;
00032 struct vtkClientServerID;
00033
00034 class VTK_EXPORT vtkSMKeyFrameProxy : public vtkSMProxy
00035 {
00036 public:
00037 vtkTypeRevisionMacro(vtkSMKeyFrameProxy, vtkSMProxy);
00038 void PrintSelf(ostream& os, vtkIndent indent);
00039 static vtkSMKeyFrameProxy* New();
00040
00041 virtual void SaveInBatchScript(ofstream* file);
00042
00044
00047 vtkSetMacro(KeyTime, double);
00048 vtkGetMacro(KeyTime, double);
00050
00052
00054 void SetKeyValue(double val) { this->SetKeyValue(0, val); }
00055 void SetKeyValue(unsigned int index, double val);
00056 double GetKeyValue() { return this->GetKeyValue(0); }
00057 double GetKeyValue(unsigned int index);
00059
00061
00062 unsigned int GetNumberOfKeyValues();
00063 void SetNumberOfKeyValues(unsigned int num);
00065
00067
00070 virtual void UpdateValue(double currenttime,
00071 vtkSMAnimationCueProxy* cueProxy, vtkSMKeyFrameProxy* next);
00073
00074 vtkClientServerID GetID() { return this->SelfID; }
00075
00076
00078
00079 virtual void Copy(vtkSMProxy* src, const char* exceptionClass,
00080 int proxyPropertyCopyFlag);
00082 protected:
00083 vtkSMKeyFrameProxy();
00084 ~vtkSMKeyFrameProxy();
00085
00086 double KeyTime;
00087 vtkSMKeyFrameProxyInternals* Internals;
00088
00089 private:
00090 vtkSMKeyFrameProxy(const vtkSMKeyFrameProxy&);
00091 void operator=(const vtkSMKeyFrameProxy&);
00092 };
00093
00094 #endif
00095