Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Related Pages  

vtkVolumeRayCastMapper Class Reference

#include <vtkVolumeRayCastMapper.h>

Inheritance diagram for vtkVolumeRayCastMapper:

Inheritance graph
[legend]
Collaboration diagram for vtkVolumeRayCastMapper:

Collaboration graph
[legend]
List of all members.

Detailed Description

A slow but accurate mapper for rendering volumes.

Date:
2003/01/06 20:36:14
Revision:
1.57

This is a software ray caster for rendering volumes in vtkImageData.

See also:
vtkVolumeMapper
Created by:
  • Avila, Lisa
CVS contributions (if > 5%):
  • Avila, Lisa (91%)
CVS logs (CVSweb):
  • .h (/Rendering/vtkVolumeRayCastMapper.h)
  • .cxx (/Rendering/vtkVolumeRayCastMapper.cxx)
Examples:
vtkVolumeRayCastMapper (Examples)
Tests:
vtkVolumeRayCastMapper (Tests)

Definition at line 102 of file vtkVolumeRayCastMapper.h.

Public Types

typedef vtkVolumeMapper Superclass

Public Methods

virtual const char * GetClassName ()
virtual int IsA (const char *type)
void PrintSelf (ostream &os, vtkIndent indent)
void Render (vtkRenderer *, vtkVolume *)
void ReleaseGraphicsResources (vtkWindow *)
float GetZeroOpacityThreshold (vtkVolume *vol)
virtual void SetSampleDistance (float)
virtual float GetSampleDistance ()
virtual void SetVolumeRayCastFunction (vtkVolumeRayCastFunction *)
virtual vtkVolumeRayCastFunction * GetVolumeRayCastFunction ()
virtual void SetGradientEstimator (vtkEncodedGradientEstimator *gradest)
virtual vtkEncodedGradientEstimator * GetGradientEstimator ()
virtual vtkEncodedGradientShader * GetGradientShader ()
virtual void SetImageSampleDistance (float)
virtual float GetImageSampleDistance ()
virtual void SetMinimumImageSampleDistance (float)
virtual float GetMinimumImageSampleDistance ()
virtual void SetMaximumImageSampleDistance (float)
virtual float GetMaximumImageSampleDistance ()
virtual void SetAutoAdjustSampleDistances (int)
virtual int GetAutoAdjustSampleDistances ()
virtual void AutoAdjustSampleDistancesOn ()
virtual void AutoAdjustSampleDistancesOff ()
void SetNumberOfThreads (int num)
virtual int GetNumberOfThreads ()
virtual void SetIntermixIntersectingGeometry (int)
virtual int GetIntermixIntersectingGeometry ()
virtual void IntermixIntersectingGeometryOn ()
virtual void IntermixIntersectingGeometryOff ()
virtual float GetGradientMagnitudeScale ()
virtual float GetGradientMagnitudeBias ()
virtual float GetGradientMagnitudeScale (int)
virtual float GetGradientMagnitudeBias (int)

Static Public Methods

vtkVolumeRayCastMapper * New ()
int IsTypeOf (const char *type)
vtkVolumeRayCastMapper * SafeDownCast (vtkObject *o)

Protected Methods

 vtkVolumeRayCastMapper ()
 ~vtkVolumeRayCastMapper ()
void UpdateShadingTables (vtkRenderer *ren, vtkVolume *vol)
void ComputeMatrices (vtkImageData *data, vtkVolume *vol)
virtual void RenderTexture (vtkVolume *vol, vtkRenderer *ren)=0
int ComputeRowBounds (vtkVolume *vol, vtkRenderer *ren)
void StoreRenderTime (vtkRenderer *ren, vtkVolume *vol, float t)
float RetrieveRenderTime (vtkRenderer *ren, vtkVolume *vol)
int ClipRayAgainstVolume (vtkVolumeRayCastDynamicInfo *dynamicInfo, float bounds[6])
void InitializeClippingPlanes (vtkVolumeRayCastStaticInfo *staticInfo, vtkPlaneCollection *planes)
int ClipRayAgainstClippingPlanes (vtkVolumeRayCastDynamicInfo *dynamicInfo, vtkVolumeRayCastStaticInfo *staticInfo)
float GetZBufferValue (int x, int y)

