VTK  9.4.20241121
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#include "vtkWrappingHints.h" // For VTK_MARSHALAUTO
118
119VTK_ABI_NAMESPACE_BEGIN
121class vtkTextProperty;
122
123class VTKVIEWSCORE_EXPORT VTK_MARSHALAUTO vtkViewTheme : public vtkObject
124{
125public:
126 static vtkViewTheme* New();
127 vtkTypeMacro(vtkViewTheme, vtkObject);
128 void PrintSelf(ostream& os, vtkIndent indent) override;
129
131
134 vtkSetMacro(PointSize, double);
135 vtkGetMacro(PointSize, double);
137
139
142 vtkSetMacro(LineWidth, double);
143 vtkGetMacro(LineWidth, double);
145
147
151 vtkSetVector3Macro(PointColor, double);
152 vtkGetVector3Macro(PointColor, double);
153 vtkSetMacro(PointOpacity, double);
154 vtkGetMacro(PointOpacity, double);
156
158
163 virtual void SetPointHueRange(double mn, double mx);
164 virtual void SetPointHueRange(double rng[2]);
165 virtual double* GetPointHueRange();
166 virtual void GetPointHueRange(double& mn, double& mx);
167 virtual void GetPointHueRange(double rng[2]);
169
170 virtual void SetPointSaturationRange(double mn, double mx);
171 virtual void SetPointSaturationRange(double rng[2]);
172 virtual double* GetPointSaturationRange();
173 virtual void GetPointSaturationRange(double& mn, double& mx);
174 virtual void GetPointSaturationRange(double rng[2]);
175
176 virtual void SetPointValueRange(double mn, double mx);
177 virtual void SetPointValueRange(double rng[2]);
178 virtual double* GetPointValueRange();
179 virtual void GetPointValueRange(double& mn, double& mx);
180 virtual void GetPointValueRange(double rng[2]);
181
182 virtual void SetPointAlphaRange(double mn, double mx);
183 virtual void SetPointAlphaRange(double rng[2]);
184 virtual double* GetPointAlphaRange();
185 virtual void GetPointAlphaRange(double& mn, double& mx);
186 virtual void GetPointAlphaRange(double rng[2]);
187
189
192 vtkGetObjectMacro(PointLookupTable, vtkScalarsToColors);
195
197
200 vtkSetMacro(ScalePointLookupTable, bool);
201 vtkGetMacro(ScalePointLookupTable, bool);
202 vtkBooleanMacro(ScalePointLookupTable, bool);
204
206
210 vtkSetVector3Macro(CellColor, double);
211 vtkGetVector3Macro(CellColor, double);
212 vtkSetMacro(CellOpacity, double);
213 vtkGetMacro(CellOpacity, double);
215
217
222 virtual void SetCellHueRange(double mn, double mx);
223 virtual void SetCellHueRange(double rng[2]);
224 virtual double* GetCellHueRange();
225 virtual void GetCellHueRange(double& mn, double& mx);
226 virtual void GetCellHueRange(double rng[2]);
228
229 virtual void SetCellSaturationRange(double mn, double mx);
230 virtual void SetCellSaturationRange(double rng[2]);
231 virtual double* GetCellSaturationRange();
232 virtual void GetCellSaturationRange(double& mn, double& mx);
233 virtual void GetCellSaturationRange(double rng[2]);
234
235 virtual void SetCellValueRange(double mn, double mx);
236 virtual void SetCellValueRange(double rng[2]);
237 virtual double* GetCellValueRange();
238 virtual void GetCellValueRange(double& mn, double& mx);
239 virtual void GetCellValueRange(double rng[2]);
240
241 virtual void SetCellAlphaRange(double mn, double mx);
242 virtual void SetCellAlphaRange(double rng[2]);
243 virtual double* GetCellAlphaRange();
244 virtual void GetCellAlphaRange(double& mn, double& mx);
245 virtual void GetCellAlphaRange(double rng[2]);
246
248
251 vtkGetObjectMacro(CellLookupTable, vtkScalarsToColors);
254
256
259 vtkSetMacro(ScaleCellLookupTable, bool);
260 vtkGetMacro(ScaleCellLookupTable, bool);
261 vtkBooleanMacro(ScaleCellLookupTable, bool);
263
265
268 vtkSetVector3Macro(OutlineColor, double);
269 vtkGetVector3Macro(OutlineColor, double);
271
273
276 vtkSetVector3Macro(SelectedPointColor, double);
277 vtkGetVector3Macro(SelectedPointColor, double);
278 vtkSetMacro(SelectedPointOpacity, double);
279 vtkGetMacro(SelectedPointOpacity, double);
281
283
286 vtkSetVector3Macro(SelectedCellColor, double);
287 vtkGetVector3Macro(SelectedCellColor, double);
288 vtkSetMacro(SelectedCellOpacity, double);
289 vtkGetMacro(SelectedCellOpacity, double);
291
293
296 vtkSetVector3Macro(BackgroundColor, double);
297 vtkGetVector3Macro(BackgroundColor, double);
299
301
304 vtkSetVector3Macro(BackgroundColor2, double);
305 vtkGetVector3Macro(BackgroundColor2, double);
307
309
313 vtkGetObjectMacro(PointTextProperty, vtkTextProperty);
315
317
321 vtkGetObjectMacro(CellTextProperty, vtkTextProperty);
323
325
329 virtual void SetVertexLabelColor(double r, double g, double b);
330 virtual void SetVertexLabelColor(double c[3]) { this->SetVertexLabelColor(c[0], c[1], c[2]); }
331 virtual double* GetVertexLabelColor();
332 virtual void GetVertexLabelColor(double& r, double& g, double& b)
333 {
334 double* c = this->GetVertexLabelColor();
335 if (c)
336 {
337 r = c[0];
338 g = c[1];
339 b = c[2];
340 }
341 }
342 virtual void GetVertexLabelColor(double c[3]) { this->GetVertexLabelColor(c[0], c[1], c[2]); }
344
346
350 virtual void SetEdgeLabelColor(double r, double g, double b);
351 virtual void SetEdgeLabelColor(double c[3]) { this->SetEdgeLabelColor(c[0], c[1], c[2]); }
352 virtual double* GetEdgeLabelColor();
353 virtual void GetEdgeLabelColor(double& r, double& g, double& b)
354 {
355 double* c = this->GetEdgeLabelColor();
356 if (c)
357 {
358 r = c[0];
359 g = c[1];
360 b = c[2];
361 }
362 }
363 virtual void GetEdgeLabelColor(double c[3]) { this->GetEdgeLabelColor(c[0], c[1], c[2]); }
365
367
376
378
385
386protected:
388 ~vtkViewTheme() override;
389
390 double PointSize;
391 double LineWidth;
392
393 double PointColor[3];
395
396 double CellColor[3];
398
399 double OutlineColor[3];
400
401 double SelectedPointColor[3];
403 double SelectedCellColor[3];
405
406 double BackgroundColor[3];
407 double BackgroundColor2[3];
408
411
414
417
418private:
419 vtkViewTheme(const vtkViewTheme&) = delete;
420 void operator=(const vtkViewTheme&) = delete;
421};
422
423VTK_ABI_NAMESPACE_END
424#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()
#define VTK_MARSHALAUTO