VTK  9.1.0
vtkImageActor.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkImageActor.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 =========================================================================*/
140 #ifndef vtkImageActor_h
141 #define vtkImageActor_h
142 
143 #include "vtkImageSlice.h"
144 #include "vtkRenderingCoreModule.h" // For export macro
145 
146 class vtkAlgorithm;
147 class vtkPropCollection;
148 class vtkRenderer;
149 class vtkImageData;
150 
151 class VTKRENDERINGCORE_EXPORT vtkImageActor : public vtkImageSlice
152 {
153 public:
154  vtkTypeMacro(vtkImageActor, vtkImageSlice);
155  void PrintSelf(ostream& os, vtkIndent indent) override;
156 
160  static vtkImageActor* New();
161 
163 
168  virtual void SetInputData(vtkImageData*);
169  virtual vtkImageData* GetInput();
171 
173 
179  vtkBooleanMacro(Interpolate, vtkTypeBool);
181 
183 
187  virtual void SetOpacity(double);
188  virtual double GetOpacity();
189  double GetOpacityMinValue() { return 0.0; }
190  double GetOpacityMaxValue() { return 1.0; }
192 
194 
198  void SetDisplayExtent(const int extent[6]);
199  void SetDisplayExtent(int minX, int maxX, int minY, int maxY, int minZ, int maxZ);
200  void GetDisplayExtent(int extent[6]);
201  int* GetDisplayExtent() VTK_SIZEHINT(6) { return this->DisplayExtent; }
203 
205 
211  double* GetBounds() VTK_SIZEHINT(6) override;
212  void GetBounds(double bounds[6]) { this->Superclass::GetBounds(bounds); }
214 
216 
222  double* GetDisplayBounds();
223  void GetDisplayBounds(double bounds[6]);
225 
227 
235 
237 
246  void SetZSlice(int z)
247  {
248  this->SetDisplayExtent(this->DisplayExtent[0], this->DisplayExtent[1], this->DisplayExtent[2],
249  this->DisplayExtent[3], z, z);
250  }
251  int GetZSlice() { return this->DisplayExtent[4]; }
255 
264 
266 
271  vtkGetMacro(ForceOpaque, bool);
272  vtkSetMacro(ForceOpaque, bool);
273  vtkBooleanMacro(ForceOpaque, bool);
275 
276 protected:
278  ~vtkImageActor() override;
279 
284  static int GetOrientationFromExtent(const int extent[6]);
285 
286  int DisplayExtent[6];
287  double DisplayBounds[6];
288 
289  // Convenience function that returns the input of the mapper
291 
292  // the result of HasTranslucentPolygonalGeometry is cached
296 
297 private:
298  vtkImageActor(const vtkImageActor&) = delete;
299  void operator=(const vtkImageActor&) = delete;
300 };
301 
302 #endif
vtkImageActor::SetOpacity
virtual void SetOpacity(double)
Set/Get the object's opacity.
vtkImageActor::ForceOpaque
bool ForceOpaque
Definition: vtkImageActor.h:295
vtkImageActor::~vtkImageActor
~vtkImageActor() override
vtkImageActor::GetOpacity
virtual double GetOpacity()
Set/Get the object's opacity.
vtkImageActor::GetInterpolate
virtual vtkTypeBool GetInterpolate()
Turn on/off linear interpolation of the image when rendering.
vtkImageActor::GetOpacityMaxValue
double GetOpacityMaxValue()
Set/Get the object's opacity.
Definition: vtkImageActor.h:190
vtkAlgorithm
Superclass for all sources, filters, and sinks in VTK.
Definition: vtkAlgorithm.h:123
vtkImageActor::SetInterpolate
virtual void SetInterpolate(vtkTypeBool)
Turn on/off linear interpolation of the image when rendering.
vtkTimeStamp
record modification and/or execution time
Definition: vtkTimeStamp.h:52
vtkImageActor::GetWholeZMin
int GetWholeZMin()
Set/Get the current slice number.
vtkImageActor::vtkImageActor
vtkImageActor()
vtkProp3D::GetBounds
double * GetBounds() override=0
Return a reference to the Prop3D's composite transform.
vtkImageActor::GetInputAlgorithm
vtkAlgorithm * GetInputAlgorithm()
vtkImageActor::SetDisplayExtent
void SetDisplayExtent(const int extent[6])
The image extent is generally set explicitly, but if not set it will be determined from the input ima...
vtkImageSlice
represents an image in a 3D scene
Definition: vtkImageSlice.h:156
VTK_SIZEHINT
#define VTK_SIZEHINT(...)
Definition: vtkWrappingHints.h:48
vtkImageActor::SetDisplayExtent
void SetDisplayExtent(int minX, int maxX, int minY, int maxY, int minZ, int maxZ)
The image extent is generally set explicitly, but if not set it will be determined from the input ima...
vtkImageActor::GetDisplayExtent
void GetDisplayExtent(int extent[6])
The image extent is generally set explicitly, but if not set it will be determined from the input ima...
vtkImageActor::SetInputData
virtual void SetInputData(vtkImageData *)
Set/Get the image data input for the image actor.
vtkBlockSortHelper::GetBounds
void GetBounds(T a, double bds[6])
Definition: vtkBlockSortHelper.h:37
vtkImageActor::SetZSlice
void SetZSlice(int z)
Set/Get the current slice number.
Definition: vtkImageActor.h:246
vtkImageActor::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkImageData
topologically and geometrically regular array of data
Definition: vtkImageData.h:157
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:113
vtkImageActor::TranslucentComputationTime
vtkTimeStamp TranslucentComputationTime
Definition: vtkImageActor.h:293
vtkImageActor::GetInput
virtual vtkImageData * GetInput()
Set/Get the image data input for the image actor.
vtkImageActor::GetOrientationFromExtent
static int GetOrientationFromExtent(const int extent[6])
Guess the orientation from the extent.
vtkImageSlice.h
vtkImageActor::GetWholeZMax
int GetWholeZMax()
Set/Get the current slice number.
vtkImageActor::GetSliceNumberMax
int GetSliceNumberMax()
Return the slice number (& min/max slice number) computed from the display extent.
vtkImageActor::GetDisplayBounds
void GetDisplayBounds(double bounds[6])
Get the bounds of the data that is displayed by this image actor.
vtkImageActor::GetBounds
double * GetBounds() override
Get the bounds of this image actor.
vtkImageActor::GetZSlice
int GetZSlice()
Set/Get the current slice number.
Definition: vtkImageActor.h:251
vtkRenderer
abstract specification for renderers
Definition: vtkRenderer.h:182
vtkImageActor
draw an image in a rendered 3D scene
Definition: vtkImageActor.h:152
vtkImageActor::TranslucentCachedResult
int TranslucentCachedResult
Definition: vtkImageActor.h:294
vtkImageActor::New
static vtkImageActor * New()
Instantiate the image actor.
vtkImageActor::GetSliceNumber
int GetSliceNumber()
Return the slice number (& min/max slice number) computed from the display extent.
vtkImageActor::GetOpacityMinValue
double GetOpacityMinValue()
Set/Get the object's opacity.
Definition: vtkImageActor.h:189
vtkX3D::extent
@ extent
Definition: vtkX3D.h:351
vtkImageActor::HasTranslucentPolygonalGeometry
vtkTypeBool HasTranslucentPolygonalGeometry() override
Internal method, should only be used by rendering.
vtkImageActor::GetDisplayExtent
int * GetDisplayExtent()
The image extent is generally set explicitly, but if not set it will be determined from the input ima...
Definition: vtkImageActor.h:201
vtkPropCollection
an ordered list of Props
Definition: vtkPropCollection.h:85
vtkImageActor::GetSliceNumberMin
int GetSliceNumberMin()
Return the slice number (& min/max slice number) computed from the display extent.
vtkImageActor::GetDisplayBounds
double * GetDisplayBounds()
Get the bounds of the data that is displayed by this image actor.
vtkTypeBool
int vtkTypeBool
Definition: vtkABI.h:69