VTK
vtkImageActor.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkImageActor.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 =========================================================================*/
40 #ifndef __vtkImageActor_h
41 #define __vtkImageActor_h
42 
43 #include "vtkProp3D.h"
44 
45 class vtkPropCollection;
46 class vtkRenderer;
47 class vtkImageData;
48 
50 {
51 public:
52  vtkTypeMacro(vtkImageActor,vtkProp3D);
53  void PrintSelf(ostream& os, vtkIndent indent);
54 
56  static vtkImageActor *New();
57 
59 
60  virtual void SetInput(vtkImageData *);
61  vtkGetObjectMacro(Input,vtkImageData);
63 
65 
66  vtkGetMacro(Interpolate,int);
67  vtkSetMacro(Interpolate,int);
68  vtkBooleanMacro(Interpolate,int);
70 
72 
74  vtkSetClampMacro(Opacity,double,0.0,1.0);
75  vtkGetMacro(Opacity,double);
77 
79 
81  void SetDisplayExtent(int extent[6]);
82  void SetDisplayExtent(int minX, int maxX, int minY, int maxY,
83  int minZ, int maxZ);
84  void GetDisplayExtent(int extent[6]);
85  int *GetDisplayExtent() {return this->DisplayExtent;}
87 
89 
93  double *GetBounds();
94  void GetBounds(double bounds[6]) { this->Superclass::GetBounds(bounds); };
96 
98 
101  double *GetDisplayBounds();
102  void GetDisplayBounds(double bounds[6]);
104 
106 
108  int GetSliceNumber();
109  int GetSliceNumberMax();
110  int GetSliceNumberMin();
112 
113  //BTX
115 
118  virtual int RenderTranslucentPolygonalGeometry(vtkViewport *viewport);
119  int RenderOpaqueGeometry(vtkViewport *viewport);
120  virtual void Render(vtkRenderer *) {};
122 
124 
125  virtual int HasTranslucentPolygonalGeometry();
126  //ETX
128 
130 
137  void SetZSlice(int z) {this->SetDisplayExtent(
138  this->DisplayExtent[0], this->DisplayExtent[1],
139  this->DisplayExtent[2], this->DisplayExtent[3], z, z);
140  };
141  int GetZSlice() { return this->DisplayExtent[4];};
142  int GetWholeZMin();
143  int GetWholeZMax();
145 
146 protected:
147  vtkImageActor();
148  ~vtkImageActor();
149 
151  double Opacity;
153  int DisplayExtent[6];
154  int ComputedDisplayExtent[6];
155  double DisplayBounds[6];
156 
157 private:
158  vtkImageActor(const vtkImageActor&); // Not implemented.
159  void operator=(const vtkImageActor&); // Not implemented.
160 };
161 
162 #endif
163