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

Rendering/vtkImageActor.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    $RCSfile: vtkImageActor.h,v $
00005 
00006   Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
00007   All rights reserved.
00008   See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
00009 
00010      This software is distributed WITHOUT ANY WARRANTY; without even
00011      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
00012      PURPOSE.  See the above copyright notice for more information.
00013 
00014 =========================================================================*/
00040 #ifndef __vtkImageActor_h
00041 #define __vtkImageActor_h
00042 
00043 #include "vtkProp.h"
00044 
00045 class vtkPropCollection;
00046 class vtkRenderer;
00047 class vtkImageData;
00048 
00049 class VTK_RENDERING_EXPORT vtkImageActor : public vtkProp
00050 {
00051 public:
00052   vtkTypeRevisionMacro(vtkImageActor,vtkProp);
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   void SetDisplayExtent(int extent[6]);
00075   void SetDisplayExtent(int minX, int maxX, int minY, int maxY, 
00076                         int minZ, int maxZ);
00077   void GetDisplayExtent(int extent[6]);
00078   int *GetDisplayExtent() {return this->DisplayExtent;}
00080 
00082 
00086   double *GetBounds();
00087   void GetBounds(double bounds[6]);
00089 
00091   int GetSliceNumber();
00092   
00093 //BTX
00095 
00098   int RenderOpaqueGeometry(vtkViewport *viewport);
00099   virtual void Load(vtkRenderer *) {};
00101 //ETX
00102 
00104 
00111   void SetZSlice(int z) {this->SetDisplayExtent(
00112     this->DisplayExtent[0], this->DisplayExtent[1],
00113     this->DisplayExtent[2], this->DisplayExtent[3], z, z);
00114   };
00116   
00117   int GetZSlice() { return this->DisplayExtent[4];};
00118   int GetWholeZMin();
00119   int GetWholeZMax();
00120 
00121 protected:
00122   vtkImageActor();
00123   ~vtkImageActor();
00124 
00125   int           Interpolate;
00126   vtkImageData* Input;
00127   int           DisplayExtent[6];
00128   double        Bounds[6];
00129 private:
00130   vtkImageActor(const vtkImageActor&);  // Not implemented.
00131   void operator=(const vtkImageActor&);  // Not implemented.
00132 };
00133 
00134 #endif
00135