VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkOpenGLRayCastImageDisplayHelper.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 =========================================================================*/ 00015 00026 #ifndef __vtkOpenGLRayCastImageDisplayHelper_h 00027 #define __vtkOpenGLRayCastImageDisplayHelper_h 00028 00029 #include "vtkRayCastImageDisplayHelper.h" 00030 00031 class vtkVolume; 00032 class vtkRenderer; 00033 class vtkFixedPointRayCastImage; 00034 00035 class VTK_VOLUMERENDERING_EXPORT vtkOpenGLRayCastImageDisplayHelper : public vtkRayCastImageDisplayHelper 00036 { 00037 public: 00038 static vtkOpenGLRayCastImageDisplayHelper *New(); 00039 vtkTypeMacro(vtkOpenGLRayCastImageDisplayHelper,vtkRayCastImageDisplayHelper); 00040 virtual void PrintSelf(ostream& os, vtkIndent indent); 00041 00042 void RenderTexture( vtkVolume *vol, vtkRenderer *ren, 00043 int imageMemorySize[2], 00044 int imageViewportSize[2], 00045 int imageInUseSize[2], 00046 int imageOrigin[2], 00047 float requestedDepth, 00048 unsigned char *image ); 00049 00050 void RenderTexture( vtkVolume *vol, vtkRenderer *ren, 00051 int imageMemorySize[2], 00052 int imageViewportSize[2], 00053 int imageInUseSize[2], 00054 int imageOrigin[2], 00055 float requestedDepth, 00056 unsigned short *image ); 00057 00058 void RenderTexture( vtkVolume *vol, vtkRenderer *ren, 00059 vtkFixedPointRayCastImage *image, 00060 float requestedDepth ); 00061 00062 protected: 00063 vtkOpenGLRayCastImageDisplayHelper(); 00064 ~vtkOpenGLRayCastImageDisplayHelper(); 00065 00066 void RenderTextureInternal( vtkVolume *vol, vtkRenderer *ren, 00067 int imageMemorySize[2], 00068 int imageViewportSize[2], 00069 int imageInUseSize[2], 00070 int imageOrigin[2], 00071 float requestedDepth, 00072 int imageScalarType, 00073 void *image ); 00074 00075 private: 00076 vtkOpenGLRayCastImageDisplayHelper(const vtkOpenGLRayCastImageDisplayHelper&); // Not implemented. 00077 void operator=(const vtkOpenGLRayCastImageDisplayHelper&); // Not implemented. 00078 }; 00079 00080 #endif 00081