VTK
|
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