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