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=========================================================================*/
40#ifndef vtkImageActor_h
41#define vtkImageActor_h
42
43#include "vtkImageSlice.h"
44#include "vtkRenderingCoreModule.h" // For export macro
45
46class vtkAlgorithm;
48class vtkRenderer;
49class vtkImageData;
50
51class VTKRENDERINGCORE_EXPORT vtkImageActor : public vtkImageSlice
52{
53public:
55 void PrintSelf(ostream& os, vtkIndent indent) override;
56
60 static vtkImageActor* New();
61
63
68 virtual void SetInputData(vtkImageData*);
71
73
79 vtkBooleanMacro(Interpolate, vtkTypeBool);
81
83
87 virtual void SetOpacity(double);
88 virtual double GetOpacity();
89 double GetOpacityMinValue() { return 0.0; }
90 double GetOpacityMaxValue() { return 1.0; }
92
94
98 void SetDisplayExtent(const int extent[6]);
99 void SetDisplayExtent(int minX, int maxX, int minY, int maxY, int minZ, int maxZ);
101 int* GetDisplayExtent() VTK_SIZEHINT(6) { return this->DisplayExtent; }
103
105
111 double* GetBounds() VTK_SIZEHINT(6) override;
112 void GetBounds(double bounds[6]) { this->Superclass::GetBounds(bounds); }
114
116
123 void GetDisplayBounds(double bounds[6]);
125
127
135
137
146 void SetZSlice(int z)
147 {
148 this->SetDisplayExtent(this->DisplayExtent[0], this->DisplayExtent[1], this->DisplayExtent[2],
149 this->DisplayExtent[3], z, z);
150 }
151 int GetZSlice() { return this->DisplayExtent[4]; }
155
164
166
171 vtkGetMacro(ForceOpaque, bool);
172 vtkSetMacro(ForceOpaque, bool);
173 vtkBooleanMacro(ForceOpaque, bool);
175
176protected:
178 ~vtkImageActor() override;
179
184 static int GetOrientationFromExtent(const int extent[6]);
185
186 int DisplayExtent[6];
187 double DisplayBounds[6];
188
189 // Convenience function that returns the input of the mapper
191
192 // the result of HasTranslucentPolygonalGeometry is cached
196
197private:
198 vtkImageActor(const vtkImageActor&) = delete;
199 void operator=(const vtkImageActor&) = delete;
200};
201
202#endif
Superclass for all sources, filters, and sinks in VTK.
Definition: vtkAlgorithm.h:64
draw an image in a rendered 3D scene
Definition: vtkImageActor.h:52
virtual void SetInputData(vtkImageData *)
Set/Get the image data input for the image actor.
int GetWholeZMax()
Set/Get the current slice number.
virtual vtkTypeBool GetInterpolate()
Turn on/off linear interpolation of the image when rendering.
int GetSliceNumberMax()
Return the slice number (& min/max slice number) computed from the display extent.
void GetDisplayExtent(int extent[6])
The image extent is generally set explicitly, but if not set it will be determined from the input ima...
double * GetBounds() override
Get the bounds of this image actor.
int GetSliceNumber()
Return the slice number (& min/max slice number) computed from the display extent.
int * GetDisplayExtent()
The image extent is generally set explicitly, but if not set it will be determined from the input ima...
double * GetDisplayBounds()
Get the bounds of the data that is displayed by this image actor.
void GetDisplayBounds(double bounds[6])
Get the bounds of the data that is displayed by this image actor.
double GetOpacityMaxValue()
Set/Get the object's opacity.
Definition: vtkImageActor.h:90
vtkTimeStamp TranslucentComputationTime
virtual vtkImageData * GetInput()
Set/Get the image data input for the image actor.
virtual double GetOpacity()
Set/Get the object's opacity.
int GetSliceNumberMin()
Return the slice number (& min/max slice number) computed from the display extent.
virtual void SetOpacity(double)
Set/Get the object's opacity.
vtkTypeBool HasTranslucentPolygonalGeometry() override
Internal method, should only be used by rendering.
static vtkImageActor * New()
Instantiate the image actor.
vtkAlgorithm * GetInputAlgorithm()
virtual void SetInterpolate(vtkTypeBool)
Turn on/off linear interpolation of the image when rendering.
int TranslucentCachedResult
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
double GetOpacityMinValue()
Set/Get the object's opacity.
Definition: vtkImageActor.h:89
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...
void SetZSlice(int z)
Set/Get the current slice number.
static int GetOrientationFromExtent(const int extent[6])
Guess the orientation from the extent.
~vtkImageActor() override
int GetWholeZMin()
Set/Get the current slice number.
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...
int GetZSlice()
Set/Get the current slice number.
topologically and geometrically regular array of data
Definition: vtkImageData.h:57
represents an image in a 3D scene
Definition: vtkImageSlice.h:56
a simple class to control print indentation
Definition: vtkIndent.h:43
double * GetBounds() override=0
Return a reference to the Prop3D's composite transform.
an ordered list of Props
abstract specification for renderers
Definition: vtkRenderer.h:73
record modification and/or execution time
Definition: vtkTimeStamp.h:42
void GetBounds(T a, double bds[6])
@ extent
Definition: vtkX3D.h:351
int vtkTypeBool
Definition: vtkABI.h:69
#define VTK_SIZEHINT(...)