00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00040 #ifndef __vtkImageActor_h
00041 #define __vtkImageActor_h
00042
00043 #include "vtkProp3D.h"
00044
00045 class vtkPropCollection;
00046 class vtkRenderer;
00047 class vtkImageData;
00048
00049 class VTK_RENDERING_EXPORT vtkImageActor : public vtkProp3D
00050 {
00051 public:
00052 vtkTypeRevisionMacro(vtkImageActor,vtkProp3D);
00053 void PrintSelf(ostream& os, vtkIndent indent);
00054
00056 static vtkImageActor *New();
00057
00059
00060 virtual void SetInput(vtkImageData *);
00061 vtkGetObjectMacro(Input,vtkImageData);
00063
00065
00066 vtkGetMacro(Interpolate,int);
00067 vtkSetMacro(Interpolate,int);
00068 vtkBooleanMacro(Interpolate,int);
00070
00072
00074 vtkSetClampMacro(Opacity,double,0.0,1.0);
00075 vtkGetMacro(Opacity,double);
00077
00079
00081 void SetDisplayExtent(int extent[6]);
00082 void SetDisplayExtent(int minX, int maxX, int minY, int maxY,
00083 int minZ, int maxZ);
00084 void GetDisplayExtent(int extent[6]);
00085 int *GetDisplayExtent() {return this->DisplayExtent;}
00087
00089
00093 double *GetBounds();
00094 void GetBounds(double bounds[6]) { this->Superclass::GetBounds(bounds); };
00096
00098
00101 double *GetDisplayBounds();
00102 void GetDisplayBounds(double bounds[6]);
00104
00106 int GetSliceNumber();
00107
00108
00110
00113 int RenderTranslucentGeometry(vtkViewport *viewport);
00114 int RenderOpaqueGeometry(vtkViewport *viewport);
00115 virtual void Render(vtkRenderer *) {};
00117
00118
00120
00127 void SetZSlice(int z) {this->SetDisplayExtent(
00128 this->DisplayExtent[0], this->DisplayExtent[1],
00129 this->DisplayExtent[2], this->DisplayExtent[3], z, z);
00130 };
00132
00133 int GetZSlice() { return this->DisplayExtent[4];};
00134 int GetWholeZMin();
00135 int GetWholeZMax();
00136
00137 protected:
00138 vtkImageActor();
00139 ~vtkImageActor();
00140
00141 int Interpolate;
00142 double Opacity;
00143 vtkImageData* Input;
00144 int DisplayExtent[6];
00145 double DisplayBounds[6];
00146
00147 private:
00148 vtkImageActor(const vtkImageActor&);
00149 void operator=(const vtkImageActor&);
00150 };
00151
00152 #endif
00153