VTK
dox/Rendering/Volume/vtkUnstructuredGridVolumeMapper.h
Go to the documentation of this file.
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