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