Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound 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   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 =========================================================================*/
00055 #ifndef __vtkImageActor_h
00056 #define __vtkImageActor_h
00057 
00058 #include "vtkProp.h"
00059 
00060 class vtkPropCollection;
00061 class vtkRenderer;
00062 class vtkImageData;
00063 
00064 class VTK_RENDERING_EXPORT vtkImageActor : public vtkProp
00065 {
00066 public:
00067   vtkTypeRevisionMacro(vtkImageActor,vtkProp);
00068   void PrintSelf(ostream& os, vtkIndent indent);
00069 
00071   static vtkImageActor *New();
00072 
00074 
00075   virtual void SetInput(vtkImageData *);
00076   vtkGetObjectMacro(Input,vtkImageData);
00078 
00080 
00081   vtkGetMacro(Interpolate,int);
00082   vtkSetMacro(Interpolate,int);
00083   vtkBooleanMacro(Interpolate,int);
00085 
00087 
00089   void SetDisplayExtent(int extent[6]);
00090   void SetDisplayExtent(int minX, int maxX, int minY, int maxY, 
00091                         int minZ, int maxZ);
00092   void GetDisplayExtent(int extent[6]);
00093   int *GetDisplayExtent() {return this->DisplayExtent;}
00095 
00097 
00101   float *GetBounds();
00102   void GetBounds(float bounds[6]);
00104 
00106   int GetSliceNumber();
00107   
00108 //BTX
00110   /*! WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE DO NOT USE
00111       THIS METHOD OUTSIDE OF THE RENDERING PROCESS Support the standard
00112       render methods. int RenderTranslucentGeometry(vtkViewport *viewport); */
00113   int RenderOpaqueGeometry(vtkViewport *viewport);
00114   virtual void Load(vtkRenderer *) {};
00116 //ETX
00117 
00119 
00126   void SetZSlice(int z) {this->SetDisplayExtent(
00127     this->DisplayExtent[0], this->DisplayExtent[1],
00128     this->DisplayExtent[2], this->DisplayExtent[3], z, z);
00129   };
00131   
00132   int GetZSlice() { return this->DisplayExtent[4];};
00133   int GetWholeZMin();
00134   int GetWholeZMax();
00135 
00136 protected:
00137   vtkImageActor();
00138   ~vtkImageActor();
00139 
00140   int           Interpolate;
00141   vtkImageData* Input;
00142   int           DisplayExtent[6];
00143   float         Bounds[6];
00144 private:
00145   vtkImageActor(const vtkImageActor&);  // Not implemented.
00146   void operator=(const vtkImageActor&);  // Not implemented.
00147 };
00148 
00149 #endif
00150