00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00023 #ifndef __vtkSMAnimationCueProxy_h
00024 #define __vtkSMAnimationCueProxy_h
00025
00026 #include "vtkSMProxy.h"
00027
00028 class vtkSMAnimationCueProxyObserver;
00029 class vtkAnimationCue;
00030 class vtkSMProperty;
00031 class vtkSMDomain;
00032 class vtkSMAnimationCueManipulatorProxy;
00033
00034 class VTK_EXPORT vtkSMAnimationCueProxy : public vtkSMProxy
00035 {
00036 public:
00037 static vtkSMAnimationCueProxy* New();
00038 vtkTypeRevisionMacro(vtkSMAnimationCueProxy, vtkSMProxy);
00039 void PrintSelf(ostream& os, vtkIndent indent);
00040
00042
00043 virtual void SaveInBatchScript(ofstream*);
00044 void SaveInBatchScript(ofstream* file,
00045 const char* proxyTclName,
00046 int doRegister);
00048
00050
00051 void SetAnimatedProxy(vtkSMProxy* proxy);
00052 vtkGetObjectMacro(AnimatedProxy, vtkSMProxy);
00054
00056 void RemoveAnimatedProxy();
00057
00059
00061 vtkGetStringMacro(AnimatedPropertyName);
00062 vtkSetStringMacro(AnimatedPropertyName);
00064
00066
00068 vtkGetStringMacro(AnimatedDomainName);
00069 vtkSetStringMacro(AnimatedDomainName);
00071
00073
00076 vtkSetMacro(AnimatedElement, int);
00077 vtkGetMacro(AnimatedElement, int);
00079
00081
00084 void SetManipulator(vtkSMAnimationCueManipulatorProxy*);
00085 vtkGetObjectMacro(Manipulator, vtkSMAnimationCueManipulatorProxy);
00087
00089 void SetTimeMode(int mode);
00090
00092
00093 void SetStartTime(double time);
00094 double GetStartTime();
00096
00098
00099 void SetEndTime(double time);
00100 double GetEndTime();
00102
00103 vtkSMProperty* GetAnimatedProperty();
00104 vtkSMDomain* GetAnimatedDomain();
00105
00106 vtkGetObjectMacro(AnimationCue, vtkAnimationCue);
00107
00109
00110 virtual void SetCaching(int enable);
00111 vtkGetMacro(Caching, int);
00113
00114
00115 vtkClientServerID GetID() { return this->SelfID; }
00116
00117
00120 virtual void CloneCopy(vtkSMAnimationCueProxy* src);
00121
00122 protected:
00123 vtkSMAnimationCueProxy();
00124 ~vtkSMAnimationCueProxy();
00125
00126 virtual void CreateVTKObjects(int numeObjects);
00127
00128 virtual void InitializeObservers(vtkAnimationCue* cue);
00129
00130 virtual void ExecuteEvent(vtkObject* wdg, unsigned long event, void* calldata);
00131
00133
00135 virtual void StartCueInternal(void* info);
00136 virtual void TickInternal(void* info);
00137 virtual void EndCueInternal(void* info);
00139
00140
00141 vtkSMAnimationCueProxyObserver* Observer;
00142 friend class vtkSMAnimationCueProxyObserver;
00143
00144
00145 int Caching;
00146
00147
00148 vtkSMProxy* AnimatedProxy;
00149 int AnimatedElement;
00150 char *AnimatedPropertyName;
00151 char *AnimatedDomainName;
00152
00153 vtkAnimationCue *AnimationCue;
00154 vtkSMAnimationCueManipulatorProxy* Manipulator;
00155 private:
00156 vtkSMAnimationCueProxy(const vtkSMAnimationCueProxy&);
00157 void operator=(const vtkSMAnimationCueProxy&);
00158 };
00159
00160 #endif
00161