00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: $RCSfile: vtkAbstractVolumeMapper.h,v $ 00005 Language: C++ 00006 00007 Copyright (c) 1993-2002 Ken Martin, Will Schroeder, Bill Lorensen 00008 All rights reserved. 00009 See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 00010 00011 This software is distributed WITHOUT ANY WARRANTY; without even 00012 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00013 PURPOSE. See the above copyright notice for more information. 00014 00015 =========================================================================*/ 00030 #ifndef __vtkAbstractVolumeMapper_h 00031 #define __vtkAbstractVolumeMapper_h 00032 00033 #include "vtkAbstractMapper3D.h" 00034 00035 class vtkRenderer; 00036 class vtkVolume; 00037 class vtkWindow; 00038 class vtkDataSet; 00039 00040 class VTK_RENDERING_EXPORT vtkAbstractVolumeMapper : public vtkAbstractMapper3D 00041 { 00042 public: 00043 vtkTypeRevisionMacro(vtkAbstractVolumeMapper,vtkAbstractMapper3D); 00044 void PrintSelf( ostream& os, vtkIndent indent ); 00045 00047 virtual void Update(); 00048 00050 00051 virtual void SetInput( vtkDataSet * ); 00052 vtkDataSet *GetDataSetInput(); 00054 00056 00058 virtual double *GetBounds(); 00059 virtual void GetBounds(double bounds[6]) 00060 { this->vtkAbstractMapper3D::GetBounds(bounds); }; 00062 00063 //BTX 00065 00066 virtual float GetGradientMagnitudeScale() {return 1.0;}; 00067 virtual float GetGradientMagnitudeBias() {return 0.0;}; 00068 virtual float GetGradientMagnitudeScale(int) {return 1.0;}; 00069 virtual float GetGradientMagnitudeBias(int) {return 0.0;}; 00071 00072 00075 virtual void Render(vtkRenderer *ren, vtkVolume *vol)=0; 00076 00081 virtual void ReleaseGraphicsResources(vtkWindow *) {}; 00082 00083 //ETX 00084 00085 protected: 00086 vtkAbstractVolumeMapper(); 00087 ~vtkAbstractVolumeMapper(); 00088 00089 private: 00090 vtkAbstractVolumeMapper(const vtkAbstractVolumeMapper&); // Not implemented. 00091 void operator=(const vtkAbstractVolumeMapper&); // Not implemented. 00092 }; 00093 00094 00095 #endif 00096 00097