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
46class vtkTextProperty;
47
48class VTKVIEWSCORE_EXPORT vtkViewTheme : public vtkObject
49{
50public:
51 static vtkViewTheme* New();
52 vtkTypeMacro(vtkViewTheme, vtkObject);
53 void PrintSelf(ostream& os, vtkIndent indent);
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);
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);
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
238 vtkGetObjectMacro(PointTextProperty, vtkTextProperty);
240
242
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
289
291
298
299protected:
302
303 double PointSize;
304 double LineWidth;
305
306 double PointColor[3];
308
309 double CellColor[3];
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
331private:
332 vtkViewTheme(const vtkViewTheme&) VTK_DELETE_FUNCTION;
333 void operator=(const vtkViewTheme&) VTK_DELETE_FUNCTION;
334};
335
336#endif
337
a simple class to control print indentation
Definition: vtkIndent.h:40
abstract base class for most VTK objects
Definition: vtkObject.h:60
Superclass for mapping scalar values to colors.
represent text properties.
Sets theme colors for a graphical view.
Definition: vtkViewTheme.h:49
bool LookupMatchesCellTheme(vtkScalarsToColors *s2c)
virtual void GetCellValueRange(double &mn, double &mx)
virtual void SetPointValueRange(double rng[2])
double PointOpacity
Definition: vtkViewTheme.h:307
virtual double * GetCellSaturationRange()
virtual void GetVertexLabelColor(double &r, double &g, double &b)
Definition: vtkViewTheme.h:258
virtual double * GetCellHueRange()
virtual void SetCellValueRange(double mn, double mx)
vtkScalarsToColors * PointLookupTable
Definition: vtkViewTheme.h:322
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 void GetEdgeLabelColor(double &r, double &g, double &b)
Definition: vtkViewTheme.h:273
double SelectedPointOpacity
Definition: vtkViewTheme.h:315
double PointSize
Definition: vtkViewTheme.h:303
virtual void SetPointAlphaRange(double rng[2])
virtual void SetCellLookupTable(vtkScalarsToColors *lut)
virtual void SetPointAlphaRange(double mn, double mx)
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])
Definition: vtkViewTheme.h:275
virtual void GetPointAlphaRange(double rng[2])
virtual void GetPointHueRange(double &mn, double &mx)
virtual double * GetPointValueRange()
virtual void SetPointSaturationRange(double rng[2])
virtual double * GetPointSaturationRange()
static vtkViewTheme * CreateNeonTheme()
virtual void SetCellAlphaRange(double rng[2])
virtual void SetVertexLabelColor(double c[3])
Definition: vtkViewTheme.h:255
bool ScalePointLookupTable
Definition: vtkViewTheme.h:325
virtual double * GetEdgeLabelColor()
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])
double LineWidth
Definition: vtkViewTheme.h:304
virtual void GetCellSaturationRange(double rng[2])
virtual double * GetVertexLabelColor()
virtual void GetVertexLabelColor(double c[3])
Definition: vtkViewTheme.h:260
static vtkViewTheme * CreateOceanTheme()
Convenience methods for creating some default view themes.
vtkTextProperty * CellTextProperty
Definition: vtkViewTheme.h:329
virtual void GetCellHueRange(double rng[2])
virtual void SetPointSaturationRange(double mn, double mx)
vtkTextProperty * PointTextProperty
Definition: vtkViewTheme.h:328
virtual void SetCellAlphaRange(double mn, double mx)
virtual void GetPointSaturationRange(double &mn, double &mx)
virtual void GetPointValueRange(double &mn, double &mx)
virtual double * GetPointHueRange()
virtual double * GetCellValueRange()
virtual void SetEdgeLabelColor(double c[3])
Definition: vtkViewTheme.h:270
virtual double * GetPointAlphaRange()
virtual void GetCellSaturationRange(double &mn, double &mx)
virtual void GetPointHueRange(double rng[2])
virtual void SetEdgeLabelColor(double r, double g, double b)
The color to use for labelling 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)
virtual void SetPointTextProperty(vtkTextProperty *tprop)
The text property to use for labelling points/vertices.
void PrintSelf(ostream &os, vtkIndent indent)
Methods invoked by print to print information about the object including superclasses.
virtual void GetCellAlphaRange(double rng[2])
virtual void SetPointHueRange(double rng[2])
virtual void SetCellSaturationRange(double rng[2])
virtual void GetPointAlphaRange(double &mn, double &mx)
bool ScaleCellLookupTable
Definition: vtkViewTheme.h:326
vtkScalarsToColors * CellLookupTable
Definition: vtkViewTheme.h:323
virtual double * GetCellAlphaRange()
double SelectedCellOpacity
Definition: vtkViewTheme.h:317
static vtkViewTheme * CreateMellowTheme()
virtual void GetCellHueRange(double &mn, double &mx)
virtual void SetCellTextProperty(vtkTextProperty *tprop)
The text property to use for labelling edges/cells.
virtual void SetVertexLabelColor(double r, double g, double b)
The color to use for labelling graph vertices.
double CellOpacity
Definition: vtkViewTheme.h:310
virtual void SetCellHueRange(double rng[2])
static vtkViewTheme * New()
vtkSetMacro(IgnoreDriverBugs, bool)
Updates the extensions string.
vtkBooleanMacro(IgnoreDriverBugs, bool)
Updates the extensions string.