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 =========================================================================*/ 00029 #ifndef __vtkImageMapper_h 00030 #define __vtkImageMapper_h 00031 00032 #include "vtkMapper2D.h" 00033 00034 class vtkWindow; 00035 class vtkViewport; 00036 class vtkActor2D; 00037 class vtkImageData; 00038 00039 class VTK_RENDERING_EXPORT vtkImageMapper : public vtkMapper2D 00040 { 00041 public: 00042 vtkTypeMacro(vtkImageMapper,vtkMapper2D); 00043 static vtkImageMapper *New(); 00044 void PrintSelf(ostream& os, vtkIndent indent); 00045 00047 unsigned long int GetMTime(); 00048 00050 00051 vtkSetMacro(ColorWindow, double); 00052 vtkGetMacro(ColorWindow, double); 00054 00056 00057 vtkSetMacro(ColorLevel, double); 00058 vtkGetMacro(ColorLevel, double); 00060 00062 00069 vtkSetMacro(ZSlice,int); 00070 vtkGetMacro(ZSlice,int); 00071 int GetWholeZMin(); 00072 int GetWholeZMax(); 00074 00076 void RenderStart(vtkViewport* viewport, vtkActor2D* actor); 00077 00079 virtual void RenderData(vtkViewport*, vtkImageData*, vtkActor2D* )=0; 00080 00082 00083 double GetColorShift(); 00084 double GetColorScale(); 00086 00087 // Public for templated functions. * * Should remove this * * 00088 int DisplayExtent[6]; 00089 00091 00092 virtual void SetInput(vtkImageData *input); 00093 vtkImageData *GetInput(); 00095 00097 00100 vtkSetMacro(RenderToRectangle,int); 00101 vtkGetMacro(RenderToRectangle,int); 00102 vtkBooleanMacro(RenderToRectangle,int); 00104 00106 00110 vtkSetMacro(UseCustomExtents,int); 00111 vtkGetMacro(UseCustomExtents,int); 00112 vtkBooleanMacro(UseCustomExtents,int); 00114 00116 00119 vtkSetVectorMacro(CustomDisplayExtents,int,4); 00120 vtkGetVectorMacro(CustomDisplayExtents,int,4); 00122 00123 protected: 00124 vtkImageMapper(); 00125 ~vtkImageMapper(); 00126 00127 double ColorWindow; 00128 double ColorLevel; 00129 00130 int PositionAdjustment[2]; 00131 int ZSlice; 00132 int UseCustomExtents; 00133 int CustomDisplayExtents[4]; 00134 int RenderToRectangle; 00135 00136 virtual int FillInputPortInformation(int, vtkInformation*); 00137 private: 00138 vtkImageMapper(const vtkImageMapper&); // Not implemented. 00139 void operator=(const vtkImageMapper&); // Not implemented. 00140 }; 00141 00142 00143 00144 #endif 00145 00146