00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00035 #ifndef __vtkViewTheme_h
00036 #define __vtkViewTheme_h
00037
00038 #include "vtkObject.h"
00039
00040 class vtkScalarsToColors;
00041 class vtkTextProperty;
00042
00043 class VTK_RENDERING_EXPORT vtkViewTheme : public vtkObject
00044 {
00045 public:
00046 static vtkViewTheme* New();
00047 vtkTypeRevisionMacro(vtkViewTheme, vtkObject);
00048 void PrintSelf(ostream& os, vtkIndent indent);
00049
00051
00052 vtkSetMacro(PointSize, double);
00053 vtkGetMacro(PointSize, double);
00055
00057
00058 vtkSetMacro(LineWidth, double);
00059 vtkGetMacro(LineWidth, double);
00061
00063
00065 vtkSetVector3Macro(PointColor, double);
00066 vtkGetVector3Macro(PointColor, double);
00067 vtkSetMacro(PointOpacity, double);
00068 vtkGetMacro(PointOpacity, double);
00070
00072
00075 virtual void SetPointHueRange(double mn, double mx);
00076 virtual void SetPointHueRange(double rng[2]);
00077 virtual double* GetPointHueRange();
00078 virtual void GetPointHueRange(double& mn, double& mx);
00079 virtual void GetPointHueRange(double rng[2]);
00081
00082 virtual void SetPointSaturationRange(double mn, double mx);
00083 virtual void SetPointSaturationRange(double rng[2]);
00084 virtual double* GetPointSaturationRange();
00085 virtual void GetPointSaturationRange(double& mn, double& mx);
00086 virtual void GetPointSaturationRange(double rng[2]);
00087
00088 virtual void SetPointValueRange(double mn, double mx);
00089 virtual void SetPointValueRange(double rng[2]);
00090 virtual double* GetPointValueRange();
00091 virtual void GetPointValueRange(double& mn, double& mx);
00092 virtual void GetPointValueRange(double rng[2]);
00093
00094 virtual void SetPointAlphaRange(double mn, double mx);
00095 virtual void SetPointAlphaRange(double rng[2]);
00096 virtual double* GetPointAlphaRange();
00097 virtual void GetPointAlphaRange(double& mn, double& mx);
00098 virtual void GetPointAlphaRange(double rng[2]);
00099
00101
00102 vtkGetObjectMacro(PointLookupTable, vtkScalarsToColors);
00103 virtual void SetPointLookupTable(vtkScalarsToColors* lut);
00105
00107
00108 vtkSetMacro(ScalePointLookupTable, bool);
00109 vtkGetMacro(ScalePointLookupTable, bool);
00110 vtkBooleanMacro(ScalePointLookupTable, bool);
00112
00114
00116 vtkSetVector3Macro(CellColor, double);
00117 vtkGetVector3Macro(CellColor, double);
00118 vtkSetMacro(CellOpacity, double);
00119 vtkGetMacro(CellOpacity, double);
00121
00123
00126 virtual void SetCellHueRange(double mn, double mx);
00127 virtual void SetCellHueRange(double rng[2]);
00128 virtual double* GetCellHueRange();
00129 virtual void GetCellHueRange(double& mn, double& mx);
00130 virtual void GetCellHueRange(double rng[2]);
00132
00133 virtual void SetCellSaturationRange(double mn, double mx);
00134 virtual void SetCellSaturationRange(double rng[2]);
00135 virtual double* GetCellSaturationRange();
00136 virtual void GetCellSaturationRange(double& mn, double& mx);
00137 virtual void GetCellSaturationRange(double rng[2]);
00138
00139 virtual void SetCellValueRange(double mn, double mx);
00140 virtual void SetCellValueRange(double rng[2]);
00141 virtual double* GetCellValueRange();
00142 virtual void GetCellValueRange(double& mn, double& mx);
00143 virtual void GetCellValueRange(double rng[2]);
00144
00145 virtual void SetCellAlphaRange(double mn, double mx);
00146 virtual void SetCellAlphaRange(double rng[2]);
00147 virtual double* GetCellAlphaRange();
00148 virtual void GetCellAlphaRange(double& mn, double& mx);
00149 virtual void GetCellAlphaRange(double rng[2]);
00150
00152
00153 vtkGetObjectMacro(CellLookupTable, vtkScalarsToColors);
00154 virtual void SetCellLookupTable(vtkScalarsToColors* lut);
00156
00158
00159 vtkSetMacro(ScaleCellLookupTable, bool);
00160 vtkGetMacro(ScaleCellLookupTable, bool);
00161 vtkBooleanMacro(ScaleCellLookupTable, bool);
00163
00165
00166 vtkSetVector3Macro(OutlineColor, double);
00167 vtkGetVector3Macro(OutlineColor, double);
00169
00171
00172 vtkSetVector3Macro(SelectedPointColor, double);
00173 vtkGetVector3Macro(SelectedPointColor, double);
00174 vtkSetMacro(SelectedPointOpacity, double);
00175 vtkGetMacro(SelectedPointOpacity, double);
00177
00179
00180 vtkSetVector3Macro(SelectedCellColor, double);
00181 vtkGetVector3Macro(SelectedCellColor, double);
00182 vtkSetMacro(SelectedCellOpacity, double);
00183 vtkGetMacro(SelectedCellOpacity, double);
00185
00187
00188 vtkSetVector3Macro(BackgroundColor, double);
00189 vtkGetVector3Macro(BackgroundColor, double);
00191
00193
00194 vtkSetVector3Macro(BackgroundColor2, double);
00195 vtkGetVector3Macro(BackgroundColor2, double);
00197
00199
00200 virtual void SetPointTextProperty(vtkTextProperty* tprop);
00201 vtkGetObjectMacro(PointTextProperty, vtkTextProperty);
00203
00205
00206 virtual void SetCellTextProperty(vtkTextProperty* tprop);
00207 vtkGetObjectMacro(CellTextProperty, vtkTextProperty);
00209
00211
00213 virtual void SetVertexLabelColor(double r, double g, double b);
00214 virtual void SetVertexLabelColor(double c[3])
00215 { this->SetVertexLabelColor(c[0], c[1], c[2]); }
00216 virtual double *GetVertexLabelColor();
00217 virtual void GetVertexLabelColor(double &r, double &g, double &b)
00218 { double* c = this->GetVertexLabelColor(); if (c) { r = c[0]; g = c[1]; b = c[2]; } }
00219 virtual void GetVertexLabelColor(double c[3])
00220 { this->GetVertexLabelColor(c[0], c[1], c[2]); }
00222
00224
00226 virtual void SetEdgeLabelColor(double r, double g, double b);
00227 virtual void SetEdgeLabelColor(double c[3])
00228 { this->SetEdgeLabelColor(c[0], c[1], c[2]); }
00229 virtual double *GetEdgeLabelColor();
00230 virtual void GetEdgeLabelColor(double &r, double &g, double &b)
00231 { double* c = this->GetEdgeLabelColor(); if (c) { r = c[0]; g = c[1]; b = c[2]; } }
00232 virtual void GetEdgeLabelColor(double c[3])
00233 { this->GetEdgeLabelColor(c[0], c[1], c[2]); }
00235
00237
00240 static vtkViewTheme* CreateOceanTheme();
00241 static vtkViewTheme* CreateMellowTheme();
00242 static vtkViewTheme* CreateNeonTheme();
00244
00246
00248 bool LookupMatchesPointTheme(vtkScalarsToColors* s2c);
00249 bool LookupMatchesCellTheme(vtkScalarsToColors* s2c);
00251
00252 protected:
00253 vtkViewTheme();
00254 ~vtkViewTheme();
00255
00256 double PointSize;
00257 double LineWidth;
00258
00259 double PointColor[3];
00260 double PointOpacity;
00261
00262 double CellColor[3];
00263 double CellOpacity;
00264
00265 double OutlineColor[3];
00266
00267 double SelectedPointColor[3];
00268 double SelectedPointOpacity;
00269 double SelectedCellColor[3];
00270 double SelectedCellOpacity;
00271
00272 double BackgroundColor[3];
00273 double BackgroundColor2[3];
00274
00275 vtkScalarsToColors* PointLookupTable;
00276 vtkScalarsToColors* CellLookupTable;
00277
00278 bool ScalePointLookupTable;
00279 bool ScaleCellLookupTable;
00280
00281 vtkTextProperty* PointTextProperty;
00282 vtkTextProperty* CellTextProperty;
00283
00284 private:
00285 vtkViewTheme(const vtkViewTheme&);
00286 void operator=(const vtkViewTheme&);
00287 };
00288
00289 #endif
00290