00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00026 #ifndef __vtkMesaRayCastImageDisplayHelper_h
00027 #define __vtkMesaRayCastImageDisplayHelper_h
00028 
00029 #include "vtkRayCastImageDisplayHelper.h"
00030 
00031 class vtkVolume;
00032 class vtkRenderer;
00033 class vtkFixedPointRayCastImage;
00034 
00035 class VTK_VOLUMERENDERING_EXPORT vtkMesaRayCastImageDisplayHelper : public vtkRayCastImageDisplayHelper
00036 {
00037 public:
00038   static vtkMesaRayCastImageDisplayHelper *New();
00039   vtkTypeMacro(vtkMesaRayCastImageDisplayHelper,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   vtkMesaRayCastImageDisplayHelper();
00064   ~vtkMesaRayCastImageDisplayHelper();
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 private:
00075   vtkMesaRayCastImageDisplayHelper(const vtkMesaRayCastImageDisplayHelper&);  
00076   void operator=(const vtkMesaRayCastImageDisplayHelper&);  
00077 };
00078 
00079 #endif
00080