VTK  9.6.1
vtkImageStack.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
22
23#ifndef vtkImageStack_h
24#define vtkImageStack_h
25
26#include "vtkImageSlice.h"
27#include "vtkRenderingImageModule.h" // For export macro
28#include "vtkWrappingHints.h"
29
30VTK_ABI_NAMESPACE_BEGIN
34class vtkCollection;
35
36class VTKRENDERINGIMAGE_EXPORT VTK_MARSHALAUTO vtkImageStack : public vtkImageSlice
37{
38public:
40 void PrintSelf(ostream& os, vtkIndent indent) override;
41 static vtkImageStack* New();
42
48
54
59
64
66
70 vtkSetMacro(ActiveLayer, int);
71 int GetActiveLayer() { return this->ActiveLayer; }
73
80
85
90
92
95 double* GetBounds() override;
96 void GetBounds(double bounds[6]) { this->vtkProp3D::GetBounds(bounds); }
98
103
111
115 void ShallowCopy(vtkProp* prop) override;
116
123
125
128 int RenderOverlay(vtkViewport* viewport) override;
129 int RenderOpaqueGeometry(vtkViewport* viewport) override;
132
137
142
144
148 void InitPathTraversal() override;
150 int GetNumberOfPaths() override;
152
158 void BuildPaths(vtkAssemblyPaths* paths, vtkAssemblyPath* path) override;
159
160protected:
162 ~vtkImageStack() override;
163
166
169
174
175private:
176 vtkImageStack(const vtkImageStack&) = delete;
177 void operator=(const vtkImageStack&) = delete;
178};
179
180VTK_ABI_NAMESPACE_END
181#endif
a list of nodes that form an assembly path
a list of lists of props representing an assembly hierarchy
create and manipulate ordered lists of objects
abstract class for mapping images to the screen
image display properties
a sorted list of image slice objects
void RemoveImage(vtkImageSlice *prop)
Remove an image from the stack.
void BuildPaths(vtkAssemblyPaths *paths, vtkAssemblyPath *path) override
WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE DO NOT USE THIS METHOD OUTSIDE OF THE RENDERI...
vtkImageMapper3D * GetMapper() override
Get the mapper for the currently active image.
int RenderOpaqueGeometry(vtkViewport *viewport) override
Support the standard render methods.
int GetActiveLayer()
Set the active layer number.
void SetMapper(vtkImageMapper3D *mapper)
~vtkImageStack() override
void UpdatePaths()
vtkTypeBool HasImage(vtkImageSlice *prop)
Check if an image is present.
void InitPathTraversal() override
Methods for traversing the stack as if it was an assembly.
static vtkImageStack * New()
void PokeMatrices(vtkMatrix4x4 *matrix)
void ShallowCopy(vtkProp *prop) override
Shallow copy of this prop.
vtkImageSliceCollection * GetImages()
Get the list of images as a vtkImageSliceCollection.
vtkImageSlice * GetActiveImage()
Get the active image.
vtkImageProperty * GetProperty() override
Get the property for the currently active image.
void GetBounds(double bounds[6])
Get the combined bounds of all of the images.
vtkMTimeType GetRedrawMTime() override
Return the mtime of anything that would cause the rendered image to appear differently.
vtkTypeBool HasTranslucentPolygonalGeometry() override
Does this prop have some translucent polygonal geometry?
int RenderOverlay(vtkViewport *viewport) override
Support the standard render methods.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void ReleaseGraphicsResources(vtkWindow *win) override
Release any resources held by this prop.
int GetNumberOfPaths() override
Methods for traversing the stack as if it was an assembly.
vtkAssemblyPath * GetNextPath() override
Methods for traversing the stack as if it was an assembly.
int RenderTranslucentPolygonalGeometry(vtkViewport *viewport) override
Support the standard render methods.
vtkTimeStamp PathTime
vtkNew< vtkImageSliceCollection > Images
void SetProperty(vtkImageProperty *property)
vtkMTimeType GetMTime() override
Return the max MTime of all the images.
void AddImage(vtkImageSlice *prop)
Add an image to the stack.
vtkCollection * ImageMatrices
void GetImages(vtkPropCollection *)
For some exporters and other other operations we must be able to collect all the actors,...
double * GetBounds() override
Get the combined bounds of all of the images.
a simple class to control print indentation
Definition vtkIndent.h:29
represent and manipulate 4x4 transformation matrices
Allocate and hold a VTK object.
Definition vtkNew.h:58
double * GetBounds() override=0
Return a reference to the Prop3D's composite transform.
an ordered list of Props
record modification and/or execution time
abstract specification for Viewports
Definition vtkViewport.h:47
window superclass for vtkRenderWindow
Definition vtkWindow.h:29
int vtkTypeBool
Definition vtkABI.h:64
vtkTypeUInt32 vtkMTimeType
Definition vtkType.h:323
#define VTK_MARSHALAUTO