VTK  9.4.20241121
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
134#ifndef vtkImageActor_h
135#define vtkImageActor_h
136
137#include "vtkImageSlice.h"
138#include "vtkRenderingCoreModule.h" // For export macro
139#include "vtkWrappingHints.h" // For VTK_MARSHALAUTO
140
141VTK_ABI_NAMESPACE_BEGIN
142class vtkAlgorithm;
144class vtkRenderer;
145class vtkImageData;
146
147class VTKRENDERINGCORE_EXPORT VTK_MARSHALAUTO vtkImageActor : public vtkImageSlice
148{
149public:
151 void PrintSelf(ostream& os, vtkIndent indent) override;
152
157
159
167
169
175 vtkBooleanMacro(Interpolate, vtkTypeBool);
177
179
183 virtual void SetOpacity(double);
184 virtual double GetOpacity();
185 double GetOpacityMinValue() { return 0.0; }
186 double GetOpacityMaxValue() { return 1.0; }
188
190
194 void SetDisplayExtent(const int extent[6]);
195 void SetDisplayExtent(int minX, int maxX, int minY, int maxY, int minZ, int maxZ);
196 void GetDisplayExtent(int extent[6]);
197 int* GetDisplayExtent() VTK_SIZEHINT(6) { return this->DisplayExtent; }
199
201
207 double* GetBounds() VTK_SIZEHINT(6) override;
208 void GetBounds(double bounds[6]) { this->Superclass::GetBounds(bounds); }
210
212
219 void GetDisplayBounds(double bounds[6]);
221
223
227 int GetSliceNumber();
228 int GetSliceNumberMax();
229 int GetSliceNumberMin();
231
233
242 void SetZSlice(int z)
243 {
244 this->SetDisplayExtent(this->DisplayExtent[0], this->DisplayExtent[1], this->DisplayExtent[2],
245 this->DisplayExtent[3], z, z);
246 }
247 int GetZSlice() { return this->DisplayExtent[4]; }
251
260
262
267 vtkGetMacro(ForceOpaque, bool);
268 vtkSetMacro(ForceOpaque, bool);
269 vtkBooleanMacro(ForceOpaque, bool);
271
272protected:
274 ~vtkImageActor() override;
275
280 static int GetOrientationFromExtent(const int extent[6]);
281
282 int DisplayExtent[6];
283 double DisplayBounds[6];
284
285 // Convenience function that returns the input of the mapper
287
288 // the result of HasTranslucentPolygonalGeometry is cached
292
293private:
294 vtkImageActor(const vtkImageActor&) = delete;
295 void operator=(const vtkImageActor&) = delete;
296};
297
298VTK_ABI_NAMESPACE_END
299#endif
Superclass for all sources, filters, and sinks in VTK.
draw an image in a rendered 3D scene
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.
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 * 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 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.
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...
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
represents an image in a 3D scene
a simple class to control print indentation
Definition vtkIndent.h:108
double * GetBounds() override=0
Return a reference to the Prop3D's composite transform.
an ordered list of Props
abstract specification for renderers
record modification and/or execution time
int vtkTypeBool
Definition vtkABI.h:64
#define VTK_SIZEHINT(...)
#define VTK_MARSHALAUTO