VTK
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 =========================================================================*/
32 #ifndef vtkImageStack_h
33 #define vtkImageStack_h
34 
35 #include "vtkRenderingImageModule.h" // For export macro
36 #include "vtkImageSlice.h"
37 
39 class vtkImageProperty;
40 class vtkImageMapper3D;
41 class vtkCollection;
42 
43 class VTKRENDERINGIMAGE_EXPORT vtkImageStack : public vtkImageSlice
44 {
45 public:
47  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
48  static vtkImageStack *New();
49 
54  void AddImage(vtkImageSlice *prop);
55 
60  void RemoveImage(vtkImageSlice *prop);
61 
65  int HasImage(vtkImageSlice *prop);
66 
70  vtkImageSliceCollection *GetImages() { return this->Images; }
71 
73 
77  vtkSetMacro(ActiveLayer, int);
78  int GetActiveLayer() { return this->ActiveLayer; }
80 
86  vtkImageSlice *GetActiveImage();
87 
91  vtkImageMapper3D *GetMapper() VTK_OVERRIDE;
92 
96  vtkImageProperty *GetProperty() VTK_OVERRIDE;
97 
99 
102  double *GetBounds() VTK_OVERRIDE;
103  void GetBounds(double bounds[6]) { this->vtkProp3D::GetBounds( bounds ); };
105 
109  vtkMTimeType GetMTime() VTK_OVERRIDE;
110 
117  vtkMTimeType GetRedrawMTime() VTK_OVERRIDE;
118 
122  void ShallowCopy(vtkProp *prop) VTK_OVERRIDE;
123 
129  void GetImages(vtkPropCollection *);
130 
132 
135  int RenderOverlay(vtkViewport *viewport) VTK_OVERRIDE;
136  int RenderOpaqueGeometry(vtkViewport *viewport) VTK_OVERRIDE;
137  int RenderTranslucentPolygonalGeometry(vtkViewport *viewport) VTK_OVERRIDE;
139 
143  int HasTranslucentPolygonalGeometry() VTK_OVERRIDE;
144 
148  void ReleaseGraphicsResources(vtkWindow *win) VTK_OVERRIDE;
149 
151 
155  void InitPathTraversal() VTK_OVERRIDE;
156  vtkAssemblyPath *GetNextPath() VTK_OVERRIDE;
157  int GetNumberOfPaths() VTK_OVERRIDE;
159 
165  void BuildPaths(vtkAssemblyPaths *paths, vtkAssemblyPath *path) VTK_OVERRIDE;
166 
167 protected:
168  vtkImageStack();
169  ~vtkImageStack() VTK_OVERRIDE;
170 
171  void SetMapper(vtkImageMapper3D *mapper);
172  void SetProperty(vtkImageProperty *property);
173 
174  void PokeMatrices(vtkMatrix4x4 *matrix);
175  void UpdatePaths();
176 
177  vtkTimeStamp PathTime;
178  vtkCollection *ImageMatrices;
180  int ActiveLayer;
181 
182 private:
183  vtkImageStack(const vtkImageStack&) VTK_DELETE_FUNCTION;
184  void operator=(const vtkImageStack&) VTK_DELETE_FUNCTION;
185 };
186 
187 #endif
abstract superclass for all actors, volumes and annotations
Definition: vtkProp.h:44
represent and manipulate 4x4 transformation matrices
Definition: vtkMatrix4x4.h:35
a sorted list of image slice objects
double * GetBounds() override=0
Return a reference to the Prop3D's composite transform.
vtkTypeUInt32 vtkMTimeType
Definition: vtkType.h:300
abstract specification for Viewports
Definition: vtkViewport.h:44
record modification and/or execution time
Definition: vtkTimeStamp.h:32
image display properties
an ordered list of Props
window superclass for vtkRenderWindow
Definition: vtkWindow.h:34
vtkImageSliceCollection * GetImages()
Get the list of images as a vtkImageSliceCollection.
Definition: vtkImageStack.h:70
a list of nodes that form an assembly path
a simple class to control print indentation
Definition: vtkIndent.h:33
abstract class for mapping images to the screen
a list of lists of props representing an assembly hierarchy
vtkSetMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
create and manipulate ordered lists of objects
Definition: vtkCollection.h:48
int GetActiveLayer()
Set the active layer number.
Definition: vtkImageStack.h:78
represents an image in a 3D scene
Definition: vtkImageSlice.h:46
static vtkImageSlice * New()
Creates an Image with the following defaults: origin(0,0,0) position=(0,0,0) scale=1 visibility=1 pic...
virtual vtkImageMapper3D * GetMapper()
Set/Get the mapper.
vtkMTimeType GetMTime() override
Return the MTime also considering the property etc.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
manages a stack of composited images
Definition: vtkImageStack.h:43