Protected Attributes

vtkVolumeRayCastFunction * VolumeRayCastFunction
vtkEncodedGradientEstimator * GradientEstimator
vtkEncodedGradientShader * GradientShader
float SampleDistance
float ImageSampleDistance
float MinimumImageSampleDistance
float MaximumImageSampleDistance
int AutoAdjustSampleDistances
float WorldSampleDistance
int ScalarDataType
void * ScalarDataPointer
vtkMultiThreader * Threader
int NumberOfThreads
vtkMatrix4x4 * PerspectiveMatrix
vtkMatrix4x4 * ViewToWorldMatrix
vtkMatrix4x4 * ViewToVoxelsMatrix
vtkMatrix4x4 * VoxelsToViewMatrix
vtkMatrix4x4 * WorldToVoxelsMatrix
vtkMatrix4x4 * VoxelsToWorldMatrix
vtkMatrix4x4 * VolumeMatrix
vtkTransform * PerspectiveTransform
vtkTransform * VoxelsTransform
vtkTransform * VoxelsToViewTransform
int ImageViewportSize [2]
int ImageMemorySize [2]
int ImageInUseSize [2]
int ImageOrigin [2]
unsigned char * Image
int * RowBounds
int * OldRowBounds
float * RenderTimeTable
vtkVolume ** RenderVolumeTable
vtkRenderer ** RenderRendererTable
int RenderTableSize
int RenderTableEntries
int IntermixIntersectingGeometry
float * ZBuffer
int ZBufferSize [2]
int ZBufferOrigin [2]
float MinimumViewDistance

Friends

VTK_THREAD_RETURN_TYPE VolumeRayCastMapper_CastRays (void *arg)


Member Typedef Documentation

typedef vtkVolumeMapper vtkVolumeRayCastMapper::Superclass
 

Reimplemented from vtkVolumeMapper.

Reimplemented in vtkMesaVolumeRayCastMapper, and vtkOpenGLVolumeRayCastMapper.

Definition at line 106 of file vtkVolumeRayCastMapper.h.


Constructor & Destructor Documentation

vtkVolumeRayCastMapper::vtkVolumeRayCastMapper (    )  [protected]
 

vtkVolumeRayCastMapper::~vtkVolumeRayCastMapper (    )  [protected]
 


Member Function Documentation

vtkVolumeRayCastMapper* vtkVolumeRayCastMapper::New (    )  [static]
 

Create an object with Debug turned off, modified time initialized to zero, and reference counting on.

Reimplemented from vtkObject.

Reimplemented in vtkMesaVolumeRayCastMapper, and vtkOpenGLVolumeRayCastMapper.

virtual const char* vtkVolumeRayCastMapper::GetClassName (    )  [virtual]
 

Reimplemented from vtkVolumeMapper.

Reimplemented in vtkMesaVolumeRayCastMapper, and vtkOpenGLVolumeRayCastMapper.

int vtkVolumeRayCastMapper::IsTypeOf (  const char *    type )  [static]
 

Return 1 if this class type is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeRevisionMacro found in vtkSetGet.h.

Reimplemented from vtkVolumeMapper.

Reimplemented in vtkMesaVolumeRayCastMapper, and vtkOpenGLVolumeRayCastMapper.

virtual int vtkVolumeRayCastMapper::IsA (  const char *    type )  [virtual]
 

Return 1 if this class is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeRevisionMacro found in vtkSetGet.h.

Reimplemented from vtkVolumeMapper.

Reimplemented in vtkMesaVolumeRayCastMapper, and vtkOpenGLVolumeRayCastMapper.

vtkVolumeRayCastMapper* vtkVolumeRayCastMapper::SafeDownCast (  vtkObject *    o )  [static]
 

Reimplemented from vtkVolumeMapper.

