Main Page | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members | Related Pages

vtkImageActor.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    $RCSfile: vtkImageActor.h,v $
00005   Language:  C++
00006 
00007   Copyright (c) 1993-2002 Ken Martin, Will Schroeder, Bill Lorensen 
00008   All rights reserved.
00009   See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
00010 
00011      This software is distributed WITHOUT ANY WARRANTY; without even 
00012      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
00013      PURPOSE.  See the above copyright notice for more information.
00014 
00015 =========================================================================*/
00044 #ifndef __vtkImageActor_h
00045 #define __vtkImageActor_h
00046 
00047 #include "vtkProp.h"
00048 
00049 class vtkPropCollection;
00050 class vtkRenderer;
00051 class vtkImageData;
00052 
00053 class VTK_RENDERING_EXPORT vtkImageActor : public vtkProp
00054 {
00055 public:
00056   vtkTypeRevisionMacro(vtkImageActor,vtkProp);
00057   void PrintSelf(ostream& os, vtkIndent indent);
00058 
00060   static vtkImageActor *New();
00061 
00063 
00064   virtual void SetInput(vtkImageData *);
00065   vtkGetObjectMacro(Input,vtkImageData);
00067 
00069 
00070   vtkGetMacro(Interpolate,int);
00071   vtkSetMacro(Interpolate,int);
00072   vtkBooleanMacro(Interpolate,int);
00074 
00076 
00078   void SetDisplayExtent(int extent[6]);
00079   void SetDisplayExtent(int minX, int maxX, int minY, int maxY, 
00080                         int minZ, int maxZ);
00081   void GetDisplayExtent(int extent[6]);
00082   int *GetDisplayExtent() {return this->DisplayExtent;}
00084 
00086 
00090   float *GetBounds();
00091   void GetBounds(float bounds[6]);
00093 
00095   int GetSliceNumber();
00096   
00097 //BTX
00099 
00102   int RenderOpaqueGeometry(vtkViewport *viewport);
00103   virtual void Load(vtkRenderer *) {};
00105 //ETX
00106 
00108 
00115   void SetZSlice(int z) {this->SetDisplayExtent(
00116     this->DisplayExtent[0], this->DisplayExtent[1],
00117     this->DisplayExtent[2], this->DisplayExtent[3], z, z);
00118   };
00120   
00121   int GetZSlice() { return this->DisplayExtent[4];};
00122   int GetWholeZMin();
00123   int GetWholeZMax();
00124 
00125 protected:
00126   vtkImageActor();
00127   ~vtkImageActor();
00128 
00129   int           Interpolate;
00130   vtkImageData* Input;
00131   int           DisplayExtent[6];
00132   float         Bounds[6];
00133 private:
00134   vtkImageActor(const vtkImageActor&);  // Not implemented.
00135   void operator=(const vtkImageActor&);  // Not implemented.
00136 };
00137 
00138 #endif
00139