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 =========================================================================*/
35 #ifndef vtkImageStack_h
36 #define vtkImageStack_h
37 
38 #include "vtkRenderingImageModule.h" // For export macro
39 #include "vtkImageSlice.h"
40 
42 class vtkImageProperty;
43 class vtkImageMapper3D;
44 class vtkCollection;
45 
46 class VTKRENDERINGIMAGE_EXPORT vtkImageStack : public vtkImageSlice
47 {
48 public:
50  void PrintSelf(ostream& os, vtkIndent indent);
51  static vtkImageStack *New();
52 
57  void AddImage(vtkImageSlice *prop);
58 
64 
68  int HasImage(vtkImageSlice *prop);
69 
73  vtkImageSliceCollection *GetImages() { return this->Images; }
74 
76 
80  vtkSetMacro(ActiveLayer, int);
81  int GetActiveLayer() { return this->ActiveLayer; }
83 
90 
95 
100 
102 
105  double *GetBounds();
106  void GetBounds(double bounds[6]) { this->vtkProp3D::GetBounds( bounds ); };
108 
113 
121 
125  void ShallowCopy(vtkProp *prop);
126 
133 
135 
138  virtual int RenderOverlay(vtkViewport *viewport);
139  virtual int RenderOpaqueGeometry(vtkViewport *viewport);
142 
147 
152 
154 
162 
169 
170 protected:
173 
175  void SetProperty(vtkImageProperty *property);
176 
177  void PokeMatrices(vtkMatrix4x4 *matrix);
178  void UpdatePaths();
179 
184 
185 private:
186  vtkImageStack(const vtkImageStack&) VTK_DELETE_FUNCTION;
187  void operator=(const vtkImageStack&) VTK_DELETE_FUNCTION;
188 };
189 
190 #endif
a list of nodes that form an assembly path
a list of lists of props representing an assembly hierarchy
create and manipulate unsorted lists of objects
Definition: vtkCollection.h:52
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
Definition: vtkImageSlice.h:53
manages a stack of composited images
Definition: vtkImageStack.h:47
vtkImageMapper3D * GetMapper()
Get the mapper for the currently active image.
void RemoveImage(vtkImageSlice *prop)
Remove an image from the stack.
int GetActiveLayer()
Definition: vtkImageStack.h:81
vtkAssemblyPath * GetNextPath()
void SetMapper(vtkImageMapper3D *mapper)
void UpdatePaths()
int GetNumberOfPaths()
double * GetBounds()
Get the combined bounds of all of the images.
virtual int RenderTranslucentPolygonalGeometry(vtkViewport *viewport)
void PokeMatrices(vtkMatrix4x4 *matrix)
virtual int RenderOpaqueGeometry(vtkViewport *viewport)
WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE DO NOT USE THESE METHODS OUTSIDE OF THE RENDE...
vtkMTimeType GetRedrawMTime()
Return the mtime of anything that would cause the rendered image to appear differently.
void GetBounds(double bounds[6])
vtkImageSliceCollection * GetImages()
Get the list of images as a vtkImageSliceCollection.
Definition: vtkImageStack.h:73
vtkImageSlice * GetActiveImage()
Get the active image.
vtkMTimeType GetMTime()
Return the max MTime of all the images.
static vtkImageStack * New()
void BuildPaths(vtkAssemblyPaths *paths, vtkAssemblyPath *path)
WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE DO NOT USE THIS METHOD OUTSIDE OF THE RENDERI...
vtkImageProperty * GetProperty()
Get the property for the currently active image.
void PrintSelf(ostream &os, vtkIndent indent)
Methods invoked by print to print information about the object including superclasses.
void ReleaseGraphicsResources(vtkWindow *win)
Release any resources held by this prop.
vtkImageSliceCollection * Images
vtkTimeStamp PathTime
void SetProperty(vtkImageProperty *property)
int HasImage(vtkImageSlice *prop)
Check if an image is present.
void InitPathTraversal()
Methods for traversing the stack as if it was an assembly.
void AddImage(vtkImageSlice *prop)
Add an image to the stack.
virtual int HasTranslucentPolygonalGeometry()
Does this prop have some translucent polygonal geometry?
vtkCollection * ImageMatrices
void ShallowCopy(vtkProp *prop)
Shallow copy of this prop.
void GetImages(vtkPropCollection *)
For some exporters and other other operations we must be able to collect all the actors,...
virtual int RenderOverlay(vtkViewport *viewport)
Support the standard render methods.
a simple class to control print indentation
Definition: vtkIndent.h:40
represent and manipulate 4x4 transformation matrices
Definition: vtkMatrix4x4.h:42
virtual double * GetBounds()=0
Get the bounds for this Prop as (Xmin,Xmax,Ymin,Ymax,Zmin,Zmax).
a list of Props
abstract superclass for all actors, volumes and annotations
Definition: vtkProp.h:48
record modification and/or execution time
Definition: vtkTimeStamp.h:36
abstract specification for Viewports
Definition: vtkViewport.h:48
window superclass for vtkRenderWindow
Definition: vtkWindow.h:35
vtkSetMacro(IgnoreDriverBugs, bool)
Updates the extensions string.
vtkTypeUInt64 vtkMTimeType
Definition: vtkType.h:248