VTK  9.1.0
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 -------------------------------------------------------------------------*/
122 #ifndef vtkViewTheme_h
123 #define vtkViewTheme_h
124 
125 #include "vtkObject.h"
126 #include "vtkViewsCoreModule.h" // For export macro
127 
128 class vtkScalarsToColors;
129 class vtkTextProperty;
130 
131 class VTKVIEWSCORE_EXPORT vtkViewTheme : public vtkObject
132 {
133 public:
134  static vtkViewTheme* New();
135  vtkTypeMacro(vtkViewTheme, vtkObject);
136  void PrintSelf(ostream& os, vtkIndent indent) override;
137 
139 
142  vtkSetMacro(PointSize, double);
143  vtkGetMacro(PointSize, double);
145 
147 
150  vtkSetMacro(LineWidth, double);
151  vtkGetMacro(LineWidth, double);
153 
155 
159  vtkSetVector3Macro(PointColor, double);
160  vtkGetVector3Macro(PointColor, double);
161  vtkSetMacro(PointOpacity, double);
162  vtkGetMacro(PointOpacity, double);
164 
166 
171  virtual void SetPointHueRange(double mn, double mx);
172  virtual void SetPointHueRange(double rng[2]);
173  virtual double* GetPointHueRange();
174  virtual void GetPointHueRange(double& mn, double& mx);
175  virtual void GetPointHueRange(double rng[2]);
177 
178  virtual void SetPointSaturationRange(double mn, double mx);
179  virtual void SetPointSaturationRange(double rng[2]);
180  virtual double* GetPointSaturationRange();
181  virtual void GetPointSaturationRange(double& mn, double& mx);
182  virtual void GetPointSaturationRange(double rng[2]);
183 
184  virtual void SetPointValueRange(double mn, double mx);
185  virtual void SetPointValueRange(double rng[2]);
186  virtual double* GetPointValueRange();
187  virtual void GetPointValueRange(double& mn, double& mx);
188  virtual void GetPointValueRange(double rng[2]);
189 
190  virtual void SetPointAlphaRange(double mn, double mx);
191  virtual void SetPointAlphaRange(double rng[2]);
192  virtual double* GetPointAlphaRange();
193  virtual void GetPointAlphaRange(double& mn, double& mx);
194  virtual void GetPointAlphaRange(double rng[2]);
195 
197 
200  vtkGetObjectMacro(PointLookupTable, vtkScalarsToColors);
203 
205 
208  vtkSetMacro(ScalePointLookupTable, bool);
209  vtkGetMacro(ScalePointLookupTable, bool);
210  vtkBooleanMacro(ScalePointLookupTable, bool);
212 
214 
218  vtkSetVector3Macro(CellColor, double);
219  vtkGetVector3Macro(CellColor, double);
220  vtkSetMacro(CellOpacity, double);
221  vtkGetMacro(CellOpacity, double);
223 
225 
230  virtual void SetCellHueRange(double mn, double mx);
231  virtual void SetCellHueRange(double rng[2]);
232  virtual double* GetCellHueRange();
233  virtual void GetCellHueRange(double& mn, double& mx);
234  virtual void GetCellHueRange(double rng[2]);
236 
237  virtual void SetCellSaturationRange(double mn, double mx);
238  virtual void SetCellSaturationRange(double rng[2]);
239  virtual double* GetCellSaturationRange();
240  virtual void GetCellSaturationRange(double& mn, double& mx);
241  virtual void GetCellSaturationRange(double rng[2]);
242 
243  virtual void SetCellValueRange(double mn, double mx);
244  virtual void SetCellValueRange(double rng[2]);
245  virtual double* GetCellValueRange();
246  virtual void GetCellValueRange(double& mn, double& mx);
247  virtual void GetCellValueRange(double rng[2]);
248 
249  virtual void SetCellAlphaRange(double mn, double mx);
250  virtual void SetCellAlphaRange(double rng[2]);
251  virtual double* GetCellAlphaRange();
252  virtual void GetCellAlphaRange(double& mn, double& mx);
253  virtual void GetCellAlphaRange(double rng[2]);
254 
256 
259  vtkGetObjectMacro(CellLookupTable, vtkScalarsToColors);
262 
264 
267  vtkSetMacro(ScaleCellLookupTable, bool);
268  vtkGetMacro(ScaleCellLookupTable, bool);
269  vtkBooleanMacro(ScaleCellLookupTable, bool);
271 
273 
276  vtkSetVector3Macro(OutlineColor, double);
277  vtkGetVector3Macro(OutlineColor, double);
279 
281 
284  vtkSetVector3Macro(SelectedPointColor, double);
285  vtkGetVector3Macro(SelectedPointColor, double);
286  vtkSetMacro(SelectedPointOpacity, double);
287  vtkGetMacro(SelectedPointOpacity, double);
289 
291 
294  vtkSetVector3Macro(SelectedCellColor, double);
295  vtkGetVector3Macro(SelectedCellColor, double);
296  vtkSetMacro(SelectedCellOpacity, double);
297  vtkGetMacro(SelectedCellOpacity, double);
299 
301 
304  vtkSetVector3Macro(BackgroundColor, double);
305  vtkGetVector3Macro(BackgroundColor, double);
307 
309 
312  vtkSetVector3Macro(BackgroundColor2, double);
313  vtkGetVector3Macro(BackgroundColor2, double);
315 
317 
320  virtual void SetPointTextProperty(vtkTextProperty* tprop);
321  vtkGetObjectMacro(PointTextProperty, vtkTextProperty);
323 
325 
328  virtual void SetCellTextProperty(vtkTextProperty* tprop);
329  vtkGetObjectMacro(CellTextProperty, vtkTextProperty);
331 
333 
337  virtual void SetVertexLabelColor(double r, double g, double b);
338  virtual void SetVertexLabelColor(double c[3]) { this->SetVertexLabelColor(c[0], c[1], c[2]); }
339  virtual double* GetVertexLabelColor();
340  virtual void GetVertexLabelColor(double& r, double& g, double& b)
341  {
342  double* c = this->GetVertexLabelColor();
343  if (c)
344  {
345  r = c[0];
346  g = c[1];
347  b = c[2];
348  }
349  }
350  virtual void GetVertexLabelColor(double c[3]) { this->GetVertexLabelColor(c[0], c[1], c[2]); }
352 
354 
358  virtual void SetEdgeLabelColor(double r, double g, double b);
359  virtual void SetEdgeLabelColor(double c[3]) { this->SetEdgeLabelColor(c[0], c[1], c[2]); }
360  virtual double* GetEdgeLabelColor();
361  virtual void GetEdgeLabelColor(double& r, double& g, double& b)
362  {
363  double* c = this->GetEdgeLabelColor();
364  if (c)
365  {
366  r = c[0];
367  g = c[1];
368  b = c[2];
369  }
370  }
371  virtual void GetEdgeLabelColor(double c[3]) { this->GetEdgeLabelColor(c[0], c[1], c[2]); }
373 
375 
384 
386 
393 
394 protected:
396  ~vtkViewTheme() override;
397 
398  double PointSize;
399  double LineWidth;
400 
401  double PointColor[3];
402  double PointOpacity;
403 
404  double CellColor[3];
405  double CellOpacity;
406 
407  double OutlineColor[3];
408 
409  double SelectedPointColor[3];
411  double SelectedCellColor[3];
413 
414  double BackgroundColor[3];
415  double BackgroundColor2[3];
416 
419 
422 
425 
426 private:
427  vtkViewTheme(const vtkViewTheme&) = delete;
428  void operator=(const vtkViewTheme&) = delete;
429 };
430 
431 #endif
a simple class to control print indentation
Definition: vtkIndent.h:113
abstract base class for most VTK objects
Definition: vtkObject.h:73
Superclass for mapping scalar values to colors.
represent text properties.
Sets theme colors for a graphical view.
Definition: vtkViewTheme.h:132
bool LookupMatchesCellTheme(vtkScalarsToColors *s2c)
Whether a given lookup table matches the point or cell theme of this theme.
virtual void GetCellValueRange(double &mn, double &mx)
virtual void SetPointValueRange(double rng[2])
double PointOpacity
Definition: vtkViewTheme.h:402
~vtkViewTheme() override
static vtkViewTheme * New()
virtual void GetVertexLabelColor(double &r, double &g, double &b)
The color to use for labeling graph vertices.
Definition: vtkViewTheme.h:340
virtual void SetCellValueRange(double mn, double mx)
vtkScalarsToColors * PointLookupTable
Definition: vtkViewTheme.h:417
virtual void SetPointValueRange(double mn, double mx)
virtual void SetPointHueRange(double mn, double mx)
The ranges to use in the point lookup table.
virtual void GetPointValueRange(double rng[2])
virtual double * GetPointAlphaRange()
virtual void GetEdgeLabelColor(double &r, double &g, double &b)
The color to use for labeling graph edges.
Definition: vtkViewTheme.h:361
virtual double * GetVertexLabelColor()
The color to use for labeling graph vertices.
double SelectedPointOpacity
Definition: vtkViewTheme.h:410
double PointSize
Definition: vtkViewTheme.h:398
virtual void SetPointAlphaRange(double rng[2])
static vtkViewTheme * CreateMellowTheme()
Convenience methods for creating some default view themes.
virtual void SetCellLookupTable(vtkScalarsToColors *lut)
Set/Get the cell lookup table.
virtual void SetPointAlphaRange(double mn, double mx)
virtual double * GetEdgeLabelColor()
The color to use for labeling graph edges.
virtual void SetCellHueRange(double mn, double mx)
The ranges to use in the cell lookup table.
virtual void GetCellAlphaRange(double &mn, double &mx)
virtual void GetEdgeLabelColor(double c[3])
The color to use for labeling graph edges.
Definition: vtkViewTheme.h:371
virtual void GetPointAlphaRange(double rng[2])
virtual void GetPointHueRange(double &mn, double &mx)
The ranges to use in the point lookup table.
virtual void SetPointSaturationRange(double rng[2])
virtual void SetCellAlphaRange(double rng[2])
virtual void SetVertexLabelColor(double c[3])
The color to use for labeling graph vertices.
Definition: vtkViewTheme.h:338
virtual double * GetCellValueRange()
bool ScalePointLookupTable
Definition: vtkViewTheme.h:420
virtual double * GetPointHueRange()
The ranges to use in the point lookup table.
virtual void GetPointSaturationRange(double rng[2])
virtual void SetCellSaturationRange(double mn, double mx)
virtual void GetCellValueRange(double rng[2])
virtual void SetCellValueRange(double rng[2])
virtual double * GetPointValueRange()
static vtkViewTheme * CreateNeonTheme()
Convenience methods for creating some default view themes.
double LineWidth
Definition: vtkViewTheme.h:399
virtual double * GetCellAlphaRange()
virtual void GetCellSaturationRange(double rng[2])
virtual double * GetCellSaturationRange()
virtual void GetVertexLabelColor(double c[3])
The color to use for labeling graph vertices.
Definition: vtkViewTheme.h:350
vtkTextProperty * CellTextProperty
Definition: vtkViewTheme.h:424
virtual void GetCellHueRange(double rng[2])
The ranges to use in the cell lookup table.
virtual void SetPointSaturationRange(double mn, double mx)
static vtkViewTheme * CreateOceanTheme()
Convenience methods for creating some default view themes.
vtkTextProperty * PointTextProperty
Definition: vtkViewTheme.h:423
virtual void SetCellAlphaRange(double mn, double mx)
virtual void GetPointSaturationRange(double &mn, double &mx)
virtual void GetPointValueRange(double &mn, double &mx)
virtual void SetEdgeLabelColor(double c[3])
The color to use for labeling graph edges.
Definition: vtkViewTheme.h:359
virtual void GetCellSaturationRange(double &mn, double &mx)
virtual void GetPointHueRange(double rng[2])
The ranges to use in the point lookup table.
virtual void SetEdgeLabelColor(double r, double g, double b)
The color to use for labeling graph edges.
bool LookupMatchesPointTheme(vtkScalarsToColors *s2c)
Whether a given lookup table matches the point or cell theme of this theme.
virtual void SetPointLookupTable(vtkScalarsToColors *lut)
Set/Get the point lookup table.
virtual void SetPointTextProperty(vtkTextProperty *tprop)
The text property to use for labeling points/vertices.
virtual void GetCellAlphaRange(double rng[2])
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
virtual void SetPointHueRange(double rng[2])
The ranges to use in the point lookup table.
virtual double * GetPointSaturationRange()
virtual void SetCellSaturationRange(double rng[2])
virtual void GetPointAlphaRange(double &mn, double &mx)
bool ScaleCellLookupTable
Definition: vtkViewTheme.h:421
vtkScalarsToColors * CellLookupTable
Definition: vtkViewTheme.h:418
double SelectedCellOpacity
Definition: vtkViewTheme.h:412
virtual void GetCellHueRange(double &mn, double &mx)
The ranges to use in the cell lookup table.
virtual void SetCellTextProperty(vtkTextProperty *tprop)
The text property to use for labeling edges/cells.
virtual void SetVertexLabelColor(double r, double g, double b)
The color to use for labeling graph vertices.
double CellOpacity
Definition: vtkViewTheme.h:405
virtual void SetCellHueRange(double rng[2])
The ranges to use in the cell lookup table.
virtual double * GetCellHueRange()
The ranges to use in the cell lookup table.