Reimplemented in vtkMesaVolumeRayCastMapper, and vtkOpenGLVolumeRayCastMapper.

void vtkVolumeRayCastMapper::PrintSelf (  ostream &    os,
vtkIndent    indent
)  [virtual]
 

Methods invoked by print to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.

Reimplemented from vtkVolumeMapper.

Reimplemented in vtkMesaVolumeRayCastMapper, and vtkOpenGLVolumeRayCastMapper.

virtual void vtkVolumeRayCastMapper::SetSampleDistance (  float    )  [virtual]
 

Set/Get the distance between samples. This variable is only used for sampling ray casting methods. Methods that compute a ray value by stepping cell-by-cell are not affected by this value.

virtual float vtkVolumeRayCastMapper::GetSampleDistance (    )  [virtual]
 

Set/Get the distance between samples. This variable is only used for sampling ray casting methods. Methods that compute a ray value by stepping cell-by-cell are not affected by this value.

virtual void vtkVolumeRayCastMapper::SetVolumeRayCastFunction (  vtkVolumeRayCastFunction *    )  [virtual]
 

Get / Set the volume ray cast function. This is used to process values found along the ray to compute a final pixel value.

virtual vtkVolumeRayCastFunction* vtkVolumeRayCastMapper::GetVolumeRayCastFunction (    )  [virtual]
 

Get / Set the volume ray cast function. This is used to process values found along the ray to compute a final pixel value.

virtual void vtkVolumeRayCastMapper::SetGradientEstimator (  vtkEncodedGradientEstimator *    gradest )  [virtual]
 

Set / Get the gradient estimator used to estimate normals

virtual vtkEncodedGradientEstimator* vtkVolumeRayCastMapper::GetGradientEstimator (    )  [virtual]
 

Set / Get the gradient estimator used to estimate normals

virtual vtkEncodedGradientShader* vtkVolumeRayCastMapper::GetGradientShader (    )  [virtual]
 

Get the gradient shader.

virtual void vtkVolumeRayCastMapper::SetImageSampleDistance (  float    )  [virtual]
 

Sampling distance in the XY image dimensions. Default value of 1 meaning 1 ray cast per pixel. If set to 0.5, 4 rays will be cast per pixel. If set to 2.0, 1 ray will be cast for every 4 (2 by 2) pixels.

virtual float vtkVolumeRayCastMapper::GetImageSampleDistance (    )  [virtual]
 

Sampling distance in the XY image dimensions. Default value of 1 meaning 1 ray cast per pixel. If set to 0.5, 4 rays will be cast per pixel. If set to 2.0, 1 ray will be cast for every 4 (2 by 2) pixels.

virtual void vtkVolumeRayCastMapper::SetMinimumImageSampleDistance (  float    )  [virtual]
 

This is the minimum image sample distance allow when the image sample distance is being automatically adjusted

virtual float vtkVolumeRayCastMapper::GetMinimumImageSampleDistance (    )  [virtual]
 

This is the minimum image sample distance allow when the image sample distance is being automatically adjusted

virtual void vtkVolumeRayCastMapper::SetMaximumImageSampleDistance (  float    )  [virtual]
 

This is the maximum image sample distance allow when the image sample distance is being automatically adjusted

virtual float vtkVolumeRayCastMapper::GetMaximumImageSampleDistance (    )  [virtual]
 

This is the maximum image sample distance allow when the image sample distance is being automatically adjusted

virtual void vtkVolumeRayCastMapper::SetAutoAdjustSampleDistances (  int    )  [virtual]
 

If AutoAdjustSampleDistances is on, the the ImageSampleDistance will be varied to achieve the allocated render time of this prop (controlled by the desired update rate and any culling in use).

virtual int vtkVolumeRayCastMapper::GetAutoAdjustSampleDistances (    )  [virtual]
 

If AutoAdjustSampleDistances is on, the the ImageSampleDistance will be varied to achieve the allocated render time of this prop (controlled by the desired update rate and any culling in use).

