VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkUnstructuredGridVolumeMapper.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 =========================================================================*/ 00027 #ifndef __vtkUnstructuredGridVolumeMapper_h 00028 #define __vtkUnstructuredGridVolumeMapper_h 00029 00030 #include "vtkRenderingVolumeModule.h" // For export macro 00031 #include "vtkAbstractVolumeMapper.h" 00032 00033 class vtkRenderer; 00034 class vtkVolume; 00035 class vtkUnstructuredGridBase; 00036 class vtkWindow; 00037 00038 00039 class VTKRENDERINGVOLUME_EXPORT vtkUnstructuredGridVolumeMapper : public vtkAbstractVolumeMapper 00040 { 00041 public: 00042 vtkTypeMacro(vtkUnstructuredGridVolumeMapper,vtkAbstractVolumeMapper); 00043 void PrintSelf( ostream& os, vtkIndent indent ); 00044 00046 00047 virtual void SetInputData( vtkUnstructuredGridBase * ); 00048 virtual void SetInputData( vtkDataSet * ); 00049 vtkUnstructuredGridBase *GetInput(); 00051 00052 vtkSetMacro( BlendMode, int ); 00053 void SetBlendModeToComposite() 00054 { this->SetBlendMode( vtkUnstructuredGridVolumeMapper::COMPOSITE_BLEND ); } 00055 void SetBlendModeToMaximumIntensity() 00056 { this->SetBlendMode( vtkUnstructuredGridVolumeMapper::MAXIMUM_INTENSITY_BLEND ); } 00057 vtkGetMacro( BlendMode, int ); 00058 00059 00060 //BTX 00061 00064 virtual void Render(vtkRenderer *ren, vtkVolume *vol)=0; 00065 00070 virtual void ReleaseGraphicsResources(vtkWindow *) {} 00071 00072 enum 00073 { 00074 COMPOSITE_BLEND, 00075 MAXIMUM_INTENSITY_BLEND 00076 }; 00077 00078 //ETX 00079 00080 protected: 00081 vtkUnstructuredGridVolumeMapper(); 00082 ~vtkUnstructuredGridVolumeMapper(); 00083 00084 int BlendMode; 00085 00086 virtual int FillInputPortInformation(int, vtkInformation*); 00087 00088 private: 00089 vtkUnstructuredGridVolumeMapper(const vtkUnstructuredGridVolumeMapper&); // Not implemented. 00090 void operator=(const vtkUnstructuredGridVolumeMapper&); // Not implemented. 00091 }; 00092 00093 00094 #endif 00095 00096