VTK
vtkImageViewer.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkImageViewer.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 vtkImageViewer_h
36 #define vtkImageViewer_h
37 
38 #include "vtkInteractionImageModule.h" // For export macro
39 #include "vtkObject.h"
40 
41 #include "vtkImageMapper.h" // For all the inline methods
42 #include "vtkRenderWindow.h" // For all the inline methods
43 
45 
46 class VTKINTERACTIONIMAGE_EXPORT vtkImageViewer : public vtkObject
47 {
48 public:
49  static vtkImageViewer *New();
50 
51  vtkTypeMacro(vtkImageViewer,vtkObject);
52  void PrintSelf(ostream& os, vtkIndent indent) override;
53 
57  char *GetWindowName() {return this->RenderWindow->GetWindowName();};
58 
62  virtual void Render(void);
63 
65 
68  void SetInputData(vtkImageData *in) {this->ImageMapper->SetInputData(in);};
69  vtkImageData *GetInput() { return this->ImageMapper->GetInput();};
70  virtual void SetInputConnection(vtkAlgorithmOutput* input) {
71  this->ImageMapper->SetInputConnection(input);};
73 
75 
78  int GetWholeZMin() {return this->ImageMapper->GetWholeZMin();};
79  int GetWholeZMax() {return this->ImageMapper->GetWholeZMax();};
81 
83 
86  int GetZSlice() {return this->ImageMapper->GetZSlice();};
87  void SetZSlice(int s) {this->ImageMapper->SetZSlice(s);};
89 
91 
94  double GetColorWindow() {return this->ImageMapper->GetColorWindow();};
95  double GetColorLevel() {return this->ImageMapper->GetColorLevel();};
96  void SetColorWindow(double s) {this->ImageMapper->SetColorWindow(s);};
97  void SetColorLevel(double s) {this->ImageMapper->SetColorLevel(s);};
99 
101 
104  void SetDisplayId(void *a) {this->RenderWindow->SetDisplayId(a);};
105  void SetWindowId(void *a) {this->RenderWindow->SetWindowId(a);};
106  void SetParentId(void *a) {this->RenderWindow->SetParentId(a);};
108 
110 
113  int *GetPosition() VTK_SIZEHINT(2) {return this->RenderWindow->GetPosition();};
114  void SetPosition(int a,int b) {this->RenderWindow->SetPosition(a,b);};
115  virtual void SetPosition(int a[2]);
117 
119 
122  int *GetSize() VTK_SIZEHINT(2) {return this->RenderWindow->GetSize();};
123  void SetSize(int a,int b) {this->RenderWindow->SetSize(a,b);};
124  virtual void SetSize(int a[2]);
126 
128 
131  vtkGetObjectMacro(RenderWindow,vtkRenderWindow);
132  void SetRenderWindow(vtkRenderWindow* renWin);
133  vtkGetObjectMacro(Renderer, vtkRenderer);
134  vtkGetObjectMacro(ImageMapper,vtkImageMapper);
135  vtkGetObjectMacro(Actor2D,vtkActor2D);
137 
141  void SetupInteractor(vtkRenderWindowInteractor *);
142 
144 
149  void SetOffScreenRendering(vtkTypeBool);
150  vtkTypeBool GetOffScreenRendering();
151  void OffScreenRenderingOn();
152  void OffScreenRenderingOff();
154 
155 protected:
156  vtkImageViewer();
157  ~vtkImageViewer() override;
158 
166 
167  friend class vtkImageViewerCallback;
168  vtkAlgorithm* GetInputAlgorithm();
169 
170 private:
171  vtkImageViewer(const vtkImageViewer&) = delete;
172  void operator=(const vtkImageViewer&) = delete;
173 };
174 
175 #endif
int GetZSlice()
Set/Get the current Z Slice to display.
abstract base class for most VTK objects
Definition: vtkObject.h:59
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
a actor that draws 2D data
Definition: vtkActor2D.h:45
vtkImageMapper * ImageMapper
vtkRenderWindowInteractor * Interactor
void SetColorWindow(double s)
Sets window/level for mapping pixels to colors.
void SetWindowId(void *a)
These are here for using a tk window.
abstract specification for renderers
Definition: vtkRenderer.h:63
void SetParentId(void *a)
These are here for using a tk window.
vtkInteractorStyleImage * InteractorStyle
vtkRenderer * Renderer
Display a 2d image.
double GetColorWindow()
Sets window/level for mapping pixels to colors.
Proxy object to connect input/output ports.
interactive manipulation of the camera specialized for images
void SetPosition(int a, int b)
Set/Get the position in screen coordinates of the rendering window.
int vtkTypeBool
Definition: vtkABI.h:69
platform-independent render window interaction including picking and frame rate control.
Superclass for all sources, filters, and sinks in VTK.
Definition: vtkAlgorithm.h:59
vtkImageData * GetInput()
Set/Get the input to the viewer.
void SetColorLevel(double s)
Sets window/level for mapping pixels to colors.
a simple class to control print indentation
Definition: vtkIndent.h:39
topologically and geometrically regular array of data
Definition: vtkImageData.h:45
void SetZSlice(int s)
Set/Get the current Z Slice to display.
char * GetWindowName()
Get name of rendering window.
int GetWholeZMin()
What is the possible Min/ Max z slices available.
int * GetPosition()
Set/Get the position in screen coordinates of the rendering window.
void SetSize(int a, int b)
Set/Get the size of the window in screen coordinates in pixels.
int * GetSize()
Set/Get the size of the window in screen coordinates in pixels.
#define VTK_SIZEHINT(...)
create a window for renderers to draw into
double GetColorLevel()
Sets window/level for mapping pixels to colors.
vtkRenderWindow * RenderWindow
virtual void SetInputConnection(vtkAlgorithmOutput *input)
Set/Get the input to the viewer.
2D image display
int GetWholeZMax()
What is the possible Min/ Max z slices available.
vtkActor2D * Actor2D
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on...
void SetInputData(vtkImageData *in)
Set/Get the input to the viewer.
void SetDisplayId(void *a)
These are here for using a tk window.