VTK
vtkViewTheme.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkViewTheme.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
15 /*-------------------------------------------------------------------------
16  Copyright 2008 Sandia Corporation.
17  Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation,
18  the U.S. Government retains certain rights in this software.
19 -------------------------------------------------------------------------*/
39 #ifndef vtkViewTheme_h
40 #define vtkViewTheme_h
41 
42 #include "vtkViewsCoreModule.h" // For export macro
43 #include "vtkObject.h"
44 
45 class vtkScalarsToColors;
46 class vtkTextProperty;
47 
48 class VTKVIEWSCORE_EXPORT vtkViewTheme : public vtkObject
49 {
50 public:
51  static vtkViewTheme* New();
52  vtkTypeMacro(vtkViewTheme, vtkObject);
53  void PrintSelf(ostream& os, vtkIndent indent) override;
54 
56 
59  vtkSetMacro(PointSize, double);
60  vtkGetMacro(PointSize, double);
62 
64 
67  vtkSetMacro(LineWidth, double);
68  vtkGetMacro(LineWidth, double);
70 
72 
76  vtkSetVector3Macro(PointColor, double);
77  vtkGetVector3Macro(PointColor, double);
78  vtkSetMacro(PointOpacity, double);
79  vtkGetMacro(PointOpacity, double);
81 
83 
88  virtual void SetPointHueRange(double mn, double mx);
89  virtual void SetPointHueRange(double rng[2]);
90  virtual double* GetPointHueRange();
91  virtual void GetPointHueRange(double& mn, double& mx);
92  virtual void GetPointHueRange(double rng[2]);
94 
95  virtual void SetPointSaturationRange(double mn, double mx);
96  virtual void SetPointSaturationRange(double rng[2]);
97  virtual double* GetPointSaturationRange();
98  virtual void GetPointSaturationRange(double& mn, double& mx);
99  virtual void GetPointSaturationRange(double rng[2]);
100 
101  virtual void SetPointValueRange(double mn, double mx);
102  virtual void SetPointValueRange(double rng[2]);
103  virtual double* GetPointValueRange();
104  virtual void GetPointValueRange(double& mn, double& mx);
105  virtual void GetPointValueRange(double rng[2]);
106 
107  virtual void SetPointAlphaRange(double mn, double mx);
108  virtual void SetPointAlphaRange(double rng[2]);
109  virtual double* GetPointAlphaRange();
110  virtual void GetPointAlphaRange(double& mn, double& mx);
111  virtual void GetPointAlphaRange(double rng[2]);
112 
114 
117  vtkGetObjectMacro(PointLookupTable, vtkScalarsToColors);
118  virtual void SetPointLookupTable(vtkScalarsToColors* lut);
120 
122 
125  vtkSetMacro(ScalePointLookupTable, bool);
126  vtkGetMacro(ScalePointLookupTable, bool);
127  vtkBooleanMacro(ScalePointLookupTable, bool);
129 
131 
135  vtkSetVector3Macro(CellColor, double);
136  vtkGetVector3Macro(CellColor, double);
137  vtkSetMacro(CellOpacity, double);
138  vtkGetMacro(CellOpacity, double);
140 
142 
147  virtual void SetCellHueRange(double mn, double mx);
148  virtual void SetCellHueRange(double rng[2]);
149  virtual double* GetCellHueRange();
150  virtual void GetCellHueRange(double& mn, double& mx);
151  virtual void GetCellHueRange(double rng[2]);
153 
154  virtual void SetCellSaturationRange(double mn, double mx);
155  virtual void SetCellSaturationRange(double rng[2]);
156  virtual double* GetCellSaturationRange();
157  virtual void GetCellSaturationRange(double& mn, double& mx);
158  virtual void GetCellSaturationRange(double rng[2]);
159 
160  virtual void SetCellValueRange(double mn, double mx);
161  virtual void SetCellValueRange(double rng[2]);
162  virtual double* GetCellValueRange();
163  virtual void GetCellValueRange(double& mn, double& mx);
164  virtual void GetCellValueRange(double rng[2]);
165 
166  virtual void SetCellAlphaRange(double mn, double mx);
167  virtual void SetCellAlphaRange(double rng[2]);
168  virtual double* GetCellAlphaRange();
169  virtual void GetCellAlphaRange(double& mn, double& mx);
170  virtual void GetCellAlphaRange(double rng[2]);
171 
173 
176  vtkGetObjectMacro(CellLookupTable, vtkScalarsToColors);
177  virtual void SetCellLookupTable(vtkScalarsToColors* lut);
179 
181 
184  vtkSetMacro(ScaleCellLookupTable, bool);
185  vtkGetMacro(ScaleCellLookupTable, bool);
186  vtkBooleanMacro(ScaleCellLookupTable, bool);
188 
190 
193  vtkSetVector3Macro(OutlineColor, double);
194  vtkGetVector3Macro(OutlineColor, double);
196 
198 
201  vtkSetVector3Macro(SelectedPointColor, double);
202  vtkGetVector3Macro(SelectedPointColor, double);
203  vtkSetMacro(SelectedPointOpacity, double);
204  vtkGetMacro(SelectedPointOpacity, double);
206 
208 
211  vtkSetVector3Macro(SelectedCellColor, double);
212  vtkGetVector3Macro(SelectedCellColor, double);
213  vtkSetMacro(SelectedCellOpacity, double);
214  vtkGetMacro(SelectedCellOpacity, double);
216 
218 
221  vtkSetVector3Macro(BackgroundColor, double);
222  vtkGetVector3Macro(BackgroundColor, double);
224 
226 
229  vtkSetVector3Macro(BackgroundColor2, double);
230  vtkGetVector3Macro(BackgroundColor2, double);
232 
234 
237  virtual void SetPointTextProperty(vtkTextProperty* tprop);
238  vtkGetObjectMacro(PointTextProperty, vtkTextProperty);
240 
242 
245  virtual void SetCellTextProperty(vtkTextProperty* tprop);
246  vtkGetObjectMacro(CellTextProperty, vtkTextProperty);
248 
250 
254  virtual void SetVertexLabelColor(double r, double g, double b);
255  virtual void SetVertexLabelColor(double c[3])
256  { this->SetVertexLabelColor(c[0], c[1], c[2]); }
257  virtual double *GetVertexLabelColor();
258  virtual void GetVertexLabelColor(double &r, double &g, double &b)
259  { double* c = this->GetVertexLabelColor(); if (c) { r = c[0]; g = c[1]; b = c[2]; } }
260  virtual void GetVertexLabelColor(double c[3])
261  { this->GetVertexLabelColor(c[0], c[1], c[2]); }
263 
265 
269  virtual void SetEdgeLabelColor(double r, double g, double b);
270  virtual void SetEdgeLabelColor(double c[3])
271  { this->SetEdgeLabelColor(c[0], c[1], c[2]); }
272  virtual double *GetEdgeLabelColor();
273  virtual void GetEdgeLabelColor(double &r, double &g, double &b)
274  { double* c = this->GetEdgeLabelColor(); if (c) { r = c[0]; g = c[1]; b = c[2]; } }
275  virtual void GetEdgeLabelColor(double c[3])
276  { this->GetEdgeLabelColor(c[0], c[1], c[2]); }
278 
280 
285  static vtkViewTheme* CreateOceanTheme();
286  static vtkViewTheme* CreateMellowTheme();
287  static vtkViewTheme* CreateNeonTheme();
289 
291 
295  bool LookupMatchesPointTheme(vtkScalarsToColors* s2c);
296  bool LookupMatchesCellTheme(vtkScalarsToColors* s2c);
298 
299 protected:
300  vtkViewTheme();
301  ~vtkViewTheme() override;
302 
303  double PointSize;
304  double LineWidth;
305 
306  double PointColor[3];
307  double PointOpacity;
308 
309  double CellColor[3];
310  double CellOpacity;
311 
312  double OutlineColor[3];
313 
314  double SelectedPointColor[3];
316  double SelectedCellColor[3];
318 
319  double BackgroundColor[3];
320  double BackgroundColor2[3];
321 
324 
327 
330 
331 private:
332  vtkViewTheme(const vtkViewTheme&) = delete;
333  void operator=(const vtkViewTheme&) = delete;
334 };
335 
336 #endif
337 
double LineWidth
Definition: vtkViewTheme.h:304
abstract base class for most VTK objects
Definition: vtkObject.h:59
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
virtual void GetVertexLabelColor(double &r, double &g, double &b)
The color to use for labeling graph vertices.
Definition: vtkViewTheme.h:258
bool ScalePointLookupTable
Definition: vtkViewTheme.h:325
virtual void SetVertexLabelColor(double c[3])
The color to use for labeling graph vertices.
Definition: vtkViewTheme.h:255
Superclass for mapping scalar values to colors.
Sets theme colors for a graphical view.
Definition: vtkViewTheme.h:48
vtkScalarsToColors * CellLookupTable
Definition: vtkViewTheme.h:323
double SelectedPointOpacity
Definition: vtkViewTheme.h:315
a simple class to control print indentation
Definition: vtkIndent.h:39
vtkScalarsToColors * PointLookupTable
Definition: vtkViewTheme.h:322
represent text properties.
double PointSize
Definition: vtkViewTheme.h:303
virtual void GetVertexLabelColor(double c[3])
The color to use for labeling graph vertices.
Definition: vtkViewTheme.h:260
virtual void SetEdgeLabelColor(double c[3])
The color to use for labeling graph edges.
Definition: vtkViewTheme.h:270
virtual void GetEdgeLabelColor(double &r, double &g, double &b)
The color to use for labeling graph edges.
Definition: vtkViewTheme.h:273
double PointOpacity
Definition: vtkViewTheme.h:307
vtkTextProperty * CellTextProperty
Definition: vtkViewTheme.h:329
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on...
double SelectedCellOpacity
Definition: vtkViewTheme.h:317
vtkTextProperty * PointTextProperty
Definition: vtkViewTheme.h:328
bool ScaleCellLookupTable
Definition: vtkViewTheme.h:326
double CellOpacity
Definition: vtkViewTheme.h:310
virtual void GetEdgeLabelColor(double c[3])
The color to use for labeling graph edges.
Definition: vtkViewTheme.h:275