VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkRayCastImageDisplayHelper.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 00027 #ifndef __vtkRayCastImageDisplayHelper_h 00028 #define __vtkRayCastImageDisplayHelper_h 00029 00030 #include "vtkObject.h" 00031 00032 class vtkVolume; 00033 class vtkRenderer; 00034 class vtkFixedPointRayCastImage; 00035 00036 class VTK_VOLUMERENDERING_EXPORT vtkRayCastImageDisplayHelper : public vtkObject 00037 { 00038 public: 00039 static vtkRayCastImageDisplayHelper *New(); 00040 vtkTypeMacro(vtkRayCastImageDisplayHelper,vtkObject); 00041 virtual void PrintSelf(ostream& os, vtkIndent indent); 00042 00043 virtual void RenderTexture( vtkVolume *vol, vtkRenderer *ren, 00044 int imageMemorySize[2], 00045 int imageViewportSize[2], 00046 int imageInUseSize[2], 00047 int imageOrigin[2], 00048 float requestedDepth, 00049 unsigned char *image ) = 0; 00050 00051 virtual void RenderTexture( vtkVolume *vol, vtkRenderer *ren, 00052 int imageMemorySize[2], 00053 int imageViewportSize[2], 00054 int imageInUseSize[2], 00055 int imageOrigin[2], 00056 float requestedDepth, 00057 unsigned short *image ) = 0; 00058 00059 virtual void RenderTexture( vtkVolume *vol, vtkRenderer *ren, 00060 vtkFixedPointRayCastImage *image, 00061 float requestedDepth ) = 0; 00062 00063 vtkSetClampMacro( PreMultipliedColors, int, 0, 1 ); 00064 vtkGetMacro( PreMultipliedColors, int ); 00065 vtkBooleanMacro( PreMultipliedColors, int ); 00066 00067 00069 00073 vtkSetMacro( PixelScale, float ); 00074 vtkGetMacro( PixelScale, float ); 00076 00077 protected: 00078 vtkRayCastImageDisplayHelper(); 00079 ~vtkRayCastImageDisplayHelper(); 00080 00082 int PreMultipliedColors; 00083 00084 float PixelScale; 00085 00086 private: 00087 vtkRayCastImageDisplayHelper(const vtkRayCastImageDisplayHelper&); // Not implemented. 00088 void operator=(const vtkRayCastImageDisplayHelper&); // Not implemented. 00089 }; 00090 00091 #endif 00092