00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00021 #ifndef __vtkPVSinusoidKeyFrame_h
00022 #define __vtkPVSinusoidKeyFrame_h
00023
00024 #include "vtkPVPropertyKeyFrame.h"
00025
00026 class vtkKWThumbWheel;
00027 class vtkKWLabel;
00028
00029 class VTK_EXPORT vtkPVSinusoidKeyFrame : public vtkPVPropertyKeyFrame
00030 {
00031 public:
00032 static vtkPVSinusoidKeyFrame* New();
00033 vtkTypeRevisionMacro(vtkPVSinusoidKeyFrame, vtkPVPropertyKeyFrame);
00034 void PrintSelf(ostream& os, vtkIndent indent);
00035
00036 void FrequencyChangedCallback();
00037 void PhaseChangedCallback();
00038 void OffsetChangedCallback();
00039
00040 void SetFrequency(double base);
00041 void SetFrequencyWithTrace(double f);
00042 double GetFrequency();
00043
00044 void SetPhase(double v);
00045 void SetPhaseWithTrace(double p);
00046 double GetPhase();
00047
00048 void SetOffsetWithTrace(double o);
00049 void SetOffset(double v);
00050 double GetOffset();
00051
00052 virtual void SaveState(ofstream* file);
00053 virtual void UpdateEnableState();
00054 protected:
00055 vtkPVSinusoidKeyFrame();
00056 ~vtkPVSinusoidKeyFrame();
00057
00058 virtual void ChildCreate(vtkKWApplication* app);
00059
00060 vtkKWLabel* PhaseLabel;
00061 vtkKWThumbWheel* PhaseThumbWheel;
00062
00063 vtkKWLabel* FrequencyLabel;
00064 vtkKWThumbWheel* FrequencyThumbWheel;
00065
00066 vtkKWLabel* OffsetLabel;
00067 vtkKWThumbWheel* OffsetThumbWheel;
00068
00069 virtual void UpdateValuesFromProxy();
00070 private:
00071 vtkPVSinusoidKeyFrame(const vtkPVSinusoidKeyFrame&);
00072 void operator=(const vtkPVSinusoidKeyFrame&);
00073
00074 };
00075
00076 #endif