27 #ifndef vtkVolumeRayCastMapper_h 28 #define vtkVolumeRayCastMapper_h 30 #include "vtkRenderingVolumeModule.h" 43 class vtkVolumeTransform;
47 #if !defined(VTK_LEGACY_REMOVE) 53 #define vtkTrilinFuncMacro(v,x,y,z,a,b,c,d,e,f,g,h) \ 54 t00 = a + (x)*(b-a); \ 55 t01 = c + (x)*(d-c); \ 56 t10 = e + (x)*(f-e); \ 57 t11 = g + (x)*(h-g); \ 58 t0 = t00 + (y)*(t01-t00); \ 59 t1 = t10 + (y)*(t11-t10); \ 80 vtkGetMacro( SampleDistance,
double );
113 vtkSetClampMacro( ImageSampleDistance,
double, 0.1, 100.0 );
114 vtkGetMacro( ImageSampleDistance,
double );
122 vtkSetClampMacro( MinimumImageSampleDistance,
double, 0.1, 100.0 );
123 vtkGetMacro( MinimumImageSampleDistance,
double );
131 vtkSetClampMacro( MaximumImageSampleDistance,
double, 0.1, 100.0 );
132 vtkGetMacro( MaximumImageSampleDistance,
double );
142 vtkSetClampMacro( AutoAdjustSampleDistances,
int, 0, 1 );
143 vtkGetMacro( AutoAdjustSampleDistances,
int );
152 void SetNumberOfThreads(
int num );
153 int GetNumberOfThreads();
161 vtkSetClampMacro( IntermixIntersectingGeometry,
int, 0, 1 );
162 vtkGetMacro( IntermixIntersectingGeometry,
int );
184 float GetZeroOpacityThreshold(
vtkVolume *vol );
192 float GetGradientMagnitudeBias() VTK_OVERRIDE;
193 float GetGradientMagnitudeScale(
int) VTK_OVERRIDE
245 int ImageViewportSize[2];
251 int ImageMemorySize[2];
257 int ImageInUseSize[2];
282 int ZBufferOrigin[2];
298 double GetZBufferValue(
int x,
int y );
304 #endif // VTK_LEGACY_REMOVE
vtkMultiThreader * Threader
represents a volume (data & properties) in a rendered scene
vtkTransform * PerspectiveTransform
vtkEncodedGradientEstimator * GradientEstimator
Abstract class for a volume mapper.
vtkMatrix4x4 * PerspectiveMatrix
represent and manipulate 4x4 transformation matrices
float MinimumViewDistance
int IntermixIntersectingGeometry
void ReportReferences(vtkGarbageCollector *) override
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
void Render(vtkRenderer *ren, vtkVolume *vol) override=0
WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE DO NOT USE THIS METHOD OUTSIDE OF THE RENDERI...
Timer support and logging.
vtkVolumeRayCastFunction * VolumeRayCastFunction
window superclass for vtkRenderWindow
vtkMatrix4x4 * VoxelsToViewMatrix
float GetGradientMagnitudeBias(int) override
WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE Values needed by the volume.
virtual float GetGradientMagnitudeScale()
WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE.
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.
vtkMatrix4x4 * ViewToVoxelsMatrix
vtkSetMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
void ReleaseGraphicsResources(vtkWindow *) override
WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE Release any graphics resources that are being...
#define VTK_THREAD_RETURN_TYPE
double ImageSampleDistance
vtkMatrix4x4 * WorldToVoxelsMatrix
static vtkAlgorithm * New()
vtkTransform * VoxelsToViewTransform
vtkMatrix4x4 * VolumeMatrix
vtkBooleanMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
vtkMatrix4x4 * VoxelsToWorldMatrix
vtkRayCastImageDisplayHelper * ImageDisplayHelper
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkEncodedGradientShader * GradientShader
virtual float GetGradientMagnitudeBias()
WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE.