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