00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: $RCSfile: vtkOpenGLVolumeProVP1000Mapper.h,v $ 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 =========================================================================*/ 00042 #ifndef __vtkOpenGLVolumeProVP1000Mapper_h 00043 #define __vtkOpenGLVolumeProVP1000Mapper_h 00044 00045 #include "vtkVolumeProVP1000Mapper.h" 00046 00047 class VTK_VOLUMERENDERING_EXPORT vtkOpenGLVolumeProVP1000Mapper : public vtkVolumeProVP1000Mapper 00048 { 00049 public: 00050 vtkTypeRevisionMacro(vtkOpenGLVolumeProVP1000Mapper,vtkVolumeProVP1000Mapper); 00051 static vtkOpenGLVolumeProVP1000Mapper *New(); 00052 virtual void PrintSelf(ostream& os, vtkIndent indent); 00053 00054 protected: 00055 vtkOpenGLVolumeProVP1000Mapper() {} 00056 ~vtkOpenGLVolumeProVP1000Mapper() {} 00057 00058 // Render the hexagon returned by the hardware to the screen. 00059 void RenderImageBuffer( vtkRenderer *ren, 00060 vtkVolume *vol, 00061 int size[2], 00062 unsigned int *outData ); 00063 00064 // Get the OpenGL depth buffer values in a the form needed for the 00065 // VolumePro board 00066 virtual void GetDepthBufferValues( vtkRenderer *ren, int size[2], 00067 unsigned int *outData); 00068 00069 // Render a bounding box of the volume because the texture map would be 00070 // too large 00071 virtual void RenderBoundingBox(vtkRenderer *ren, vtkVolume *vol); 00072 00073 private: 00074 vtkOpenGLVolumeProVP1000Mapper(const vtkOpenGLVolumeProVP1000Mapper&); // Not implemented 00075 void operator=(const vtkOpenGLVolumeProVP1000Mapper&); // Not implemented 00076 }; 00077 00078 00079 #endif 00080 00081 00082