virtual void vtkVolumeRayCastMapper::AutoAdjustSampleDistancesOn (    )  [virtual]
 

If AutoAdjustSampleDistances is on, the the ImageSampleDistance will be varied to achieve the allocated render time of this prop (controlled by the desired update rate and any culling in use).

virtual void vtkVolumeRayCastMapper::AutoAdjustSampleDistancesOff (    )  [virtual]
 

If AutoAdjustSampleDistances is on, the the ImageSampleDistance will be varied to achieve the allocated render time of this prop (controlled by the desired update rate and any culling in use).

void vtkVolumeRayCastMapper::SetNumberOfThreads (  int    num ) 
 

Set/Get the number of threads to use. This by default is equal to the number of available processors detected.

virtual int vtkVolumeRayCastMapper::GetNumberOfThreads (    )  [virtual]
 

Set/Get the number of threads to use. This by default is equal to the number of available processors detected.

virtual void vtkVolumeRayCastMapper::SetIntermixIntersectingGeometry (  int    )  [virtual]
 

If IntermixIntersectingGeometry is turned on, the zbuffer will be captured and used to limit the traversal of the rays.

virtual int vtkVolumeRayCastMapper::GetIntermixIntersectingGeometry (    )  [virtual]
 

If IntermixIntersectingGeometry is turned on, the zbuffer will be captured and used to limit the traversal of the rays.

virtual void vtkVolumeRayCastMapper::IntermixIntersectingGeometryOn (    )  [virtual]
 

If IntermixIntersectingGeometry is turned on, the zbuffer will be captured and used to limit the traversal of the rays.

virtual void vtkVolumeRayCastMapper::IntermixIntersectingGeometryOff (    )  [virtual]
 

If IntermixIntersectingGeometry is turned on, the zbuffer will be captured and used to limit the traversal of the rays.

void vtkVolumeRayCastMapper::Render (  vtkRenderer *   ,
vtkVolume *   
)  [virtual]
 

WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE Initialize rendering for this volume.

Implements vtkVolumeMapper.

void vtkVolumeRayCastMapper::ReleaseGraphicsResources (  vtkWindow *    )  [virtual]
 

WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE Release any graphics resources that are being consumed by this mapper. The parameter window could be used to determine which graphic resources to release.

Reimplemented from vtkVolumeMapper.

float vtkVolumeRayCastMapper::GetZeroOpacityThreshold (  vtkVolume *    vol ) 
 

WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE Return the scalar value below which all opacities are zero

virtual float vtkVolumeRayCastMapper::GetGradientMagnitudeScale (    )  [virtual]
 

WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE Values needed by the volume

Reimplemented from vtkVolumeMapper.

virtual float vtkVolumeRayCastMapper::GetGradientMagnitudeBias (    )  [virtual]
 

WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE Values needed by the volume

Reimplemented from vtkVolumeMapper.

virtual float vtkVolumeRayCastMapper::GetGradientMagnitudeScale (  int    )  [inline, virtual]
 

WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE Values needed by the volume

Reimplemented from vtkVolumeMapper.

Definition at line 201 of file vtkVolumeRayCastMapper.h.

References vtkVolumeMapper::GetGradientMagnitudeScale().

virtual float vtkVolumeRayCastMapper::GetGradientMagnitudeBias (  int    )  [inline, virtual]
 

WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE Values needed by the volume

Reimplemented from vtkVolumeMapper.

Definition at line 203 of file vtkVolumeRayCastMapper.h.

References vtkVolumeMapper::GetGradientMagnitudeBias().

void vtkVolumeRayCastMapper::UpdateShadingTables (  vtkRenderer *    ren,
vtkVolume *    vol
)  [protected]
 

void vtkVolumeRayCastMapper::ComputeMatrices (  vtkImageData *    data,
vtkVolume *    vol
)  [protected]
 

virtual void vtkVolumeRayCastMapper::RenderTexture (  vtkVolume *    vol,
vtkRenderer *    ren
)  [protected, pure virtual]
 

