00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: $RCSfile: vtkOpenGLVolumeProVP1000Mapper.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 =========================================================================*/ 00057 #ifndef __vtkOpenGLVolumeProVP1000Mapper_h 00058 #define __vtkOpenGLVolumeProVP1000Mapper_h 00059 00060 #include "vtkVolumeProVP1000Mapper.h" 00061 00062 class VTK_EXPORT vtkOpenGLVolumeProVP1000Mapper : public vtkVolumeProVP1000Mapper 00063 { 00064 public: 00065 vtkTypeRevisionMacro(vtkOpenGLVolumeProVP1000Mapper,vtkVolumeProVP1000Mapper); 00066 static vtkOpenGLVolumeProVP1000Mapper *New(); 00067 virtual void PrintSelf(ostream& os, vtkIndent indent); 00068 00069 protected: 00070 vtkOpenGLVolumeProVP1000Mapper() {} 00071 ~vtkOpenGLVolumeProVP1000Mapper() {} 00072 00073 // Render the hexagon returned by the hardware to the screen. 00074 void RenderImageBuffer( vtkRenderer *ren, 00075 vtkVolume *vol, 00076 int size[2], 00077 unsigned int *outData ); 00078 00079 // Get the OpenGL depth buffer values in a the form needed for the 00080 // VolumePro board 00081 virtual void GetDepthBufferValues( vtkRenderer *ren, int size[2], 00082 unsigned int *outData); 00083 00084 // Render a bounding box of the volume because the texture map would be 00085 // too large 00086 virtual void RenderBoundingBox(vtkRenderer *ren, vtkVolume *vol); 00087 00088 private: 00089 vtkOpenGLVolumeProVP1000Mapper(const vtkOpenGLVolumeProVP1000Mapper&); // Not implemented 00090 void operator=(const vtkOpenGLVolumeProVP1000Mapper&); // Not implemented 00091 }; 00092 00093 00094 #endif 00095 00096 00097