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 );
178 void ReleaseGraphicsResources(
vtkWindow *) VTK_OVERRIDE;
184 float GetZeroOpacityThreshold(
vtkVolume *vol );
191 float GetGradientMagnitudeScale() VTK_OVERRIDE;
192 float GetGradientMagnitudeBias() VTK_OVERRIDE;
193 float GetGradientMagnitudeScale(
int) VTK_OVERRIDE
211 double SampleDistance;
212 double ImageSampleDistance;
213 double MinimumImageSampleDistance;
214 double MaximumImageSampleDistance;
215 int AutoAdjustSampleDistances;
217 double WorldSampleDistance;
219 void *ScalarDataPointer;
245 int ImageViewportSize[2];
251 int ImageMemorySize[2];
257 int ImageInUseSize[2];
264 unsigned char *Image;
269 float *RenderTimeTable;
273 int RenderTableEntries;
278 int IntermixIntersectingGeometry;
282 int ZBufferOrigin[2];
284 float MinimumViewDistance;
298 double GetZBufferValue(
int x,
int y );
304 #endif // VTK_LEGACY_REMOVE
represents a volume (data & properties) in a rendered scene
Abstract class for a volume mapper.
represent and manipulate 4x4 transformation matrices
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
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.
window superclass for vtkRenderWindow
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
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.
vtkSetMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
#define VTK_THREAD_RETURN_TYPE
static vtkAlgorithm * New()
vtkBooleanMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
virtual float GetGradientMagnitudeBias()
WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE.