VTK  9.4.20251007
vtkImageActor.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
24
25#ifndef vtkImageActor_h
26#define vtkImageActor_h
27
28#include "vtkImageSlice.h"
29#include "vtkRenderingCoreModule.h" // For export macro
30#include "vtkWrappingHints.h" // For VTK_MARSHALAUTO
31
32VTK_ABI_NAMESPACE_BEGIN
33class vtkAlgorithm;
35class vtkRenderer;
36class vtkImageData;
37
38class VTKRENDERINGCORE_EXPORT VTK_MARSHALAUTO vtkImageActor : public vtkImageSlice
39{
40public:
42 void PrintSelf(ostream& os, vtkIndent indent) override;
43
47 static vtkImageActor* New();
48
50
55 virtual void SetInputData(vtkImageData*);
58
60
66 vtkBooleanMacro(Interpolate, vtkTypeBool);
68
70
74 virtual void SetOpacity(double);
75 virtual double GetOpacity();
76 double GetOpacityMinValue() { return 0.0; }
77 double GetOpacityMaxValue() { return 1.0; }
79
81
85 void SetDisplayExtent(const int extent[6]);
86 void SetDisplayExtent(int minX, int maxX, int minY, int maxY, int minZ, int maxZ);
87 void GetDisplayExtent(int extent[6]);
88 int* GetDisplayExtent() VTK_SIZEHINT(6) { return this->DisplayExtent; }
90
92
98 double* GetBounds() VTK_SIZEHINT(6) override;
99 void GetBounds(double bounds[6]) { this->Superclass::GetBounds(bounds); }
101
103
110 void GetDisplayBounds(double bounds[6]);
112
114
122
124
133 void SetZSlice(int z)
134 {
135 this->SetDisplayExtent(this->DisplayExtent[0], this->DisplayExtent[1], this->DisplayExtent[2],
136 this->DisplayExtent[3], z, z);
137 }
138 int GetZSlice() { return this->DisplayExtent[4]; }
142
151
153
158 vtkGetMacro(ForceOpaque, bool);
159 vtkSetMacro(ForceOpaque, bool);
160 vtkBooleanMacro(ForceOpaque, bool);
162
163protected:
165 ~vtkImageActor() override;
166
171 static int GetOrientationFromExtent(const int extent[6]);
172
174 double DisplayBounds[6];
175
176 // Convenience function that returns the input of the mapper
178
179 // the result of HasTranslucentPolygonalGeometry is cached
183
184private:
185 vtkImageActor(const vtkImageActor&) = delete;
186 void operator=(const vtkImageActor&) = delete;
187};
188
189VTK_ABI_NAMESPACE_END
190#endif
Superclass for all sources, filters, and sinks in VTK.
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.
double DisplayBounds[6]
double GetOpacityMaxValue()
Set/Get the object's opacity.
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.
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
a simple class to control print indentation
Definition vtkIndent.h:29
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:63
record modification and/or execution time
int vtkTypeBool
Definition vtkABI.h:64
#define VTK_SIZEHINT(...)
#define VTK_MARSHALAUTO