31 #ifndef __vtkVolumeRayCastMapper_h
32 #define __vtkVolumeRayCastMapper_h
48 class vtkVolumeTransform;
71 #define vtkTrilinFuncMacro(v,x,y,z,a,b,c,d,e,f,g,h) \
72 t00 = a + (x)*(b-a); \
73 t01 = c + (x)*(d-c); \
74 t10 = e + (x)*(f-e); \
75 t11 = g + (x)*(h-g); \
76 t0 = t00 + (y)*(t01-t00); \
77 t1 = t10 + (y)*(t11-t10); \
94 vtkSetMacro( SampleDistance,
double );
95 vtkGetMacro( SampleDistance,
double );
120 vtkSetClampMacro( ImageSampleDistance,
double, 0.1, 100.0 );
121 vtkGetMacro( ImageSampleDistance,
double );
127 vtkSetClampMacro( MinimumImageSampleDistance,
double, 0.1, 100.0 );
128 vtkGetMacro( MinimumImageSampleDistance,
double );
134 vtkSetClampMacro( MaximumImageSampleDistance,
double, 0.1, 100.0 );
135 vtkGetMacro( MaximumImageSampleDistance,
double );
142 vtkSetClampMacro( AutoAdjustSampleDistances,
int, 0, 1 );
143 vtkGetMacro( AutoAdjustSampleDistances,
int );
144 vtkBooleanMacro( AutoAdjustSampleDistances,
int );
150 void SetNumberOfThreads(
int num );
151 int GetNumberOfThreads();
157 vtkSetClampMacro( IntermixIntersectingGeometry,
int, 0, 1 );
158 vtkGetMacro( IntermixIntersectingGeometry,
int );
159 vtkBooleanMacro( IntermixIntersectingGeometry,
int );
175 float GetZeroOpacityThreshold(
vtkVolume *vol );
236 int ImageViewportSize[2];
242 int ImageMemorySize[2];
248 int ImageInUseSize[2];
273 int ZBufferOrigin[2];
289 double GetZBufferValue(
int x,
int y );
vtkMultiThreader * Threader
represents a volume (data & properties) in a rendered scene
vtkTransform * PerspectiveTransform
vtkEncodedGradientEstimator * GradientEstimator
static int QuickFloor(const double &val)
Abstract class for a volume mapper.
int vtkFloorFuncMacro(double x)
vtkMatrix4x4 * PerspectiveMatrix
represent and manipulate 4x4 transformation matrices
float MinimumViewDistance
void PrintSelf(ostream &os, vtkIndent indent)
int IntermixIntersectingGeometry
double WorldSampleDistance
A class for performing multithreaded execution.
maintain a list of planes
vtkVolume ** RenderVolumeTable
abstract specification for renderers
vtkMatrix4x4 * ViewToWorldMatrix
double MinimumImageSampleDistance
vtkTransform * VoxelsTransform
Detect and break reference loops.
double MaximumImageSampleDistance
helper class that draws the image to the screen
Timer support and logging.
vtkVolumeRayCastFunction * VolumeRayCastFunction
virtual void ReportReferences(vtkGarbageCollector *)
window superclass for vtkRenderWindow
vtkMatrix4x4 * VoxelsToViewMatrix
virtual float GetGradientMagnitudeScale()
a simple class to control print indentation
a superclass for ray casting functions
vtkRenderer ** RenderRendererTable
VTK_THREAD_RETURN_TYPE VolumeRayCastMapper_CastRays(void *arg)
topologically and geometrically regular array of data
Superclass for gradient estimation.
A slow but accurate mapper for rendering volumes.
int AutoAdjustSampleDistances
Compute shading tables for encoded normals.
virtual float GetGradientMagnitudeScale(int)
virtual void Render(vtkRenderer *ren, vtkVolume *vol)=0
vtkMatrix4x4 * ViewToVoxelsMatrix
#define VTK_THREAD_RETURN_TYPE
double ImageSampleDistance
vtkMatrix4x4 * WorldToVoxelsMatrix
virtual void ReleaseGraphicsResources(vtkWindow *)
static int Round(const double &val)
static vtkAlgorithm * New()
vtkTransform * VoxelsToViewTransform
vtkMatrix4x4 * VolumeMatrix
vtkMatrix4x4 * VoxelsToWorldMatrix
virtual float GetGradientMagnitudeBias(int)
vtkRayCastImageDisplayHelper * ImageDisplayHelper
vtkEncodedGradientShader * GradientShader
int vtkRoundFuncMacro(double x)
virtual float GetGradientMagnitudeBias()