VTK
dox/Rendering/vtkImageMapper.h
Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    vtkImageMapper.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 =========================================================================*/
00032 #ifndef __vtkImageMapper_h
00033 #define __vtkImageMapper_h
00034 
00035 #include "vtkMapper2D.h"
00036 
00037 class vtkWindow;
00038 class vtkViewport;
00039 class vtkActor2D;
00040 class vtkImageData;
00041 
00042 class VTK_RENDERING_EXPORT vtkImageMapper : public vtkMapper2D
00043 {
00044 public:
00045   vtkTypeMacro(vtkImageMapper,vtkMapper2D);
00046   static vtkImageMapper *New();
00047   void PrintSelf(ostream& os, vtkIndent indent);
00048 
00050   unsigned long int GetMTime();
00051 
00053 
00054   vtkSetMacro(ColorWindow, double);
00055   vtkGetMacro(ColorWindow, double);
00057   
00059 
00060   vtkSetMacro(ColorLevel, double);
00061   vtkGetMacro(ColorLevel, double);
00063 
00065 
00072   vtkSetMacro(ZSlice,int);
00073   vtkGetMacro(ZSlice,int);
00074   int GetWholeZMin();
00075   int GetWholeZMax();
00077 
00079   void RenderStart(vtkViewport* viewport, vtkActor2D* actor);
00080 
00082   virtual void RenderData(vtkViewport*, vtkImageData*, vtkActor2D* )=0;
00083 
00085 
00086   double GetColorShift();
00087   double GetColorScale();
00089 
00090   // Public for templated functions. * *  Should remove this * *
00091   int DisplayExtent[6];
00092 
00094 
00095   virtual void SetInput(vtkImageData *input);
00096   vtkImageData *GetInput();
00098 
00100 
00103   vtkSetMacro(RenderToRectangle,int);
00104   vtkGetMacro(RenderToRectangle,int);
00105   vtkBooleanMacro(RenderToRectangle,int);
00107 
00109 
00113   vtkSetMacro(UseCustomExtents,int);
00114   vtkGetMacro(UseCustomExtents,int);
00115   vtkBooleanMacro(UseCustomExtents,int);
00117 
00119 
00122   vtkSetVectorMacro(CustomDisplayExtents,int,4);
00123   vtkGetVectorMacro(CustomDisplayExtents,int,4);
00125 
00126 protected:
00127   vtkImageMapper();
00128   ~vtkImageMapper();
00129 
00130   double ColorWindow;
00131   double ColorLevel;
00132 
00133   int PositionAdjustment[2];
00134   int ZSlice;
00135   int UseCustomExtents;
00136   int CustomDisplayExtents[4];
00137   int RenderToRectangle;
00138 
00139   virtual int FillInputPortInformation(int, vtkInformation*);
00140 private:
00141   vtkImageMapper(const vtkImageMapper&);  // Not implemented.
00142   void operator=(const vtkImageMapper&);  // Not implemented.
00143 };
00144 
00145 
00146 
00147 #endif
00148 
00149