00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00040 #ifndef __vtkAnimationCue_h
00041 #define __vtkAnimationCue_h
00042
00043 #include "vtkObject.h"
00044
00045 class VTK_COMMON_EXPORT vtkAnimationCue: public vtkObject
00046 {
00047 public:
00048 vtkTypeRevisionMacro(vtkAnimationCue,vtkObject);
00049 void PrintSelf(ostream& os, vtkIndent indent);
00050
00051 static vtkAnimationCue* New();
00052
00053
00054
00055
00056
00057
00058
00059
00060 class AnimationCueInfo
00061 {
00062 public:
00063 double StartTime;
00064 double EndTime;
00065 double AnimationTime;
00066 double DeltaTime;
00067 double ClockTime;
00068 };
00069
00070
00072
00077 virtual void SetTimeMode(int mode);
00078 vtkGetMacro(TimeMode, int);
00079 void SetTimeModeToRelative()
00080 { this->SetTimeMode(TIMEMODE_RELATIVE); }
00081 void SetTimeModeToNormalized()
00082 { this->SetTimeMode(TIMEMODE_NORMALIZED); }
00084
00086
00093 vtkSetMacro(StartTime, double);
00094 vtkGetMacro(StartTime, double);
00096
00098
00104 vtkSetMacro(EndTime, double);
00105 vtkGetMacro(EndTime, double);
00107
00121 virtual void Tick(double currenttime, double deltatime, double clocktime);
00122
00125 virtual void Initialize();
00126
00129 virtual void Finalize();
00130
00132
00135 vtkGetMacro(AnimationTime, double);
00137
00139
00142 vtkGetMacro(DeltaTime, double);
00144
00146
00150 vtkGetMacro(ClockTime, double);
00152
00153
00154 enum TimeCodes
00155 {
00156 TIMEMODE_NORMALIZED=0,
00157 TIMEMODE_RELATIVE=1
00158 };
00159
00160 protected:
00161 vtkAnimationCue();
00162 ~vtkAnimationCue();
00163
00164 enum {
00165 UNINITIALIZED=0,
00166 INACTIVE,
00167 ACTIVE
00168 };
00169
00170 double StartTime;
00171 double EndTime;
00172 int TimeMode;
00173
00174
00175
00176
00177 double AnimationTime;
00178 double DeltaTime;
00179 double ClockTime;
00180
00182 int CueState;
00183
00185
00188 virtual void StartCueInternal();
00189 virtual void TickInternal(double currenttime, double deltatime,
00190 double clocktime);
00191 virtual void EndCueInternal();
00193
00194 private:
00195 vtkAnimationCue(const vtkAnimationCue&);
00196 void operator=(const vtkAnimationCue&);
00197 };
00198
00199 #endif
00200
00201
00202