Rendering/vtkVolumeProVP1000Mapper.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00053 #ifndef __vtkVolumeProVP1000Mapper_h
00054 #define __vtkVolumeProVP1000Mapper_h
00055
00056 #include "vtkVolumeProMapper.h"
00057
00058 #ifdef _WIN32
00059 #include "VolumePro1000/inc/vli.h"
00060 #else
00061 #include "vli3/include/vli.h"
00062 #endif
00063
00064 #define VTK_VOLUME_16BIT 3
00065 #define VTK_VOLUME_32BIT 4
00066
00067 class VTK_EXPORT vtkVolumeProVP1000Mapper : public vtkVolumeProMapper
00068 {
00069 public:
00070 vtkTypeRevisionMacro(vtkVolumeProVP1000Mapper,vtkVolumeProMapper);
00071 static vtkVolumeProVP1000Mapper *New();
00072 virtual void PrintSelf(ostream& os, vtkIndent indent);
00073
00075
00076 virtual void Render( vtkRenderer *, vtkVolume * );
00077 virtual int GetAvailableBoardMemory();
00078 virtual void GetLockSizesForBoardMemory(unsigned int type,
00079 unsigned int *xSize,
00080 unsigned int *ySize,
00081 unsigned int *zSize);
00083
00084 protected:
00085 vtkVolumeProVP1000Mapper();
00086 ~vtkVolumeProVP1000Mapper();
00087
00088
00089 void UpdateCamera( vtkRenderer *, vtkVolume * );
00090
00091
00092 void UpdateLights( vtkRenderer *, vtkVolume * );
00093
00094
00095
00096 void UpdateProperties( vtkRenderer *, vtkVolume * );
00097
00098
00099
00100 void UpdateVolume( vtkRenderer *, vtkVolume * );
00101
00102
00103 void UpdateCropping( vtkRenderer *, vtkVolume * );
00104
00105
00106 void UpdateCursor( vtkRenderer *, vtkVolume * );
00107
00108
00109 void UpdateCutPlane( vtkRenderer *, vtkVolume * );
00110
00111
00112
00113 virtual void RenderImageBuffer( vtkRenderer * vtkNotUsed(ren),
00114 vtkVolume * vol,
00115 int size[2],
00116 unsigned int * outData )
00117 {(void)vol; (void)size; (void)outData;}
00118
00119
00120
00121 virtual void RenderBoundingBox( vtkRenderer * vtkNotUsed(ren),
00122 vtkVolume * vol )
00123 {(void)vol;}
00124
00125
00126 virtual void GetDepthBufferValues( vtkRenderer *vtkNotUsed(ren),
00127 int size[2],
00128 unsigned int *outData )
00129 { (void)outData; }
00130
00131 #if ((VTK_MAJOR_VERSION == 3)&&(VTK_MINOR_VERSION == 2))
00132 vtkGetVectorMacro( VoxelCroppingRegionPlanes, float, 6 );
00133 void ConvertCroppingRegionPlanesToVoxels();
00134 float VoxelCroppingRegionPlanes[6];
00135 #endif
00136
00137
00138
00139
00140
00141 int LoadedDataSize[3];
00142
00143 VLIImageBuffer *ImageBuffer;
00144 VLIDepthBuffer *DepthBuffer;
00145
00146 VLIStatus CheckSubSampling(const VLIVolume *inVolume,
00147 const VLIContext *inContext,
00148 int &outImageWidth, int &outImageHeight);
00149
00150 int DrawBoundingBox;
00151
00152 private:
00153 vtkVolumeProVP1000Mapper(const vtkVolumeProVP1000Mapper&);
00154 void operator=(const vtkVolumeProVP1000Mapper&);
00155 };
00156
00157
00158
00159 #endif
00160
00161
00162