VTK
dox/Rendering/vtkImageSlice.h
Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    vtkImageSlice.h
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 __vtkImageSlice_h
00041 #define __vtkImageSlice_h
00042 
00043 #include "vtkProp3D.h"
00044 
00045 class vtkRenderer;
00046 class vtkPropCollection;
00047 class vtkImageProperty;
00048 class vtkImageMapper3D;
00049 
00050 class VTK_RENDERING_EXPORT vtkImageSlice : public vtkProp3D
00051 {
00052 public:
00053   vtkTypeMacro(vtkImageSlice,vtkProp3D);
00054   void PrintSelf(ostream& os, vtkIndent indent);
00055 
00059   static vtkImageSlice *New();
00060 
00062 
00063   void SetMapper(vtkImageMapper3D *mapper);
00064   vtkGetObjectMacro(Mapper, vtkImageMapper3D);
00066 
00068 
00069   void SetProperty(vtkImageProperty *property);
00070   virtual vtkImageProperty *GetProperty();
00072 
00074   void Update();
00075 
00077 
00079   double *GetBounds();
00080   void GetBounds(double bounds[6]) { this->vtkProp3D::GetBounds( bounds ); };
00081   double GetMinXBound();
00082   double GetMaxXBound();
00083   double GetMinYBound();
00084   double GetMaxYBound();
00085   double GetMinZBound();
00086   double GetMaxZBound();
00088 
00090   unsigned long int GetMTime();
00091 
00096   unsigned long GetRedrawMTime();
00097 
00100   void ShallowCopy(vtkProp *prop);
00101 
00105   void GetImages(vtkPropCollection *);
00106 
00108 
00109   virtual int RenderOverlay(vtkViewport *viewport);
00110   virtual int RenderOpaqueGeometry(vtkViewport *viewport);
00111   virtual int RenderTranslucentPolygonalGeometry(vtkViewport *viewport);
00113 
00115   virtual int HasTranslucentPolygonalGeometry();
00116 
00119   virtual void Render(vtkRenderer *);
00120 
00122   void ReleaseGraphicsResources(vtkWindow *win);
00123 
00128   void SetStackedImagePass(int pass);
00129 
00130 protected:
00131   vtkImageSlice();
00132   ~vtkImageSlice();
00133 
00134   vtkImageMapper3D *Mapper;
00135   vtkImageProperty *Property;
00136 
00137 private:
00138   vtkImageSlice(const vtkImageSlice&);  // Not implemented.
00139   void operator=(const vtkImageSlice&);  // Not implemented.
00140 };
00141 
00142 #endif