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 
58 class vtkImageProperty;
59 class vtkImageMapper3D;
60 class vtkCollection;
61 
62 class VTKRENDERINGIMAGE_EXPORT vtkImageStack : public vtkImageSlice
63 {
64 public:
65  vtkTypeMacro(vtkImageStack, vtkImageSlice);
66  void PrintSelf(ostream& os, vtkIndent indent) override;
67  static vtkImageStack* New();
68 
73  void AddImage(vtkImageSlice* prop);
74 
80 
84  int HasImage(vtkImageSlice* prop);
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 
128  vtkMTimeType GetMTime() override;
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 
167  void ReleaseGraphicsResources(vtkWindow* win) override;
168 
170 
174  void InitPathTraversal() override;
176  int GetNumberOfPaths() override;
178 
184  void BuildPaths(vtkAssemblyPaths* paths, vtkAssemblyPath* path) override;
185 
186 protected:
188  ~vtkImageStack() override;
189 
191  void SetProperty(vtkImageProperty* property);
192 
193  void PokeMatrices(vtkMatrix4x4* matrix);
194  void UpdatePaths();
195 
200 
201 private:
202  vtkImageStack(const vtkImageStack&) = delete;
203  void operator=(const vtkImageStack&) = delete;
204 };
205 
206 #endif
vtkImageStack::RemoveImage
void RemoveImage(vtkImageSlice *prop)
Remove an image from the stack.
vtkImageStack::GetBounds
double * GetBounds() override
Get the combined bounds of all of the images.
vtkImageStack::PokeMatrices
void PokeMatrices(vtkMatrix4x4 *matrix)
vtkImageStack::UpdatePaths
void UpdatePaths()
vtkImageStack::PathTime
vtkTimeStamp PathTime
Definition: vtkImageStack.h:196
vtkImageStack::GetNextPath
vtkAssemblyPath * GetNextPath() override
Methods for traversing the stack as if it was an assembly.
vtkImageStack::ActiveLayer
int ActiveLayer
Definition: vtkImageStack.h:199
vtkTimeStamp
record modification and/or execution time
Definition: vtkTimeStamp.h:52
vtkImageStack::GetBounds
void GetBounds(double bounds[6])
Get the combined bounds of all of the images.
Definition: vtkImageStack.h:122
vtkImageStack::ReleaseGraphicsResources
void ReleaseGraphicsResources(vtkWindow *win) override
Release any resources held by this prop.
vtkImageStack::New
static vtkImageStack * New()
vtkImageStack::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkAssemblyPath
a list of nodes that form an assembly path
Definition: vtkAssemblyPath.h:91
vtkAssemblyPaths
a list of lists of props representing an assembly hierarchy
Definition: vtkAssemblyPaths.h:38
vtkProp3D::GetBounds
double * GetBounds() override=0
Return a reference to the Prop3D's composite transform.
vtkWindow
window superclass for vtkRenderWindow
Definition: vtkWindow.h:39
vtkImageStack::~vtkImageStack
~vtkImageStack() override
vtkImageStack::GetNumberOfPaths
int GetNumberOfPaths() override
Methods for traversing the stack as if it was an assembly.
vtkImageStack::vtkImageStack
vtkImageStack()
vtkCollection
create and manipulate ordered lists of objects
Definition: vtkCollection.h:53
vtkImageStack::GetMapper
vtkImageMapper3D * GetMapper() override
Get the mapper for the currently active image.
vtkImageSlice
represents an image in a 3D scene
Definition: vtkImageSlice.h:156
vtkImageProperty
image display properties
Definition: vtkImageProperty.h:146
vtkImageStack::HasImage
int HasImage(vtkImageSlice *prop)
Check if an image is present.
vtkImageStack::BuildPaths
void BuildPaths(vtkAssemblyPaths *paths, vtkAssemblyPath *path) override
WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE DO NOT USE THIS METHOD OUTSIDE OF THE RENDERI...
vtkImageStack::GetProperty
vtkImageProperty * GetProperty() override
Get the property for the currently active image.
vtkImageStack::RenderOverlay
int RenderOverlay(vtkViewport *viewport) override
Support the standard render methods.
vtkImageStack::GetActiveLayer
int GetActiveLayer()
Set the active layer number.
Definition: vtkImageStack.h:97
vtkImageStack::SetMapper
void SetMapper(vtkImageMapper3D *mapper)
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:113
vtkMatrix4x4
represent and manipulate 4x4 transformation matrices
Definition: vtkMatrix4x4.h:145
vtkImageStack::RenderTranslucentPolygonalGeometry
int RenderTranslucentPolygonalGeometry(vtkViewport *viewport) override
Support the standard render methods.
vtkImageStack::SetProperty
void SetProperty(vtkImageProperty *property)
vtkImageStack::ShallowCopy
void ShallowCopy(vtkProp *prop) override
Shallow copy of this prop.
vtkImageStack::GetMTime
vtkMTimeType GetMTime() override
Return the max MTime of all the images.
vtkImageSliceCollection
a sorted list of image slice objects
Definition: vtkImageSliceCollection.h:34
vtkImageStack::GetImages
vtkImageSliceCollection * GetImages()
Get the list of images as a vtkImageSliceCollection.
Definition: vtkImageStack.h:89
vtkViewport
abstract specification for Viewports
Definition: vtkViewport.h:47
vtkImageStack::HasTranslucentPolygonalGeometry
vtkTypeBool HasTranslucentPolygonalGeometry() override
Does this prop have some translucent polygonal geometry?
vtkImageStack
manages a stack of composited images
Definition: vtkImageStack.h:63
vtkProp
abstract superclass for all actors, volumes and annotations
Definition: vtkProp.h:76
vtkImageStack::ImageMatrices
vtkCollection * ImageMatrices
Definition: vtkImageStack.h:197
vtkImageMapper3D
abstract class for mapping images to the screen
Definition: vtkImageMapper3D.h:158
vtkImageSlice.h
vtkImageStack::GetActiveImage
vtkImageSlice * GetActiveImage()
Get the active image.
vtkImageStack::InitPathTraversal
void InitPathTraversal() override
Methods for traversing the stack as if it was an assembly.
vtkImageStack::GetImages
void GetImages(vtkPropCollection *)
For some exporters and other other operations we must be able to collect all the actors,...
vtkImageStack::Images
vtkImageSliceCollection * Images
Definition: vtkImageStack.h:198
vtkImageStack::RenderOpaqueGeometry
int RenderOpaqueGeometry(vtkViewport *viewport) override
Support the standard render methods.
vtkPropCollection
an ordered list of Props
Definition: vtkPropCollection.h:85
vtkImageStack::GetRedrawMTime
vtkMTimeType GetRedrawMTime() override
Return the mtime of anything that would cause the rendered image to appear differently.
vtkTypeBool
int vtkTypeBool
Definition: vtkABI.h:69
vtkImageStack::AddImage
void AddImage(vtkImageSlice *prop)
Add an image to the stack.
vtkMTimeType
vtkTypeUInt32 vtkMTimeType
Definition: vtkType.h:287