Implemented in vtkMesaVolumeRayCastMapper, and vtkOpenGLVolumeRayCastMapper.

int vtkVolumeRayCastMapper::ComputeRowBounds (  vtkVolume *    vol,
vtkRenderer *    ren
)  [protected]
 

void vtkVolumeRayCastMapper::StoreRenderTime (  vtkRenderer *    ren,
vtkVolume *    vol,
float    t
)  [protected]
 

float vtkVolumeRayCastMapper::RetrieveRenderTime (  vtkRenderer *    ren,
vtkVolume *    vol
)  [protected]
 

int vtkVolumeRayCastMapper::ClipRayAgainstVolume (  vtkVolumeRayCastDynamicInfo *    dynamicInfo,
float    bounds[6]
)  [protected]
 

void vtkVolumeRayCastMapper::InitializeClippingPlanes (  vtkVolumeRayCastStaticInfo *    staticInfo,
vtkPlaneCollection *    planes
)  [protected]
 

int vtkVolumeRayCastMapper::ClipRayAgainstClippingPlanes (  vtkVolumeRayCastDynamicInfo *    dynamicInfo,
vtkVolumeRayCastStaticInfo *    staticInfo
)  [protected]
 

float vtkVolumeRayCastMapper::GetZBufferValue (  int    x,
int    y
)  [protected]
 


Friends And Related Function Documentation

VTK_THREAD_RETURN_TYPE VolumeRayCastMapper_CastRays (  void *    arg )  [friend]
 


Member Data Documentation

vtkVolumeRayCastFunction* vtkVolumeRayCastMapper::VolumeRayCastFunction [protected]
 

Definition at line 213 of file vtkVolumeRayCastMapper.h.

vtkEncodedGradientEstimator* vtkVolumeRayCastMapper::GradientEstimator [protected]
 

Definition at line 214 of file vtkVolumeRayCastMapper.h.

vtkEncodedGradientShader* vtkVolumeRayCastMapper::GradientShader [protected]
 

Definition at line 215 of file vtkVolumeRayCastMapper.h.

float vtkVolumeRayCastMapper::SampleDistance [protected]
 

Definition at line 218 of file vtkVolumeRayCastMapper.h.

float vtkVolumeRayCastMapper::ImageSampleDistance [protected]
 

Definition at line 219 of file vtkVolumeRayCastMapper.h.

float vtkVolumeRayCastMapper::MinimumImageSampleDistance [protected]
 

Definition at line 220 of file vtkVolumeRayCastMapper.h.

float vtkVolumeRayCastMapper::MaximumImageSampleDistance [protected]
 

Definition at line 221 of file vtkVolumeRayCastMapper.h.

int vtkVolumeRayCastMapper::AutoAdjustSampleDistances [protected]
 

Definition at line 222 of file vtkVolumeRayCastMapper.h.

float vtkVolumeRayCastMapper::WorldSampleDistance [protected]
 

Definition at line 224 of file vtkVolumeRayCastMapper.h.

int vtkVolumeRayCastMapper::ScalarDataType [protected]
 

Definition at line 225 of file vtkVolumeRayCastMapper.h.

void* vtkVolumeRayCastMapper::ScalarDataPointer [protected]
 

Definition at line 226 of file vtkVolumeRayCastMapper.h.

vtkMultiThreader* vtkVolumeRayCastMapper::Threader [protected]
 

Definition at line 237 of file vtkVolumeRayCastMapper.h.

int vtkVolumeRayCastMapper::NumberOfThreads [protected]
 

Definition at line 238 of file vtkVolumeRayCastMapper.h.

vtkMatrix4x4* vtkVolumeRayCastMapper::PerspectiveMatrix [protected]
 

Definition at line 240 of file vtkVolumeRayCastMapper.h.

vtkMatrix4x4* vtkVolumeRayCastMapper::ViewToWorldMatrix [protected]
 

Definition at line 241 of file vtkVolumeRayCastMapper.h.

vtkMatrix4x4* vtkVolumeRayCastMapper::ViewToVoxelsMatrix [protected]
 

