49 #ifndef __vtkVolumeProMapper_h
50 #define __vtkVolumeProMapper_h
53 #include "vtkToolkits.h"
57 #if defined (VTK_USE_VOLUMEPRO_1000) || defined (VTK_FORCE_COMPILE_VP1000)
65 #if defined (VTK_USE_VOLUMEPRO_1000) || defined (VTK_FORCE_COMPILE_VP1000)
74 #define VTK_BLEND_MODE_COMPOSITE 0
75 #define VTK_BLEND_MODE_MAX_INTENSITY 1
76 #define VTK_BLEND_MODE_MIN_INTENSITY 2
78 #define VTK_CURSOR_TYPE_CROSSHAIR 0
79 #define VTK_CURSOR_TYPE_PLANE 1
81 #define VTK_VOLUME_8BIT 0
82 #define VTK_VOLUME_12BIT_UPPER 1
83 #define VTK_VOLUME_12BIT_LOWER 2
85 #if ((VTK_MAJOR_VERSION == 3)&&(VTK_MINOR_VERSION == 2))
86 #define VTK_VOLUME_PRO_MAPPER_EXPORT VTK_EXPORT
88 #define VTK_VOLUME_PRO_MAPPER_EXPORT VTK_VOLUMERENDERING_EXPORT
96 void PrintSelf( ostream& os,
vtkIndent indent );
106 vtkSetClampMacro( BlendMode,
int,
108 vtkGetMacro(BlendMode,
int);
115 const char *GetBlendModeAsString(
void);
120 vtkSetVector6Macro( SubVolume,
int );
121 vtkGetVectorMacro( SubVolume,
int, 6 );
126 vtkSetClampMacro( Cursor,
int, 0, 1 );
127 vtkGetMacro( Cursor,
int );
128 vtkBooleanMacro( Cursor,
int );
133 vtkSetClampMacro( CursorType,
int,
135 vtkGetMacro( CursorType,
int );
140 const char *GetCursorTypeAsString(
void );
145 vtkSetVector3Macro( CursorPosition,
double );
146 vtkGetVectorMacro( CursorPosition,
double, 3 );
151 vtkSetVector3Macro( CursorXAxisColor,
double );
152 vtkGetVectorMacro( CursorXAxisColor,
double, 3 );
153 vtkSetVector3Macro( CursorYAxisColor,
double );
154 vtkGetVectorMacro( CursorYAxisColor,
double, 3 );
155 vtkSetVector3Macro( CursorZAxisColor,
double );
156 vtkGetVectorMacro( CursorZAxisColor,
double, 3 );
161 vtkSetClampMacro( SuperSampling,
int, 0, 1 );
162 vtkGetMacro( SuperSampling,
int );
163 vtkBooleanMacro( SuperSampling,
int );
168 virtual void SetSuperSamplingFactor(
double x,
double y,
double z );
170 { this->SetSuperSamplingFactor( f[0], f[1], f[2] ); };
171 vtkGetVectorMacro( SuperSamplingFactor,
double, 3 );
176 vtkSetClampMacro( CutPlane,
int, 0, 1 );
177 vtkGetMacro( CutPlane,
int );
178 vtkBooleanMacro( CutPlane,
int );
183 vtkSetVector4Macro( CutPlaneEquation,
double );
184 vtkGetVectorMacro( CutPlaneEquation,
double, 4 );
189 vtkSetClampMacro( CutPlaneThickness,
double, 0.0, 9.99e10 );
190 vtkGetMacro( CutPlaneThickness,
double );
195 vtkSetClampMacro( CutPlaneFallOffDistance,
int, 0, 16 );
196 vtkGetMacro( CutPlaneFallOffDistance,
int );
201 vtkSetClampMacro( GradientOpacityModulation,
int, 0, 1 );
202 vtkGetMacro( GradientOpacityModulation,
int );
203 vtkBooleanMacro( GradientOpacityModulation,
int );
208 vtkSetClampMacro( GradientDiffuseModulation,
int, 0, 1 );
209 vtkGetMacro( GradientDiffuseModulation,
int );
210 vtkBooleanMacro( GradientDiffuseModulation,
int );
215 vtkSetClampMacro( GradientSpecularModulation,
int, 0, 1 );
216 vtkGetMacro( GradientSpecularModulation,
int );
217 vtkBooleanMacro( GradientSpecularModulation,
int );
222 vtkGetMacro( NoHardware,
int );
223 vtkGetMacro( WrongVLIVersion,
int );
228 vtkGetMacro( NumberOfBoards,
int );
229 vtkGetMacro( MajorBoardVersion,
int );
230 vtkGetMacro( MinorBoardVersion,
int );
233 unsigned int * vtkNotUsed(xSize),
234 unsigned int * vtkNotUsed(ySize),
235 unsigned int * vtkNotUsed(zSize)) {};
240 vtkSetClampMacro(IntermixIntersectingGeometry,
int, 0, 1);
241 vtkGetMacro(IntermixIntersectingGeometry,
int);
242 vtkBooleanMacro(IntermixIntersectingGeometry,
int);
249 vtkSetClampMacro(AutoAdjustMipmapLevels,
int, 0, 1);
250 vtkGetMacro(AutoAdjustMipmapLevels,
int);
251 vtkBooleanMacro(AutoAdjustMipmapLevels,
int);
258 vtkSetClampMacro(MinimumMipmapLevel,
int, 0, 32);
259 vtkGetMacro(MinimumMipmapLevel,
int);
267 vtkSetClampMacro(MaximumMipmapLevel,
int, 0, 32);
268 vtkGetMacro(MaximumMipmapLevel,
int);
276 vtkSetClampMacro(MipmapLevel,
int, 0, 32);
277 vtkGetMacro(MipmapLevel,
int);
316 double CursorPosition[3];
317 double CursorXAxisColor[3];
318 double CursorYAxisColor[3];
319 double CursorZAxisColor[3];
324 double CutPlaneEquation[4];
330 double SuperSamplingFactor[3];
368 #if ((VTK_MAJOR_VERSION == 3)&&(VTK_MINOR_VERSION == 2))
370 virtual int GetMapperType() {
return VTK_FRAMEBUFFER_VOLUME_MAPPER;};
383 switch ( this->BlendMode )
388 return "Maximum Intensity";
390 return "Minimum Intensity";
392 return "Unknown Blend Mode";
401 switch ( this->CursorType )
408 return "Unknown Cursor Type";
virtual void Render(vtkRenderer *, vtkVolume *)
const char * GetCursorTypeAsString(void)
virtual void GetLockSizesForBoardMemory(unsigned int vtkNotUsed(type), unsigned int *vtkNotUsed(xSize), unsigned int *vtkNotUsed(ySize), unsigned int *vtkNotUsed(zSize))
represents a volume (data & properties) in a rendered scene
VLILookupTable * LookupTable
Abstract class for a volume mapper.
void SetSuperSamplingFactor(double f[3])
vtkRenderer ** RenderRendererTable
record modification and/or execution time
void SetCursorTypeToPlane()
abstract specification for renderers
#define VTK_BLEND_MODE_COMPOSITE
void SetCursorTypeToCrossHair()
Timer support and logging.
int GradientSpecularModulation
#define VTK_BLEND_MODE_MAX_INTENSITY
a simple class to control print indentation
#define VTK_CURSOR_TYPE_PLANE
topologically and geometrically regular array of data
void SetBlendModeToComposite()
int GradientDiffuseModulation
int GradientOpacityModulation
vtkTimerLog * RenderTimer
int AutoAdjustMipmapLevels
#define VTK_BLEND_MODE_MIN_INTENSITY
virtual int GetAvailableBoardMemory()
void SetBlendModeToMaximumIntensity()
const char * GetBlendModeAsString(void)
int IntermixIntersectingGeometry
vtkImageData * VolumeInput
vtkVolume ** RenderVolumeTable
void SetBlendModeToMinimumIntensity()
#define VTK_CURSOR_TYPE_CROSSHAIR
int CutPlaneFallOffDistance
vtkTimeStamp * VolumeBuildTime
#define VTK_VOLUME_PRO_MAPPER_EXPORT
Superclass for VolumePRO volume rendering mappers.