00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00024 #ifndef __vtkPVTimeLine_h
00025 #define __vtkPVTimeLine_h
00026
00027 #include "vtkKWParameterValueFunctionEditor.h"
00028
00029 class vtkPVAnimationCue;
00030 class vtkPVTraceHelper;
00031
00032 class VTK_EXPORT vtkPVTimeLine : public vtkKWParameterValueFunctionEditor
00033 {
00034 public:
00035 static vtkPVTimeLine* New();
00036 vtkTypeRevisionMacro(vtkPVTimeLine, vtkKWParameterValueFunctionEditor);
00037 void PrintSelf(ostream& os, vtkIndent indent);
00038
00040 virtual void Create(vtkKWApplication* app);
00041
00042 virtual int HasFunction();
00043 virtual int GetFunctionSize();
00044
00047 int GetParameterBounds(double* bounds);
00048
00050 void RemoveAll();
00051
00053
00055 void MoveStartToParameter(double parameter, int enable_scaling);
00056 void MoveEndToParameter(double parameter, int enable_scaling);
00058
00059 void GetFocus();
00060 void RemoveFocus();
00061
00063
00065 vtkSetVector3Macro(ActiveColor, double);
00066 vtkGetVector3Macro(ActiveColor, double);
00067 vtkSetVector3Macro(InactiveColor, double);
00068 vtkGetVector3Macro(InactiveColor, double);
00070
00071 int HasFocus() {return this->Focus; }
00072
00073 void SetAnimationCue(vtkPVAnimationCue* cue);
00074
00076
00077 void SetTimeMarker(double time);
00078 double GetTimeMarker();
00080
00083 void ForceUpdate();
00084
00086
00088 virtual void StartInteractionCallback(int x, int y);
00089 virtual void MovePointCallback(int x, int y, int shift);
00090 virtual void EndInteractionCallback(int x, int y);
00091 virtual void ParameterCursorStartInteractionCallback(int x);
00092 virtual void ParameterCursorEndInteractionCallback();
00093 virtual void ParameterCursorMoveCallback(int x);
00095
00097
00098 vtkGetObjectMacro(TraceHelper, vtkPVTraceHelper);
00100
00102 int CanRemoveFunctionPoint(int id);
00103 protected:
00104 vtkPVTimeLine();
00105 ~vtkPVTimeLine();
00106
00107
00108 virtual int FunctionPointParameterIsLocked(int id);
00109 virtual int FunctionPointCanBeMovedToParameter(int id, double parameter);
00110
00111 virtual unsigned long GetFunctionMTime();
00112 virtual int GetFunctionPointParameter(int id, double *parameter);
00113 virtual int GetFunctionPointDimensionality();
00114 virtual int GetFunctionPointValues(int id, double *values);
00115 virtual int SetFunctionPointValues(int id, const double *values);
00116 virtual int InterpolateFunctionPointValues(double parameter, double *values);
00117 virtual int AddFunctionPoint(double parameter, const double *values, int *id);
00118 virtual int SetFunctionPoint(int id, double parameter, const double *values);
00119 virtual int RemoveFunctionPoint(int id);
00120
00122
00123 virtual void InvokeSelectionChangedCommand();
00124 double ActiveColor[3];
00125 double InactiveColor[3];
00127
00128 int OldSelection;
00129 int Focus;
00130 vtkPVAnimationCue* AnimationCue;
00131 vtkPVTraceHelper* TraceHelper;
00132
00133 private:
00134 vtkPVTimeLine(const vtkPVTimeLine&);
00135 void operator=(const vtkPVTimeLine&);
00136 };
00137
00138
00139 #endif
00140