Definition at line 242 of file vtkVolumeRayCastMapper.h.

vtkMatrix4x4* vtkVolumeRayCastMapper::VoxelsToViewMatrix [protected]
 

Definition at line 243 of file vtkVolumeRayCastMapper.h.

vtkMatrix4x4* vtkVolumeRayCastMapper::WorldToVoxelsMatrix [protected]
 

Definition at line 244 of file vtkVolumeRayCastMapper.h.

vtkMatrix4x4* vtkVolumeRayCastMapper::VoxelsToWorldMatrix [protected]
 

Definition at line 245 of file vtkVolumeRayCastMapper.h.

vtkMatrix4x4* vtkVolumeRayCastMapper::VolumeMatrix [protected]
 

Definition at line 247 of file vtkVolumeRayCastMapper.h.

vtkTransform* vtkVolumeRayCastMapper::PerspectiveTransform [protected]
 

Definition at line 249 of file vtkVolumeRayCastMapper.h.

vtkTransform* vtkVolumeRayCastMapper::VoxelsTransform [protected]
 

Definition at line 250 of file vtkVolumeRayCastMapper.h.

vtkTransform* vtkVolumeRayCastMapper::VoxelsToViewTransform [protected]
 

Definition at line 251 of file vtkVolumeRayCastMapper.h.

int vtkVolumeRayCastMapper::ImageViewportSize[2] [protected]
 

Definition at line 254 of file vtkVolumeRayCastMapper.h.

int vtkVolumeRayCastMapper::ImageMemorySize[2] [protected]
 

Definition at line 260 of file vtkVolumeRayCastMapper.h.

int vtkVolumeRayCastMapper::ImageInUseSize[2] [protected]
 

Definition at line 266 of file vtkVolumeRayCastMapper.h.

int vtkVolumeRayCastMapper::ImageOrigin[2] [protected]
 

Definition at line 270 of file vtkVolumeRayCastMapper.h.

unsigned char* vtkVolumeRayCastMapper::Image [protected]
 

Definition at line 273 of file vtkVolumeRayCastMapper.h.

int* vtkVolumeRayCastMapper::RowBounds [protected]
 

Definition at line 275 of file vtkVolumeRayCastMapper.h.

int* vtkVolumeRayCastMapper::OldRowBounds [protected]
 

Definition at line 276 of file vtkVolumeRayCastMapper.h.

float* vtkVolumeRayCastMapper::RenderTimeTable [protected]
 

Definition at line 278 of file vtkVolumeRayCastMapper.h.

vtkVolume** vtkVolumeRayCastMapper::RenderVolumeTable [protected]
 

Definition at line 279 of file vtkVolumeRayCastMapper.h.

vtkRenderer** vtkVolumeRayCastMapper::RenderRendererTable [protected]
 

Definition at line 280 of file vtkVolumeRayCastMapper.h.

int vtkVolumeRayCastMapper::RenderTableSize [protected]
 

Definition at line 281 of file vtkVolumeRayCastMapper.h.

int vtkVolumeRayCastMapper::RenderTableEntries [protected]
 

Definition at line 282 of file vtkVolumeRayCastMapper.h.

int vtkVolumeRayCastMapper::IntermixIntersectingGeometry [protected]
 

Definition at line 287 of file vtkVolumeRayCastMapper.h.

float* vtkVolumeRayCastMapper::ZBuffer [protected]
 

Definition at line 289 of file vtkVolumeRayCastMapper.h.

int vtkVolumeRayCastMapper::ZBufferSize[2] [protected]
 

Definition at line 290 of file vtkVolumeRayCastMapper.h.

int vtkVolumeRayCastMapper::ZBufferOrigin[2] [protected]
 

Definition at line 291 of file vtkVolumeRayCastMapper.h.

float vtkVolumeRayCastMapper::MinimumViewDistance [protected]
 

Definition at line 293 of file vtkVolumeRayCastMapper.h.


The documentation for this class was generated from the following file: