debian/tmp/usr/include/KWWidgets/vtkKWPiecewiseFunctionEditor.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef __vtkKWPiecewiseFunctionEditor_h
00025 #define __vtkKWPiecewiseFunctionEditor_h
00026
00027 #include "vtkKWParameterValueHermiteFunctionEditor.h"
00028
00029 class vtkKWCheckButton;
00030 class vtkPiecewiseFunction;
00031 class vtkKWScaleWithEntry;
00032 class vtkColorTransferFunction;
00033
00034 class KWWidgets_EXPORT vtkKWPiecewiseFunctionEditor : public vtkKWParameterValueHermiteFunctionEditor
00035 {
00036 public:
00037 static vtkKWPiecewiseFunctionEditor* New();
00038 vtkTypeRevisionMacro(vtkKWPiecewiseFunctionEditor,vtkKWParameterValueHermiteFunctionEditor);
00039 void PrintSelf(ostream& os, vtkIndent indent);
00040
00041
00042
00043
00044
00045 vtkGetObjectMacro(PiecewiseFunction, vtkPiecewiseFunction);
00046 virtual void SetPiecewiseFunction(vtkPiecewiseFunction*);
00047
00048
00049
00050 virtual void Update();
00051
00052
00053
00054
00055
00056 vtkGetObjectMacro(PointColorTransferFunction, vtkColorTransferFunction);
00057 virtual void SetPointColorTransferFunction(vtkColorTransferFunction*);
00058
00059
00060
00061
00062
00063
00064
00065
00066 virtual void SetWindowLevelMode(int);
00067 vtkBooleanMacro(WindowLevelMode, int);
00068 vtkGetMacro(WindowLevelMode, int);
00069
00070
00071
00072
00073
00074
00075
00076
00077
00078
00079 virtual void SetWindowLevelModeChangedCommand(
00080 vtkObject *object,const char *method);
00081
00082
00083
00084
00085
00086 virtual void SetWindowLevelModeButtonVisibility(int);
00087 vtkBooleanMacro(WindowLevelModeButtonVisibility, int);
00088 vtkGetMacro(WindowLevelModeButtonVisibility, int);
00089
00090
00091
00092
00093
00094 vtkSetMacro(WindowLevelModeLockEndPointValue, int);
00095 vtkBooleanMacro(WindowLevelModeLockEndPointValue, int);
00096 vtkGetMacro(WindowLevelModeLockEndPointValue, int);
00097
00098
00099
00100
00101
00102 virtual void SetWindowLevel(double window, double level);
00103 virtual void SetInteractiveWindowLevel(double window, double level);
00104 vtkGetMacro(Window, double);
00105 vtkGetMacro(Level, double);
00106
00107
00108
00109
00110
00111
00112 vtkBooleanMacro(ValueEntryVisibility, int);
00113 virtual void SetValueEntryVisibility(int);
00114 vtkGetMacro(ValueEntryVisibility, int);
00115
00116
00117
00118
00119
00120 vtkGetObjectMacro(ValueEntry, vtkKWEntryWithLabel);
00121
00122
00123
00124
00125
00126
00127
00128
00129 virtual void UpdateEnableState();
00130
00131
00132
00133
00134 virtual int HasFunction();
00135 virtual int GetFunctionSize();
00136 virtual unsigned long GetFunctionMTime();
00137 virtual int GetFunctionPointParameter(int id, double *parameter);
00138 virtual int GetFunctionPointDimensionality();
00139
00140
00141
00142 virtual int FunctionPointCanBeAdded();
00143 virtual int FunctionPointCanBeRemoved(int id);
00144 virtual int FunctionPointParameterIsLocked(int id);
00145 virtual int FunctionPointValueIsLocked(int id);
00146
00147
00148
00149 virtual int MoveFunctionPoint(int id,double parameter,const double *values);
00150
00151
00152
00153 virtual void ValueEntryCallback(const char *value);
00154 virtual void WindowLevelModeCallback(int state);
00155
00156 protected:
00157 vtkKWPiecewiseFunctionEditor();
00158 ~vtkKWPiecewiseFunctionEditor();
00159
00160
00161
00162 virtual void CreateWidget();
00163
00164
00165
00166
00167
00168
00169
00170 virtual int GetFunctionPointValues(int id, double *values);
00171 virtual int SetFunctionPointValues(int id, const double *values);
00172 virtual int InterpolateFunctionPointValues(double parameter, double *values);
00173 virtual int AddFunctionPoint(double parameter, const double *values,int *id);
00174 virtual int SetFunctionPoint(int id, double parameter, const double *values);
00175 virtual int RemoveFunctionPoint(int id);
00176 virtual int FunctionLineIsSampledBetweenPoints(int id1, int id2);
00177 virtual int GetFunctionPointMidPoint(int id, double *pos);
00178 virtual int SetFunctionPointMidPoint(int id, double pos);
00179 virtual int GetFunctionPointSharpness(int id, double *sharpness);
00180 virtual int SetFunctionPointSharpness(int id, double sharpness);
00181 virtual int FunctionPointMidPointIsLocked(int id);
00182 virtual int FunctionPointSharpnessIsLocked(int id);
00183
00184 virtual int GetMidPointVisibility();
00185
00186
00187
00188 virtual int GetFunctionPointColorInCanvas(int id, double rgb[3]);
00189
00190 virtual void UpdatePointEntries(int id);
00191
00192
00193 virtual void GetLineCoordinates(int id1, int id2, vtksys_ios::ostream *tk_cmd);
00194
00195
00196 vtkPiecewiseFunction *PiecewiseFunction;
00197 vtkColorTransferFunction *PointColorTransferFunction;
00198
00199 int WindowLevelMode;
00200 int ValueEntryVisibility;
00201 int WindowLevelModeButtonVisibility;
00202 int WindowLevelModeLockEndPointValue;
00203
00204 double Window;
00205 double Level;
00206
00207 virtual void UpdatePointsFromWindowLevel(int interactive = 0);
00208 virtual void UpdateWindowLevelFromPoints();
00209
00210 virtual void InvokeWindowLevelModeChangedCommand(int mode);
00211 virtual void InvokeFunctionChangedCommand();
00212 virtual void InvokeFunctionChangingCommand();
00213
00214
00215
00216 virtual void Pack();
00217 virtual void PackPointEntries();
00218
00219
00220
00221 char *WindowLevelModeChangedCommand;
00222
00223
00224
00225 vtkKWEntryWithLabel *ValueEntry;
00226 vtkKWCheckButton *WindowLevelModeCheckButton;
00227
00228
00229
00230
00231 virtual void CreateWindowLevelModeCheckButton();
00232 virtual void CreateValueEntry();
00233 virtual int IsTopLeftFrameUsed();
00234 virtual int IsPointEntriesFrameUsed();
00235
00236 virtual unsigned long GetRedrawFunctionTime();
00237
00238 private:
00239 vtkKWPiecewiseFunctionEditor(const vtkKWPiecewiseFunctionEditor&);
00240 void operator=(const vtkKWPiecewiseFunctionEditor&);
00241 };
00242
00243 #endif
00244