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 
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 "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 //BTX
00110 
00113   int RenderTranslucentGeometry(vtkViewport *viewport);
00114   int RenderOpaqueGeometry(vtkViewport *viewport);
00115   virtual void Render(vtkRenderer *) {};
00117 //ETX
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&);  // Not implemented.
00149   void operator=(const vtkImageActor&);  // Not implemented.
00150 };
00151 
00152 #endif
00153 

Generated on Mon Jan 21 23:07:34 2008 for VTK by  doxygen 1.4.3-20050530