00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00049
#ifndef __vtkVolumeProVG500Mapper_h
00050
#define __vtkVolumeProVG500Mapper_h
00051
00052
#include "vtkVolumeProMapper.h"
00053
00054
#ifdef _WIN32
00055
00056
00057
00058
00059
# if ( defined(_MSC_VER) && (_MSC_VER >= 1300) && !defined(_INC_IOSTREAM) )
00060
# define _INC_IOSTREAM
00061
# define _VTK_HACKED_UP_INCLUDE_BLOCKER
00062
# endif
00063
# include "VolumePro/inc/vli.h"
00064
# if defined(_VTK_HACKED_UP_INCLUDE_BLOCKER)
00065
# undef _INC_IOSTREAM
00066
# undef _VTK_HACKED_UP_INCLUDE_BLOCKER
00067
# endif
00068
#else
00069
# include "vli/include/vli.h"
00070
#endif
00071
00072
#ifdef VTK_USE_VOLUMEPRO
00073
#define VTK_VOLUMEPRO_EXPORT VTK_RENDERING_EXPORT
00074
#else
00075 #define VTK_VOLUMEPRO_EXPORT
00076
#endif
00077
00078 class VTK_VOLUMEPRO_EXPORT vtkVolumeProVG500Mapper :
public vtkVolumeProMapper
00079 {
00080
public:
00081 vtkTypeRevisionMacro(vtkVolumeProVG500Mapper,
vtkVolumeProMapper);
00082
static vtkVolumeProVG500Mapper *
New();
00083
virtual void PrintSelf(ostream& os,
vtkIndent indent);
00084
00086
00087
virtual void Render(
vtkRenderer *,
vtkVolume * );
00088
virtual int GetAvailableBoardMemory();
00089
virtual void GetLockSizesForBoardMemory(
unsigned int type,
00090
unsigned int *xSize,
00091
unsigned int *ySize,
00092
unsigned int *zSize );
00094
protected:
00095 vtkVolumeProVG500Mapper();
00096 ~vtkVolumeProVG500Mapper();
00097
00098
00099
void UpdateCamera(
vtkRenderer *,
vtkVolume * );
00100
00101
00102
void UpdateLights(
vtkRenderer *,
vtkVolume * );
00103
00104
00105
00106
void UpdateProperties(
vtkRenderer *,
vtkVolume * );
00107
00108
00109
00110
void UpdateVolume(
vtkRenderer *,
vtkVolume * );
00111
00112
00113
void UpdateCropping(
vtkRenderer *,
vtkVolume * );
00114
00115
00116
void UpdateCursor(
vtkRenderer *,
vtkVolume * );
00117
00118
00119
void UpdateCutPlane(
vtkRenderer *,
vtkVolume * );
00120
00121
00122
00123 virtual void RenderHexagon(
vtkRenderer * vtkNotUsed(ren),
00124
vtkVolume * vtkNotUsed(vol),
00125 VLIPixel * vtkNotUsed(basePlane),
00126
int size[2],
00127 VLIVector3D hexagon[6],
00128 VLIVector2D textureCoords[6] )
00129 {(
void)size; (
void)hexagon; (
void)textureCoords;}
00130
00131
00132
void CorrectBasePlaneSize( VLIPixel *inBase,
int inSize[2],
00133 VLIPixel **outBase,
int outSize[2],
00134 VLIVector2D textureCoords[6] );
00135
00136
00137
00138
00139 int LoadedDataSize[3];
00140
00141
private:
00142 vtkVolumeProVG500Mapper(
const vtkVolumeProVG500Mapper&);
00143
void operator=(
const vtkVolumeProVG500Mapper&);
00144 };
00145
00146
00147
00148
#endif
00149
00150
00151