VTK  9.1.0
vtkImageStack.h
Go to the documentation of this file.
1/*=========================================================================
2
3 Program: Visualization Toolkit
4 Module: vtkImageStack.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=========================================================================*/
51#ifndef vtkImageStack_h
52#define vtkImageStack_h
53
54#include "vtkImageSlice.h"
55#include "vtkRenderingImageModule.h" // For export macro
56
60class vtkCollection;
61
62class VTKRENDERINGIMAGE_EXPORT vtkImageStack : public vtkImageSlice
63{
64public:
66 void PrintSelf(ostream& os, vtkIndent indent) override;
67 static vtkImageStack* New();
68
74
80
85
89 vtkImageSliceCollection* GetImages() { return this->Images; }
90
92
96 vtkSetMacro(ActiveLayer, int);
97 int GetActiveLayer() { return this->ActiveLayer; }
99
106
111
116
118
121 double* GetBounds() override;
122 void GetBounds(double bounds[6]) { this->vtkProp3D::GetBounds(bounds); }
124
129
137
141 void ShallowCopy(vtkProp* prop) override;
142
149
151
154 int RenderOverlay(vtkViewport* viewport) override;
155 int RenderOpaqueGeometry(vtkViewport* viewport) override;
158
163
168
170
174 void InitPathTraversal() override;
176 int GetNumberOfPaths() override;
178
184 void BuildPaths(vtkAssemblyPaths* paths, vtkAssemblyPath* path) override;
185
186protected:
188 ~vtkImageStack() override;
189
192
195
200
201private:
202 vtkImageStack(const vtkImageStack&) = delete;
203 void operator=(const vtkImageStack&) = delete;
204};
205
206#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
Definition: vtkCollection.h:53
abstract class for mapping images to the screen
image display properties
a sorted list of image slice objects
represents an image in a 3D scene
manages a stack of composited images
Definition: vtkImageStack.h:63
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.
Definition: vtkImageStack.h:97
void SetMapper(vtkImageMapper3D *mapper)
~vtkImageStack() override
void UpdatePaths()
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.
Definition: vtkImageStack.h:89
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.
vtkImageSliceCollection * Images
vtkTimeStamp PathTime
void SetProperty(vtkImageProperty *property)
int HasImage(vtkImageSlice *prop)
Check if an image is present.
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:113
represent and manipulate 4x4 transformation matrices
Definition: vtkMatrix4x4.h:145
double * GetBounds() override=0
Return a reference to the Prop3D's composite transform.
an ordered list of Props
abstract superclass for all actors, volumes and annotations
Definition: vtkProp.h:67
record modification and/or execution time
Definition: vtkTimeStamp.h:52
abstract specification for Viewports
Definition: vtkViewport.h:47
window superclass for vtkRenderWindow
Definition: vtkWindow.h:36
int vtkTypeBool
Definition: vtkABI.h:69
vtkTypeUInt32 vtkMTimeType
Definition: vtkType.h:287