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 -------------------------------------------------------------------------*/
33 #ifndef vtkViewTheme_h
34 #define vtkViewTheme_h
35 
36 #include "vtkViewsCoreModule.h" // For export macro
37 #include "vtkObject.h"
38 
39 class vtkScalarsToColors;
40 class vtkTextProperty;
41 
42 class VTKVIEWSCORE_EXPORT vtkViewTheme : public vtkObject
43 {
44 public:
45  static vtkViewTheme* New();
46  vtkTypeMacro(vtkViewTheme, vtkObject);
47  void PrintSelf(ostream& os, vtkIndent indent) override;
48 
50 
53  vtkSetMacro(PointSize, double);
54  vtkGetMacro(PointSize, double);
56 
58 
61  vtkSetMacro(LineWidth, double);
62  vtkGetMacro(LineWidth, double);
64 
66 
70  vtkSetVector3Macro(PointColor, double);
71  vtkGetVector3Macro(PointColor, double);
72  vtkSetMacro(PointOpacity, double);
73  vtkGetMacro(PointOpacity, double);
75 
77 
82  virtual void SetPointHueRange(double mn, double mx);
83  virtual void SetPointHueRange(double rng[2]);
84  virtual double* GetPointHueRange();
85  virtual void GetPointHueRange(double& mn, double& mx);
86  virtual void GetPointHueRange(double rng[2]);
88 
89  virtual void SetPointSaturationRange(double mn, double mx);
90  virtual void SetPointSaturationRange(double rng[2]);
91  virtual double* GetPointSaturationRange();
92  virtual void GetPointSaturationRange(double& mn, double& mx);
93  virtual void GetPointSaturationRange(double rng[2]);
94 
95  virtual void SetPointValueRange(double mn, double mx);
96  virtual void SetPointValueRange(double rng[2]);
97  virtual double* GetPointValueRange();
98  virtual void GetPointValueRange(double& mn, double& mx);
99  virtual void GetPointValueRange(double rng[2]);
100 
101  virtual void SetPointAlphaRange(double mn, double mx);
102  virtual void SetPointAlphaRange(double rng[2]);
103  virtual double* GetPointAlphaRange();
104  virtual void GetPointAlphaRange(double& mn, double& mx);
105  virtual void GetPointAlphaRange(double rng[2]);
106 
108 
111  vtkGetObjectMacro(PointLookupTable, vtkScalarsToColors);
112  virtual void SetPointLookupTable(vtkScalarsToColors* lut);
114 
116 
119  vtkSetMacro(ScalePointLookupTable, bool);
120  vtkGetMacro(ScalePointLookupTable, bool);
121  vtkBooleanMacro(ScalePointLookupTable, bool);
123 
125 
129  vtkSetVector3Macro(CellColor, double);
130  vtkGetVector3Macro(CellColor, double);
131  vtkSetMacro(CellOpacity, double);
132  vtkGetMacro(CellOpacity, double);
134 
136 
141  virtual void SetCellHueRange(double mn, double mx);
142  virtual void SetCellHueRange(double rng[2]);
143  virtual double* GetCellHueRange();
144  virtual void GetCellHueRange(double& mn, double& mx);
145  virtual void GetCellHueRange(double rng[2]);
147 
148  virtual void SetCellSaturationRange(double mn, double mx);
149  virtual void SetCellSaturationRange(double rng[2]);
150  virtual double* GetCellSaturationRange();
151  virtual void GetCellSaturationRange(double& mn, double& mx);
152  virtual void GetCellSaturationRange(double rng[2]);
153 
154  virtual void SetCellValueRange(double mn, double mx);
155  virtual void SetCellValueRange(double rng[2]);
156  virtual double* GetCellValueRange();
157  virtual void GetCellValueRange(double& mn, double& mx);
158  virtual void GetCellValueRange(double rng[2]);
159 
160  virtual void SetCellAlphaRange(double mn, double mx);
161  virtual void SetCellAlphaRange(double rng[2]);
162  virtual double* GetCellAlphaRange();
163  virtual void GetCellAlphaRange(double& mn, double& mx);
164  virtual void GetCellAlphaRange(double rng[2]);
165 
167 
170  vtkGetObjectMacro(CellLookupTable, vtkScalarsToColors);
171  virtual void SetCellLookupTable(vtkScalarsToColors* lut);
173 
175 
178  vtkSetMacro(ScaleCellLookupTable, bool);
179  vtkGetMacro(ScaleCellLookupTable, bool);
180  vtkBooleanMacro(ScaleCellLookupTable, bool);
182 
184 
187  vtkSetVector3Macro(OutlineColor, double);
188  vtkGetVector3Macro(OutlineColor, double);
190 
192 
195  vtkSetVector3Macro(SelectedPointColor, double);
196  vtkGetVector3Macro(SelectedPointColor, double);
197  vtkSetMacro(SelectedPointOpacity, double);
198  vtkGetMacro(SelectedPointOpacity, double);
200 
202 
205  vtkSetVector3Macro(SelectedCellColor, double);
206  vtkGetVector3Macro(SelectedCellColor, double);
207  vtkSetMacro(SelectedCellOpacity, double);
208  vtkGetMacro(SelectedCellOpacity, double);
210 
212 
215  vtkSetVector3Macro(BackgroundColor, double);
216  vtkGetVector3Macro(BackgroundColor, double);
218 
220 
223  vtkSetVector3Macro(BackgroundColor2, double);
224  vtkGetVector3Macro(BackgroundColor2, double);
226 
228 
231  virtual void SetPointTextProperty(vtkTextProperty* tprop);
232  vtkGetObjectMacro(PointTextProperty, vtkTextProperty);
234 
236 
239  virtual void SetCellTextProperty(vtkTextProperty* tprop);
240  vtkGetObjectMacro(CellTextProperty, vtkTextProperty);
242 
244 
248  virtual void SetVertexLabelColor(double r, double g, double b);
249  virtual void SetVertexLabelColor(double c[3])
250  { this->SetVertexLabelColor(c[0], c[1], c[2]); }
251  virtual double *GetVertexLabelColor();
252  virtual void GetVertexLabelColor(double &r, double &g, double &b)
253  { double* c = this->GetVertexLabelColor(); if (c) { r = c[0]; g = c[1]; b = c[2]; } }
254  virtual void GetVertexLabelColor(double c[3])
255  { this->GetVertexLabelColor(c[0], c[1], c[2]); }
257 
259 
263  virtual void SetEdgeLabelColor(double r, double g, double b);
264  virtual void SetEdgeLabelColor(double c[3])
265  { this->SetEdgeLabelColor(c[0], c[1], c[2]); }
266  virtual double *GetEdgeLabelColor();
267  virtual void GetEdgeLabelColor(double &r, double &g, double &b)
268  { double* c = this->GetEdgeLabelColor(); if (c) { r = c[0]; g = c[1]; b = c[2]; } }
269  virtual void GetEdgeLabelColor(double c[3])
270  { this->GetEdgeLabelColor(c[0], c[1], c[2]); }
272 
274 
279  static vtkViewTheme* CreateOceanTheme();
280  static vtkViewTheme* CreateMellowTheme();
281  static vtkViewTheme* CreateNeonTheme();
283 
285 
289  bool LookupMatchesPointTheme(vtkScalarsToColors* s2c);
290  bool LookupMatchesCellTheme(vtkScalarsToColors* s2c);
292 
293 protected:
294  vtkViewTheme();
295  ~vtkViewTheme() override;
296 
297  double PointSize;
298  double LineWidth;
299 
300  double PointColor[3];
301  double PointOpacity;
302 
303  double CellColor[3];
304  double CellOpacity;
305 
306  double OutlineColor[3];
307 
308  double SelectedPointColor[3];
310  double SelectedCellColor[3];
312 
313  double BackgroundColor[3];
314  double BackgroundColor2[3];
315 
318 
321 
324 
325 private:
326  vtkViewTheme(const vtkViewTheme&) = delete;
327  void operator=(const vtkViewTheme&) = delete;
328 };
329 
330 #endif
331 
double LineWidth
Definition: vtkViewTheme.h:298
abstract base class for most VTK objects
Definition: vtkObject.h:53
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:252
bool ScalePointLookupTable
Definition: vtkViewTheme.h:319
virtual void SetVertexLabelColor(double c[3])
The color to use for labeling graph vertices.
Definition: vtkViewTheme.h:249
Superclass for mapping scalar values to colors.
Sets theme colors for a graphical view.
Definition: vtkViewTheme.h:42
vtkScalarsToColors * CellLookupTable
Definition: vtkViewTheme.h:317
double SelectedPointOpacity
Definition: vtkViewTheme.h:309
a simple class to control print indentation
Definition: vtkIndent.h:33
vtkScalarsToColors * PointLookupTable
Definition: vtkViewTheme.h:316
represent text properties.
double PointSize
Definition: vtkViewTheme.h:297
virtual void GetVertexLabelColor(double c[3])
The color to use for labeling graph vertices.
Definition: vtkViewTheme.h:254
virtual void SetEdgeLabelColor(double c[3])
The color to use for labeling graph edges.
Definition: vtkViewTheme.h:264
virtual void GetEdgeLabelColor(double &r, double &g, double &b)
The color to use for labeling graph edges.
Definition: vtkViewTheme.h:267
double PointOpacity
Definition: vtkViewTheme.h:301
vtkTextProperty * CellTextProperty
Definition: vtkViewTheme.h:323
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on.
double SelectedCellOpacity
Definition: vtkViewTheme.h:311
vtkTextProperty * PointTextProperty
Definition: vtkViewTheme.h:322
bool ScaleCellLookupTable
Definition: vtkViewTheme.h:320
double CellOpacity
Definition: vtkViewTheme.h:304
virtual void GetEdgeLabelColor(double c[3])
The color to use for labeling graph edges.
Definition: vtkViewTheme.h:269