VTK  9.3.20240423
vtkViewTheme.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2// SPDX-FileCopyrightText: Copyright 2008 Sandia Corporation
3// SPDX-License-Identifier: LicenseRef-BSD-3-Clause-Sandia-USGov
112#ifndef vtkViewTheme_h
113#define vtkViewTheme_h
114
115#include "vtkObject.h"
116#include "vtkViewsCoreModule.h" // For export macro
117
118VTK_ABI_NAMESPACE_BEGIN
120class vtkTextProperty;
121
122class VTKVIEWSCORE_EXPORT vtkViewTheme : public vtkObject
123{
124public:
125 static vtkViewTheme* New();
126 vtkTypeMacro(vtkViewTheme, vtkObject);
127 void PrintSelf(ostream& os, vtkIndent indent) override;
128
130
133 vtkSetMacro(PointSize, double);
134 vtkGetMacro(PointSize, double);
136
138
141 vtkSetMacro(LineWidth, double);
142 vtkGetMacro(LineWidth, double);
144
146
150 vtkSetVector3Macro(PointColor, double);
151 vtkGetVector3Macro(PointColor, double);
152 vtkSetMacro(PointOpacity, double);
153 vtkGetMacro(PointOpacity, double);
155
157
162 virtual void SetPointHueRange(double mn, double mx);
163 virtual void SetPointHueRange(double rng[2]);
164 virtual double* GetPointHueRange();
165 virtual void GetPointHueRange(double& mn, double& mx);
166 virtual void GetPointHueRange(double rng[2]);
168
169 virtual void SetPointSaturationRange(double mn, double mx);
170 virtual void SetPointSaturationRange(double rng[2]);
171 virtual double* GetPointSaturationRange();
172 virtual void GetPointSaturationRange(double& mn, double& mx);
173 virtual void GetPointSaturationRange(double rng[2]);
174
175 virtual void SetPointValueRange(double mn, double mx);
176 virtual void SetPointValueRange(double rng[2]);
177 virtual double* GetPointValueRange();
178 virtual void GetPointValueRange(double& mn, double& mx);
179 virtual void GetPointValueRange(double rng[2]);
180
181 virtual void SetPointAlphaRange(double mn, double mx);
182 virtual void SetPointAlphaRange(double rng[2]);
183 virtual double* GetPointAlphaRange();
184 virtual void GetPointAlphaRange(double& mn, double& mx);
185 virtual void GetPointAlphaRange(double rng[2]);
186
188
191 vtkGetObjectMacro(PointLookupTable, vtkScalarsToColors);
194
196
199 vtkSetMacro(ScalePointLookupTable, bool);
200 vtkGetMacro(ScalePointLookupTable, bool);
201 vtkBooleanMacro(ScalePointLookupTable, bool);
203
205
209 vtkSetVector3Macro(CellColor, double);
210 vtkGetVector3Macro(CellColor, double);
211 vtkSetMacro(CellOpacity, double);
212 vtkGetMacro(CellOpacity, double);
214
216
221 virtual void SetCellHueRange(double mn, double mx);
222 virtual void SetCellHueRange(double rng[2]);
223 virtual double* GetCellHueRange();
224 virtual void GetCellHueRange(double& mn, double& mx);
225 virtual void GetCellHueRange(double rng[2]);
227
228 virtual void SetCellSaturationRange(double mn, double mx);
229 virtual void SetCellSaturationRange(double rng[2]);
230 virtual double* GetCellSaturationRange();
231 virtual void GetCellSaturationRange(double& mn, double& mx);
232 virtual void GetCellSaturationRange(double rng[2]);
233
234 virtual void SetCellValueRange(double mn, double mx);
235 virtual void SetCellValueRange(double rng[2]);
236 virtual double* GetCellValueRange();
237 virtual void GetCellValueRange(double& mn, double& mx);
238 virtual void GetCellValueRange(double rng[2]);
239
240 virtual void SetCellAlphaRange(double mn, double mx);
241 virtual void SetCellAlphaRange(double rng[2]);
242 virtual double* GetCellAlphaRange();
243 virtual void GetCellAlphaRange(double& mn, double& mx);
244 virtual void GetCellAlphaRange(double rng[2]);
245
247
250 vtkGetObjectMacro(CellLookupTable, vtkScalarsToColors);
253
255
258 vtkSetMacro(ScaleCellLookupTable, bool);
259 vtkGetMacro(ScaleCellLookupTable, bool);
260 vtkBooleanMacro(ScaleCellLookupTable, bool);
262
264
267 vtkSetVector3Macro(OutlineColor, double);
268 vtkGetVector3Macro(OutlineColor, double);
270
272
275 vtkSetVector3Macro(SelectedPointColor, double);
276 vtkGetVector3Macro(SelectedPointColor, double);
277 vtkSetMacro(SelectedPointOpacity, double);
278 vtkGetMacro(SelectedPointOpacity, double);
280
282
285 vtkSetVector3Macro(SelectedCellColor, double);
286 vtkGetVector3Macro(SelectedCellColor, double);
287 vtkSetMacro(SelectedCellOpacity, double);
288 vtkGetMacro(SelectedCellOpacity, double);
290
292
295 vtkSetVector3Macro(BackgroundColor, double);
296 vtkGetVector3Macro(BackgroundColor, double);
298
300
303 vtkSetVector3Macro(BackgroundColor2, double);
304 vtkGetVector3Macro(BackgroundColor2, double);
306
308
312 vtkGetObjectMacro(PointTextProperty, vtkTextProperty);
314
316
320 vtkGetObjectMacro(CellTextProperty, vtkTextProperty);
322
324
328 virtual void SetVertexLabelColor(double r, double g, double b);
329 virtual void SetVertexLabelColor(double c[3]) { this->SetVertexLabelColor(c[0], c[1], c[2]); }
330 virtual double* GetVertexLabelColor();
331 virtual void GetVertexLabelColor(double& r, double& g, double& b)
332 {
333 double* c = this->GetVertexLabelColor();
334 if (c)
335 {
336 r = c[0];
337 g = c[1];
338 b = c[2];
339 }
340 }
341 virtual void GetVertexLabelColor(double c[3]) { this->GetVertexLabelColor(c[0], c[1], c[2]); }
343
345
349 virtual void SetEdgeLabelColor(double r, double g, double b);
350 virtual void SetEdgeLabelColor(double c[3]) { this->SetEdgeLabelColor(c[0], c[1], c[2]); }
351 virtual double* GetEdgeLabelColor();
352 virtual void GetEdgeLabelColor(double& r, double& g, double& b)
353 {
354 double* c = this->GetEdgeLabelColor();
355 if (c)
356 {
357 r = c[0];
358 g = c[1];
359 b = c[2];
360 }
361 }
362 virtual void GetEdgeLabelColor(double c[3]) { this->GetEdgeLabelColor(c[0], c[1], c[2]); }
364
366
375
377
384
385protected:
387 ~vtkViewTheme() override;
388
389 double PointSize;
390 double LineWidth;
391
392 double PointColor[3];
394
395 double CellColor[3];
397
398 double OutlineColor[3];
399
400 double SelectedPointColor[3];
402 double SelectedCellColor[3];
404
405 double BackgroundColor[3];
406 double BackgroundColor2[3];
407
410
413
416
417private:
418 vtkViewTheme(const vtkViewTheme&) = delete;
419 void operator=(const vtkViewTheme&) = delete;
420};
421
422VTK_ABI_NAMESPACE_END
423#endif
a simple class to control print indentation
Definition vtkIndent.h:108
abstract base class for most VTK objects
Definition vtkObject.h:162
Superclass for mapping scalar values to colors.
represent text properties.
Sets theme colors for a graphical view.
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
virtual double * GetCellSaturationRange()
~vtkViewTheme() override
virtual void GetVertexLabelColor(double &r, double &g, double &b)
The color to use for labeling graph vertices.
virtual double * GetCellHueRange()
The ranges to use in the cell lookup table.
virtual void SetCellValueRange(double mn, double mx)
vtkScalarsToColors * PointLookupTable
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)
The color to use for labeling graph edges.
double SelectedPointOpacity
virtual void SetPointAlphaRange(double rng[2])
virtual void SetCellLookupTable(vtkScalarsToColors *lut)
Set/Get the cell lookup table.
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])
The color to use for labeling graph edges.
virtual void GetPointAlphaRange(double rng[2])
virtual void GetPointHueRange(double &mn, double &mx)
The ranges to use in the point lookup table.
virtual double * GetPointValueRange()
virtual void SetPointSaturationRange(double rng[2])
virtual double * GetPointSaturationRange()
static vtkViewTheme * CreateNeonTheme()
Convenience methods for creating some default view themes.
virtual void SetCellAlphaRange(double rng[2])
virtual void SetVertexLabelColor(double c[3])
The color to use for labeling graph vertices.
bool ScalePointLookupTable
virtual double * GetEdgeLabelColor()
The color to use for labeling graph edges.
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 void GetCellSaturationRange(double rng[2])
virtual double * GetVertexLabelColor()
The color to use for labeling graph vertices.
virtual void GetVertexLabelColor(double c[3])
The color to use for labeling graph vertices.
static vtkViewTheme * CreateOceanTheme()
Convenience methods for creating some default view themes.
vtkTextProperty * CellTextProperty
virtual void GetCellHueRange(double rng[2])
The ranges to use in the cell lookup table.
virtual void SetPointSaturationRange(double mn, double mx)
vtkTextProperty * PointTextProperty
virtual void SetCellAlphaRange(double mn, double mx)
virtual void GetPointSaturationRange(double &mn, double &mx)
virtual void GetPointValueRange(double &mn, double &mx)
virtual double * GetPointHueRange()
The ranges to use in the point lookup table.
virtual double * GetCellValueRange()
virtual void SetEdgeLabelColor(double c[3])
The color to use for labeling graph edges.
virtual double * GetPointAlphaRange()
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 void SetCellSaturationRange(double rng[2])
virtual void GetPointAlphaRange(double &mn, double &mx)
bool ScaleCellLookupTable
vtkScalarsToColors * CellLookupTable
virtual double * GetCellAlphaRange()
double SelectedCellOpacity
static vtkViewTheme * CreateMellowTheme()
Convenience methods for creating some default view themes.
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
virtual void SetCellHueRange(double rng[2])
The ranges to use in the cell lookup table.
static vtkViewTheme * New()