VTK  9.7.1
vtkImageProperty.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2 // SPDX-License-Identifier: BSD-3-Clause
19 #ifndef vtkImageProperty_h
20 #define vtkImageProperty_h
21 
22 #include "vtkObject.h"
23 #include "vtkRenderingCoreModule.h" // For export macro
24 #include "vtkWrappingHints.h" // For VTK_MARSHALAUTO
25 
26 VTK_ABI_NAMESPACE_BEGIN
27 class vtkScalarsToColors;
28 
29 class VTKRENDERINGCORE_EXPORT VTK_MARSHALAUTO vtkImageProperty : public vtkObject
30 {
31 public:
32  vtkTypeMacro(vtkImageProperty, vtkObject);
33  void PrintSelf(ostream& os, vtkIndent indent) override;
34 
38  static vtkImageProperty* New();
39 
43  void DeepCopy(vtkImageProperty* p);
44 
46 
49  vtkSetMacro(ColorWindow, double);
50  vtkGetMacro(ColorWindow, double);
52 
54 
57  vtkSetMacro(ColorLevel, double);
58  vtkGetMacro(ColorLevel, double);
60 
62 
67  virtual void SetLookupTable(vtkScalarsToColors* lut);
68  vtkGetObjectMacro(LookupTable, vtkScalarsToColors);
70 
72 
77  vtkSetMacro(UseLookupTableScalarRange, vtkTypeBool);
78  vtkGetMacro(UseLookupTableScalarRange, vtkTypeBool);
79  vtkBooleanMacro(UseLookupTableScalarRange, vtkTypeBool);
81 
83 
89  vtkSetClampMacro(Opacity, double, 0.0, 1.0);
90  vtkGetMacro(Opacity, double);
92 
94 
97  vtkSetClampMacro(Ambient, double, 0.0, 1.0);
98  vtkGetMacro(Ambient, double);
100 
102 
105  vtkSetClampMacro(Diffuse, double, 0.0, 1.0);
106  vtkGetMacro(Diffuse, double);
108 
110 
113  vtkSetClampMacro(InterpolationType, int, VTK_NEAREST_INTERPOLATION, VTK_CUBIC_INTERPOLATION);
114  vtkGetMacro(InterpolationType, int);
115  void SetInterpolationTypeToNearest() { this->SetInterpolationType(VTK_NEAREST_INTERPOLATION); }
116  void SetInterpolationTypeToLinear() { this->SetInterpolationType(VTK_LINEAR_INTERPOLATION); }
117  void SetInterpolationTypeToCubic() { this->SetInterpolationType(VTK_CUBIC_INTERPOLATION); }
118  virtual const char* GetInterpolationTypeAsString();
120 
122 
126  vtkSetMacro(LayerNumber, int);
127  int GetLayerNumber() { return this->LayerNumber; }
129 
131 
135  vtkSetMacro(Checkerboard, vtkTypeBool);
136  vtkBooleanMacro(Checkerboard, vtkTypeBool);
137  vtkGetMacro(Checkerboard, vtkTypeBool);
139 
141 
144  vtkSetVector2Macro(CheckerboardSpacing, double);
145  vtkGetVector2Macro(CheckerboardSpacing, double);
147 
149 
153  vtkSetVector2Macro(CheckerboardOffset, double);
154  vtkGetVector2Macro(CheckerboardOffset, double);
156 
158 
164  vtkSetMacro(Backing, vtkTypeBool);
165  vtkBooleanMacro(Backing, vtkTypeBool);
166  vtkGetMacro(Backing, vtkTypeBool);
168 
170 
173  vtkSetVector3Macro(BackingColor, double);
174  vtkGetVector3Macro(BackingColor, double);
176 
181  vtkMTimeType GetMTime() override;
182 
183 protected:
185  ~vtkImageProperty() override;
186 
188  double ColorWindow;
189  double ColorLevel;
193  double Opacity;
194  double Ambient;
195  double Diffuse;
197  double CheckerboardSpacing[2];
198  double CheckerboardOffset[2];
200  double BackingColor[3];
201 
202 private:
203  vtkImageProperty(const vtkImageProperty&) = delete;
204  void operator=(const vtkImageProperty&) = delete;
205 };
206 
207 VTK_ABI_NAMESPACE_END
208 #endif
vtkScalarsToColors * LookupTable
int GetLayerNumber()
Set the layer number.
abstract base class for most VTK objects
Definition: vtkObject.h:52
void SetInterpolationTypeToCubic()
The interpolation type (default: VTK_LINEAR_INTERPOLATION).
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkTypeUInt32 vtkMTimeType
Definition: vtkType.h:318
#define VTK_LINEAR_INTERPOLATION
image display properties
#define VTK_CUBIC_INTERPOLATION
int vtkTypeBool
Definition: vtkABI.h:64
Superclass for mapping scalar values to colors.
a simple class to control print indentation
Definition: vtkIndent.h:28
virtual vtkMTimeType GetMTime()
Return this object's modified time.
vtkTypeBool Checkerboard
vtkTypeBool UseLookupTableScalarRange
void SetInterpolationTypeToLinear()
The interpolation type (default: VTK_LINEAR_INTERPOLATION).
#define VTK_MARSHALAUTO
void SetInterpolationTypeToNearest()
The interpolation type (default: VTK_LINEAR_INTERPOLATION).
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on...
#define VTK_NEAREST_INTERPOLATION