VTK
vtkImageViewer2.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkImageViewer2.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 =========================================================================*/
60 #ifndef vtkImageViewer2_h
61 #define vtkImageViewer2_h
62 
63 #include "vtkInteractionImageModule.h" // For export macro
64 #include "vtkObject.h"
65 
66 class vtkAlgorithm;
67 class vtkAlgorithmOutput;
68 class vtkImageActor;
69 class vtkImageData;
71 class vtkInformation;
73 class vtkRenderWindow;
74 class vtkRenderer;
76 
78 {
79 public:
80  static vtkImageViewer2 *New();
82  void PrintSelf(ostream& os, vtkIndent indent);
83 
85  virtual const char *GetWindowName();
86 
88  virtual void Render(void);
89 
91 
92  virtual void SetInputData(vtkImageData *in);
93  virtual vtkImageData *GetInput();
96 
98 
99  enum
100  {
101  SLICE_ORIENTATION_YZ = 0,
102  SLICE_ORIENTATION_XZ = 1,
103  SLICE_ORIENTATION_XY = 2
104  };
105  //ETX
106  vtkGetMacro(SliceOrientation, int);
107  virtual void SetSliceOrientation(int orientation);
108  virtual void SetSliceOrientationToXY()
109  { this->SetSliceOrientation(vtkImageViewer2::SLICE_ORIENTATION_XY); };
110  virtual void SetSliceOrientationToYZ()
111  { this->SetSliceOrientation(vtkImageViewer2::SLICE_ORIENTATION_YZ); };
112  virtual void SetSliceOrientationToXZ()
113  { this->SetSliceOrientation(vtkImageViewer2::SLICE_ORIENTATION_XZ); };
115 
117 
119  vtkGetMacro(Slice, int);
120  virtual void SetSlice(int s);
122 
132  virtual void UpdateDisplayExtent();
133 
135 
137  virtual int GetSliceMin();
138  virtual int GetSliceMax();
139  virtual void GetSliceRange(int range[2])
140  { this->GetSliceRange(range[0], range[1]); }
141  virtual void GetSliceRange(int &min, int &max);
142  virtual int* GetSliceRange();
144 
146 
147  virtual double GetColorWindow();
148  virtual double GetColorLevel();
149  virtual void SetColorWindow(double s);
150  virtual void SetColorLevel(double s);
152 
154 
155  virtual void SetDisplayId(void *a);
156  virtual void SetWindowId(void *a);
157  virtual void SetParentId(void *a);
159 
161 
162  virtual int* GetPosition();
163  virtual void SetPosition(int a,int b);
164  virtual void SetPosition(int a[2]) { this->SetPosition(a[0],a[1]); }
166 
168 
169  virtual int* GetSize();
170  virtual void SetSize(int a, int b);
171  virtual void SetSize(int a[2]) { this->SetSize(a[0],a[1]); }
173 
175 
183 
185 
186  virtual void SetRenderWindow(vtkRenderWindow *arg);
187  virtual void SetRenderer(vtkRenderer *arg);
189 
192 
194 
197  virtual void SetOffScreenRendering(int);
198  virtual int GetOffScreenRendering();
199  vtkBooleanMacro(OffScreenRendering,int);
201 
202 protected:
205 
206  virtual void InstallPipeline();
207  virtual void UnInstallPipeline();
208 
215 
218  int Slice;
219 
220  virtual void UpdateOrientation();
221 
224 
225  friend class vtkImageViewer2Callback;
226 
227 private:
228  vtkImageViewer2(const vtkImageViewer2&); // Not implemented.
229  void operator=(const vtkImageViewer2&); // Not implemented.
230 };
231 
232 #endif
vtkImageViewer2::GetSliceMax
virtual int GetSliceMax()
vtkGetObjectMacro
#define vtkGetObjectMacro(name, type)
Definition: vtkSetGet.h:232
vtkImageViewer2::GetOffScreenRendering
virtual int GetOffScreenRendering()
vtkImageViewer2::SetParentId
virtual void SetParentId(void *a)
vtkgl::b
GLboolean GLboolean GLboolean b
Definition: vtkgl.h:12312
vtkInteractionImageModule.h
vtkImageViewer2::Interactor
vtkRenderWindowInteractor * Interactor
Definition: vtkImageViewer2.h:213
vtkImageViewer2::Render
virtual void Render(void)
vtkImageViewer2::SetRenderer
virtual void SetRenderer(vtkRenderer *arg)
vtkAlgorithm
Superclass for all sources, filters, and sinks in VTK.
Definition: vtkAlgorithm.h:62
vtkImageViewer2::SetWindowId
virtual void SetWindowId(void *a)
vtkImageViewer2::SetSliceOrientation
virtual void SetSliceOrientation(int orientation)
vtkImageViewer2::SetInputConnection
virtual void SetInputConnection(vtkAlgorithmOutput *input)
vtkgl::s
GLdouble s
Definition: vtkgl.h:11594
vtkTypeMacro
#define vtkTypeMacro(thisClass, superclass)
Definition: vtkSetGet.h:642
vtkObject
abstract base class for most VTK objects
Definition: vtkObject.h:62
vtkImageViewer2
Display a 2D image.
Definition: vtkImageViewer2.h:78
vtkImageViewer2::GetInputAlgorithm
vtkAlgorithm * GetInputAlgorithm()
vtkgl::input
GLenum GLenum GLenum input
Definition: vtkgl.h:15941
vtkInteractorStyleImage
interactive manipulation of the camera specialized for images
Definition: vtkInteractorStyleImage.h:88
vtkgl::range
GLenum GLint * range
Definition: vtkgl.h:14180
vtkgl::in
GLuint in
Definition: vtkgl.h:16905
vtkImageViewer2::SetSize
virtual void SetSize(int a, int b)
vtkImageViewer2::GetPosition
virtual int * GetPosition()
vtkImageViewer2::UnInstallPipeline
virtual void UnInstallPipeline()
max
#define max(a, b)
Definition: vtkX3DExporterFIWriterHelper.h:30
vtkImageViewer2::GetWindowName
virtual const char * GetWindowName()
vtkImageViewer2::GetInputInformation
vtkInformation * GetInputInformation()
vtkImageViewer2::~vtkImageViewer2
~vtkImageViewer2()
vtkImageViewer2::WindowLevel
vtkImageMapToWindowLevelColors * WindowLevel
Definition: vtkImageViewer2.h:209
VTKINTERACTIONIMAGE_EXPORT
#define VTKINTERACTIONIMAGE_EXPORT
Definition: vtkInteractionImageModule.h:15
vtkImageViewer2::SetSliceOrientationToXY
virtual void SetSliceOrientationToXY()
Definition: vtkImageViewer2.h:108
vtkImageViewer2::GetSize
virtual int * GetSize()
vtkImageViewer2::New
static vtkImageViewer2 * New()
vtkImageViewer2::GetColorLevel
virtual double GetColorLevel()
vtkImageViewer2::FirstRender
int FirstRender
Definition: vtkImageViewer2.h:217
vtkImageViewer2::GetColorWindow
virtual double GetColorWindow()
vtkImageViewer2::InstallPipeline
virtual void InstallPipeline()
vtkImageViewer2::UpdateOrientation
virtual void UpdateOrientation()
vtkImageMapToWindowLevelColors
map the input image through a lookup table and window / level it
Definition: vtkImageMapToWindowLevelColors.h:41
vtkImageData
topologically and geometrically regular array of data
Definition: vtkImageData.h:45
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:39
vtkImageViewer2::SetPosition
virtual void SetPosition(int a[2])
Definition: vtkImageViewer2.h:164
vtkImageViewer2::SetSliceOrientationToXZ
virtual void SetSliceOrientationToXZ()
Definition: vtkImageViewer2.h:112
vtkImageViewer2::ImageActor
vtkImageActor * ImageActor
Definition: vtkImageViewer2.h:212
vtkImageViewer2::SetOffScreenRendering
virtual void SetOffScreenRendering(int)
vtkImageViewer2::GetSliceRange
virtual int * GetSliceRange()
vtkImageViewer2::GetSliceMin
virtual int GetSliceMin()
vtkImageViewer2::SetInputData
virtual void SetInputData(vtkImageData *in)
vtkGetMacro
#define vtkGetMacro(name, type)
Definition: vtkSetGet.h:93
vtkImageViewer2::SLICE_ORIENTATION_XZ
@ SLICE_ORIENTATION_XZ
Definition: vtkImageViewer2.h:102
vtkImageViewer2::GetInput
virtual vtkImageData * GetInput()
vtkImageViewer2::SetSlice
virtual void SetSlice(int s)
vtkRenderWindowInteractor
platform-independent render window interaction including picking and frame rate control.
Definition: vtkRenderWindowInteractor.h:80
vtkImageViewer2::SetSize
virtual void SetSize(int a[2])
Definition: vtkImageViewer2.h:171
vtkImageViewer2::InteractorStyle
vtkInteractorStyleImage * InteractorStyle
Definition: vtkImageViewer2.h:214
vtkImageViewer2::UpdateDisplayExtent
virtual void UpdateDisplayExtent()
vtkgl::a
GLboolean GLboolean GLboolean GLboolean a
Definition: vtkgl.h:12312
vtkImageViewer2::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent)
vtkObject.h
vtkImageViewer2::Slice
int Slice
Definition: vtkImageViewer2.h:218
vtkImageViewer2::SetupInteractor
virtual void SetupInteractor(vtkRenderWindowInteractor *)
vtkBooleanMacro
vtkBooleanMacro(IgnoreDriverBugs, bool)
vtkInformation
Store vtkAlgorithm input/output information.
Definition: vtkInformation.h:86
vtkImageViewer2::SetDisplayId
virtual void SetDisplayId(void *a)
vtkImageViewer2::SLICE_ORIENTATION_XY
@ SLICE_ORIENTATION_XY
Definition: vtkImageViewer2.h:103
vtkImageViewer2::SetColorLevel
virtual void SetColorLevel(double s)
vtkImageViewer2::RenderWindow
vtkRenderWindow * RenderWindow
Definition: vtkImageViewer2.h:210
vtkX3D::orientation
@ orientation
Definition: vtkX3D.h:262
vtkImageViewer2::vtkImageViewer2
vtkImageViewer2()
vtkImageViewer2::SliceOrientation
int SliceOrientation
Definition: vtkImageViewer2.h:216
vtkAlgorithmOutput
Proxy object to connect input/output ports.
Definition: vtkAlgorithmOutput.h:39
vtkRenderer
abstract specification for renderers
Definition: vtkRenderer.h:64
vtkImageActor
draw an image in a rendered 3D scene
Definition: vtkImageActor.h:49
vtkImageViewer2::SetColorWindow
virtual void SetColorWindow(double s)
vtkRenderWindow
create a window for renderers to draw into
Definition: vtkRenderWindow.h:89
vtkImageViewer2::GetSliceRange
virtual void GetSliceRange(int &min, int &max)
vtkImageViewer2::SetPosition
virtual void SetPosition(int a, int b)
vtkImageViewer2::SetSliceOrientationToYZ
virtual void SetSliceOrientationToYZ()
Definition: vtkImageViewer2.h:110
vtkImageViewer2::GetSliceRange
virtual void GetSliceRange(int range[2])
Definition: vtkImageViewer2.h:139
vtkImageViewer2::SLICE_ORIENTATION_YZ
@ SLICE_ORIENTATION_YZ
Definition: vtkImageViewer2.h:101
vtkImageViewer2::Renderer
vtkRenderer * Renderer
Definition: vtkImageViewer2.h:211
vtkImageViewer2::SetRenderWindow
virtual void SetRenderWindow(vtkRenderWindow *arg)