00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
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 vtkTypeRevisionMacro(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&);
00088 void operator=(const vtkRayCastImageDisplayHelper&);
00089 };
00090
00091 #endif
00092