33 #ifndef vtkVolumeRayCastMapper_h
34 #define vtkVolumeRayCastMapper_h
36 #include "vtkRenderingVolumeModule.h"
49 class vtkVolumeTransform;
53 #if !defined(VTK_LEGACY_REMOVE)
59 #define vtkTrilinFuncMacro(v,x,y,z,a,b,c,d,e,f,g,h) \
60 t00 = a + (x)*(b-a); \
61 t01 = c + (x)*(d-c); \
62 t10 = e + (x)*(f-e); \
63 t11 = g + (x)*(h-g); \
64 t0 = t00 + (y)*(t01-t00); \
65 t1 = t10 + (y)*(t11-t10); \
86 vtkGetMacro( SampleDistance,
double );
119 vtkSetClampMacro( ImageSampleDistance,
double, 0.1, 100.0 );
120 vtkGetMacro( ImageSampleDistance,
double );
128 vtkSetClampMacro( MinimumImageSampleDistance,
double, 0.1, 100.0 );
129 vtkGetMacro( MinimumImageSampleDistance,
double );
137 vtkSetClampMacro( MaximumImageSampleDistance,
double, 0.1, 100.0 );
138 vtkGetMacro( MaximumImageSampleDistance,
double );
148 vtkSetClampMacro( AutoAdjustSampleDistances,
int, 0, 1 );
149 vtkGetMacro( AutoAdjustSampleDistances,
int );
158 void SetNumberOfThreads(
int num );
159 int GetNumberOfThreads();
167 vtkSetClampMacro( IntermixIntersectingGeometry,
int, 0, 1 );
168 vtkGetMacro( IntermixIntersectingGeometry,
int );
190 float GetZeroOpacityThreshold(
vtkVolume *vol );
217 double SampleDistance;
218 double ImageSampleDistance;
219 double MinimumImageSampleDistance;
220 double MaximumImageSampleDistance;
221 int AutoAdjustSampleDistances;
223 double WorldSampleDistance;
225 void *ScalarDataPointer;
251 int ImageViewportSize[2];
257 int ImageMemorySize[2];
263 int ImageInUseSize[2];
270 unsigned char *Image;
275 float *RenderTimeTable;
279 int RenderTableEntries;
284 int IntermixIntersectingGeometry;
288 int ZBufferOrigin[2];
290 float MinimumViewDistance;
304 double GetZBufferValue(
int x,
int y );
310 #endif // VTK_LEGACY_REMOVE
represents a volume (data & properties) in a rendered scene
vtkEncodedGradientEstimator * GradientEstimator
Abstract class for a volume mapper.
represent and manipulate 4x4 transformation matrices
void PrintSelf(ostream &os, vtkIndent indent)
Methods invoked by print to print information about the object including superclasses.
void ReportReferences(vtkGarbageCollector *) override
A class for performing multithreaded execution.
maintain a list of planes
abstract specification for renderers
Detect and break reference loops.
helper class that draws the image to the screen
Timer support and logging.
vtkVolumeRayCastFunction * VolumeRayCastFunction
window superclass for vtkRenderWindow
virtual float GetGradientMagnitudeScale()
WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE.
a simple class to control print indentation
a superclass for ray casting functions
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.
Compute shading tables for encoded normals.
virtual float GetGradientMagnitudeScale(int)
WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE Values needed by the volume.
virtual void Render(vtkRenderer *ren, vtkVolume *vol)=0
WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE DO NOT USE THIS METHOD OUTSIDE OF THE RENDERI...
vtkSetMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
#define VTK_THREAD_RETURN_TYPE
virtual void ReleaseGraphicsResources(vtkWindow *)
WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE Release any graphics resources that are being...
static vtkAlgorithm * New()
vtkBooleanMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
virtual float GetGradientMagnitudeBias(int)
WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE Values needed by the volume.
vtkRayCastImageDisplayHelper * ImageDisplayHelper
vtkEncodedGradientShader * GradientShader
virtual float GetGradientMagnitudeBias()
WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE.