VTK  9.1.0
vtkImageProperty.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkImageProperty.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 =========================================================================*/
137 #ifndef vtkImageProperty_h
138 #define vtkImageProperty_h
139 
140 #include "vtkObject.h"
141 #include "vtkRenderingCoreModule.h" // For export macro
142 
143 class vtkScalarsToColors;
144 
145 class VTKRENDERINGCORE_EXPORT vtkImageProperty : public vtkObject
146 {
147 public:
148  vtkTypeMacro(vtkImageProperty, vtkObject);
149  void PrintSelf(ostream& os, vtkIndent indent) override;
150 
155 
160 
162 
165  vtkSetMacro(ColorWindow, double);
166  vtkGetMacro(ColorWindow, double);
168 
170 
173  vtkSetMacro(ColorLevel, double);
174  vtkGetMacro(ColorLevel, double);
176 
178 
183  virtual void SetLookupTable(vtkScalarsToColors* lut);
184  vtkGetObjectMacro(LookupTable, vtkScalarsToColors);
186 
188 
193  vtkSetMacro(UseLookupTableScalarRange, vtkTypeBool);
194  vtkGetMacro(UseLookupTableScalarRange, vtkTypeBool);
195  vtkBooleanMacro(UseLookupTableScalarRange, vtkTypeBool);
197 
199 
205  vtkSetClampMacro(Opacity, double, 0.0, 1.0);
206  vtkGetMacro(Opacity, double);
208 
210 
213  vtkSetClampMacro(Ambient, double, 0.0, 1.0);
214  vtkGetMacro(Ambient, double);
216 
218 
221  vtkSetClampMacro(Diffuse, double, 0.0, 1.0);
222  vtkGetMacro(Diffuse, double);
224 
226 
229  vtkSetClampMacro(InterpolationType, int, VTK_NEAREST_INTERPOLATION, VTK_CUBIC_INTERPOLATION);
230  vtkGetMacro(InterpolationType, int);
231  void SetInterpolationTypeToNearest() { this->SetInterpolationType(VTK_NEAREST_INTERPOLATION); }
232  void SetInterpolationTypeToLinear() { this->SetInterpolationType(VTK_LINEAR_INTERPOLATION); }
233  void SetInterpolationTypeToCubic() { this->SetInterpolationType(VTK_CUBIC_INTERPOLATION); }
234  virtual const char* GetInterpolationTypeAsString();
236 
238 
242  vtkSetMacro(LayerNumber, int);
243  int GetLayerNumber() { return this->LayerNumber; }
245 
247 
251  vtkSetMacro(Checkerboard, vtkTypeBool);
252  vtkBooleanMacro(Checkerboard, vtkTypeBool);
253  vtkGetMacro(Checkerboard, vtkTypeBool);
255 
257 
260  vtkSetVector2Macro(CheckerboardSpacing, double);
261  vtkGetVector2Macro(CheckerboardSpacing, double);
263 
265 
269  vtkSetVector2Macro(CheckerboardOffset, double);
270  vtkGetVector2Macro(CheckerboardOffset, double);
272 
274 
280  vtkSetMacro(Backing, vtkTypeBool);
281  vtkBooleanMacro(Backing, vtkTypeBool);
282  vtkGetMacro(Backing, vtkTypeBool);
284 
286 
289  vtkSetVector3Macro(BackingColor, double);
290  vtkGetVector3Macro(BackingColor, double);
292 
297  vtkMTimeType GetMTime() override;
298 
299 protected:
301  ~vtkImageProperty() override;
302 
304  double ColorWindow;
305  double ColorLevel;
309  double Opacity;
310  double Ambient;
311  double Diffuse;
313  double CheckerboardSpacing[2];
314  double CheckerboardOffset[2];
316  double BackingColor[3];
317 
318 private:
319  vtkImageProperty(const vtkImageProperty&) = delete;
320  void operator=(const vtkImageProperty&) = delete;
321 };
322 
323 #endif
vtkImageProperty::ColorWindow
double ColorWindow
Definition: vtkImageProperty.h:304
vtkImageProperty::GetMTime
vtkMTimeType GetMTime() override
Get the MTime for this property.
vtkImageProperty::UseLookupTableScalarRange
vtkTypeBool UseLookupTableScalarRange
Definition: vtkImageProperty.h:306
vtkImageProperty::Checkerboard
vtkTypeBool Checkerboard
Definition: vtkImageProperty.h:312
vtkImageProperty::ColorLevel
double ColorLevel
Definition: vtkImageProperty.h:305
vtkObject
abstract base class for most VTK objects
Definition: vtkObject.h:82
VTK_CUBIC_INTERPOLATION
#define VTK_CUBIC_INTERPOLATION
Definition: vtkSystemIncludes.h:96
vtkImageProperty::DeepCopy
void DeepCopy(vtkImageProperty *p)
Assign one property to another.
vtkImageProperty::Opacity
double Opacity
Definition: vtkImageProperty.h:309
VTK_NEAREST_INTERPOLATION
#define VTK_NEAREST_INTERPOLATION
Definition: vtkSystemIncludes.h:94
vtkImageProperty::vtkImageProperty
vtkImageProperty()
vtkImageProperty::GetLayerNumber
int GetLayerNumber()
Set the layer number.
Definition: vtkImageProperty.h:243
vtkImageProperty::Diffuse
double Diffuse
Definition: vtkImageProperty.h:311
vtkImageProperty::Backing
vtkTypeBool Backing
Definition: vtkImageProperty.h:315
vtkImageProperty::LayerNumber
int LayerNumber
Definition: vtkImageProperty.h:308
vtkImageProperty::~vtkImageProperty
~vtkImageProperty() override
vtkImageProperty
image display properties
Definition: vtkImageProperty.h:146
vtkImageProperty::SetInterpolationTypeToLinear
void SetInterpolationTypeToLinear()
The interpolation type (default: VTK_LINEAR_INTERPOLATION).
Definition: vtkImageProperty.h:232
vtkImageProperty::SetLookupTable
virtual void SetLookupTable(vtkScalarsToColors *lut)
Specify a lookup table for the data.
vtkImageProperty::SetInterpolationTypeToNearest
void SetInterpolationTypeToNearest()
The interpolation type (default: VTK_LINEAR_INTERPOLATION).
Definition: vtkImageProperty.h:231
vtkImageProperty::SetInterpolationTypeToCubic
void SetInterpolationTypeToCubic()
The interpolation type (default: VTK_LINEAR_INTERPOLATION).
Definition: vtkImageProperty.h:233
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:113
vtkImageProperty::LookupTable
vtkScalarsToColors * LookupTable
Definition: vtkImageProperty.h:303
VTK_LINEAR_INTERPOLATION
#define VTK_LINEAR_INTERPOLATION
Definition: vtkSystemIncludes.h:95
vtkScalarsToColors
Superclass for mapping scalar values to colors.
Definition: vtkScalarsToColors.h:109
vtkImageProperty::New
static vtkImageProperty * New()
Construct a property with no lookup table.
vtkObject.h
vtkImageProperty::Ambient
double Ambient
Definition: vtkImageProperty.h:310
vtkImageProperty::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkImageProperty::GetInterpolationTypeAsString
virtual const char * GetInterpolationTypeAsString()
The interpolation type (default: VTK_LINEAR_INTERPOLATION).
vtkTypeBool
int vtkTypeBool
Definition: vtkABI.h:69
vtkImageProperty::InterpolationType
int InterpolationType
Definition: vtkImageProperty.h:307
vtkMTimeType
vtkTypeUInt32 vtkMTimeType
Definition: vtkType.h:287