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

vtkRayCaster Class Reference

A helper object for renderer that controls ray casting. More...

#include <vtkRayCaster.h>

Inheritance diagram for vtkRayCaster:

Inheritance graph
Collaboration diagram for vtkRayCaster:

Collaboration graph
List of all members.

Public Methods

virtual const char * GetClassName ()
virtual int IsA (const char *type)
void PrintSelf (ostream &os, vtkIndent indent)
float * GetPerspectiveViewRays ()
void GetViewRaysSize (int size[2])
float * GetParallelStartPosition (void)
float * GetParallelIncrements (void)
void SetImageScale (int level, float scale)
float GetImageScale (int level)
int GetImageScaleCount (void)
virtual void SetSelectedImageScaleIndex (int)
virtual int GetSelectedImageScaleIndex ()
void SetViewRaysStepSize (int level, float scale)
float GetViewRaysStepSize (int level)
virtual int GetAutomaticScaleAdjustment ()
void AutomaticScaleAdjustmentOn (void)
void AutomaticScaleAdjustmentOff (void)
virtual void SetAutomaticScaleLowerLimit (float)
virtual float GetAutomaticScaleLowerLimit ()
virtual void SetBilinearImageZoom (int)
virtual int GetBilinearImageZoom ()
virtual void BilinearImageZoomOn ()
virtual void BilinearImageZoomOff ()
virtual float GetTotalRenderTime ()
virtual void SetNumberOfThreads (int)
virtual int GetNumberOfThreads ()
int GetNumberOfSamplesTaken ()
virtual void SetRenderer (vtkRenderer *)
virtual vtkRendererGetRenderer ()
void Render (vtkRenderer *, int, vtkProp **, int, vtkProp **)
float GetViewportScaleFactor (vtkRenderer *ren)
float GetViewportStepSize ()
float * GetCurrentZBuffer ()

Static Public Methods

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

Public Attributes

int ** RowBounds
int * RowBoundsSize
vtkProp ** SoftwareProps
vtkProp ** RayCastProps

Protected Methods

 vtkRayCaster ()
 ~vtkRayCaster ()
 vtkRayCaster (const vtkRayCaster &)
void operator= (const vtkRayCaster &)
void NearestNeighborZoom (float *smallImage, float *largeImage, int smallDims[2], int largeDims[2])
void BilinearZoom (float *smallImage, float *largeImage, int smallDims[2], int largeDims[2])
void RescaleImage ()
void RenderFrameBufferVolumes (vtkRenderer *ren)
void InitializeRenderBuffers (vtkRenderer *ren)
void InitializeRayCasting (vtkRenderer *ren)
void ComputeRowBounds (vtkRenderer *ren, vtkProp *prop, int index)

Protected Attributes

int NumberOfThreads
int NumberOfSamplesTaken [VTK_MAX_THREADS]
vtkViewRaysViewRays [VTK_MAX_VIEW_RAYS_LEVEL+1]
float * SelectedViewRays
float ImageScale [VTK_MAX_VIEW_RAYS_LEVEL+1]
int ImageSize [2]
int FullImageSize [2]
int BilinearImageZoom
int SelectedImageScaleIndex
int StableImageScaleCounter
float PreviousAllocatedTime
int AutomaticScaleAdjustment
float AutomaticScaleLowerLimit
float ImageRenderTime [2]
float ViewRaysStepSize [VTK_MAX_VIEW_RAYS_LEVEL]
float TotalRenderTime
float * RGBAImage
float * ZImage
vtkVolume ** RayCastVolumes
VolumeRayCastVolumeInfoStruct * VolumeInfo
int RayCastPropCount
int SoftwareBufferPropCount
float CameraClippingRange [2]
float ViewToWorldMatrix [4][4]
int FirstBlend
float CameraInverse22
float CameraInverse23
float CameraInverse32
float CameraInverse33
float CameraPosition [3]
float * ParallelStartPosition
float * ParallelIncrements
int ParallelProjection
int NeedBackgroundBlend
float Background [3]


VTK_THREAD_RETURN_TYPE RayCast_RenderImage (void *arg)

Detailed Description

A helper object for renderer that controls ray casting.

2000/12/10 20:08:49

vtkRayCaster is an automatically created object within vtkRenderer. It is used for ray casting operations. It stores variables such as the view rays, and information on multiresolution image rendering which are queried by the specific ray casters.

See also:
vtkRenderer vtkViewRays

Definition at line 66 of file vtkRayCaster.h.

Constructor & Destructor Documentation

vtkRayCaster::vtkRayCaster   [protected]

vtkRayCaster::~vtkRayCaster   [protected]

vtkRayCaster::vtkRayCaster const vtkRayCaster &    [inline, protected]

Definition at line 195 of file vtkRayCaster.h.

Member Function Documentation

vtkRayCaster* vtkRayCaster::New   [static]

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

Reimplemented from vtkObject.

virtual const char* vtkRayCaster::GetClassName   [virtual]

Return the class name as a string. This method is defined in all subclasses of vtkObject with the vtkTypeMacro found in vtkSetGet.h.

Reimplemented from vtkObject.

int vtkRayCaster::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 vtkTypeMacro found in vtkSetGet.h.

Reimplemented from vtkObject.

virtual int vtkRayCaster::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 vtkTypeMacro found in vtkSetGet.h.

Reimplemented from vtkObject.

vtkRayCaster* vtkRayCaster::SafeDownCast vtkObject   o [static]

Will cast the supplied object to vtkObject* is this is a safe operation (i.e., a safe downcast); otherwise NULL is returned. This method is defined in all subclasses of vtkObject with the vtkTypeMacro found in vtkSetGet.h.

Reimplemented from vtkObject.

void vtkRayCaster::PrintSelf ostream &    os,
vtkIndent    indent

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 vtkObject.

float* vtkRayCaster::GetPerspectiveViewRays  

Method for a vtkVolumeMapper to retrieve the view rays for a perspective projection

void vtkRayCaster::GetViewRaysSize int    size[2]

Get the size in pixels of the view rays for the selected scale index

float* vtkRayCaster::GetParallelStartPosition void   

For a parallel projection, get the starting position of a ray in the lower left hand corder of the viewport.

float* vtkRayCaster::GetParallelIncrements void   

For a parallel projection, get the (x,y,z) world increments to move one pixel along the image plane x and the image plane y axes.

void vtkRayCaster::SetImageScale int    level,
float    scale

Set/Get the scale factor for a given level. This is used during multi- resolution interactive rendering

float vtkRayCaster::GetImageScale int    level

int vtkRayCaster::GetImageScaleCount void    [inline]

Get the number of levels of resolution.

Definition at line 96 of file vtkRayCaster.h.

virtual void vtkRayCaster::SetSelectedImageScaleIndex int    [virtual]

During multi-resolution rendering, this indicated the selected level of resolution

virtual int vtkRayCaster::GetSelectedImageScaleIndex   [virtual]

void vtkRayCaster::SetViewRaysStepSize int    level,
float    scale

For each level of resolution, set the step size associated with that level. This may be used by the vtkVolumeMapper.

float vtkRayCaster::GetViewRaysStepSize int    level

virtual int vtkRayCaster::GetAutomaticScaleAdjustment   [virtual]

Get the value of AutomaticScaleAdjustment. 0 = off, 1 = on

void vtkRayCaster::AutomaticScaleAdjustmentOn void   

Turn the automatic scale adjustment on

void vtkRayCaster::AutomaticScaleAdjustmentOff void   

Turn the automatic scale adjustment off

virtual void vtkRayCaster::SetAutomaticScaleLowerLimit float    [virtual]

Set / Get the lower limit for scaling an image. This will define the worst resolution allowed during multiresolution rendering. The default value is 0.15.

virtual float vtkRayCaster::GetAutomaticScaleLowerLimit   [virtual]

virtual void vtkRayCaster::SetBilinearImageZoom int    [virtual]

Set/Get the value of bilinear image zooming.

virtual int vtkRayCaster::GetBilinearImageZoom   [virtual]

virtual void vtkRayCaster::BilinearImageZoomOn   [virtual]

virtual void vtkRayCaster::BilinearImageZoomOff   [virtual]

virtual float vtkRayCaster::GetTotalRenderTime   [virtual]

Get the total time required for ray casting.

virtual void vtkRayCaster::SetNumberOfThreads int    [virtual]

Set / Get the number of threads used during ray casting

virtual int vtkRayCaster::GetNumberOfThreads   [virtual]

int vtkRayCaster::GetNumberOfSamplesTaken  

Get the number of samples taken during the last image rendered. This is the number of samples for ray cast images only - any samples taken from other types of mapper will be reported in that mapper directly

virtual void vtkRayCaster::SetRenderer vtkRenderer   [virtual]

WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE This method allows the ray caster to know about the renderer with which it is associated

virtual vtkRenderer* vtkRayCaster::GetRenderer   [virtual]

void vtkRayCaster::Render vtkRenderer  ,
int   ,
vtkProp **   ,
int   ,
vtkProp **   

WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE DO NOT USE THIS METHOD OUTSIDE OF THE RENDERING PROCESS Render all prop that require ray casting or that render into an image buffer. Merge the results with the image generated from updating the geometry, and place it on the screen.

float vtkRayCaster::GetViewportScaleFactor vtkRenderer   ren

WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE DO NOT USE THIS METHOD OUTSIDE OF THE RENDERING PROCESS This method returns the scale that should be applied to the viewport for geometric rendering, and for the image in volume rendering. It is either explicitly set (if AutomaticScaleAdjustment is off) or is adjusted automatically to get the desired frame rate. Note: IMPORTANT!!!! This should only be called once per render!!!

float vtkRayCaster::GetViewportStepSize  


float* vtkRayCaster::GetCurrentZBuffer   [inline]


Definition at line 178 of file vtkRayCaster.h.

void vtkRayCaster::operator= const vtkRayCaster &    [inline, protected]

Definition at line 196 of file vtkRayCaster.h.

void vtkRayCaster::NearestNeighborZoom float *    smallImage,
float *    largeImage,
int    smallDims[2],
int    largeDims[2]

Zoom the small image up the full size using nearest neighbor interpolation

void vtkRayCaster::BilinearZoom float *    smallImage,
float *    largeImage,
int    smallDims[2],
int    largeDims[2]

Zoom the small image up the full size using bilinear interpolation

void vtkRayCaster::RescaleImage   [protected]

Rescale the image from the small size to the full size using one of the two interpolation methods above - NearestNeighborZoom or BilinearZoom.

void vtkRayCaster::RenderFrameBufferVolumes vtkRenderer   ren [protected]

void vtkRayCaster::InitializeRenderBuffers vtkRenderer   ren [protected]

void vtkRayCaster::InitializeRayCasting vtkRenderer   ren [protected]

void vtkRayCaster::ComputeRowBounds vtkRenderer   ren,
vtkProp   prop,
int    index

Friends And Related Function Documentation

VTK_THREAD_RETURN_TYPE RayCast_RenderImage void *    arg [friend]

Member Data Documentation

int** vtkRayCaster::RowBounds

Definition at line 140 of file vtkRayCaster.h.

int* vtkRayCaster::RowBoundsSize

Definition at line 141 of file vtkRayCaster.h.

vtkProp** vtkRayCaster::SoftwareProps

Definition at line 143 of file vtkRayCaster.h.

vtkProp** vtkRayCaster::RayCastProps

Definition at line 144 of file vtkRayCaster.h.

vtkMultiThreader* vtkRayCaster::Threader [protected]

Definition at line 223 of file vtkRayCaster.h.

int vtkRayCaster::NumberOfThreads [protected]

Definition at line 225 of file vtkRayCaster.h.

int vtkRayCaster::NumberOfSamplesTaken[VTK_MAX_THREADS] [protected]

Definition at line 227 of file vtkRayCaster.h.

vtkRenderer* vtkRayCaster::Renderer [protected]

Definition at line 229 of file vtkRayCaster.h.

vtkViewRays* vtkRayCaster::ViewRays[VTK_MAX_VIEW_RAYS_LEVEL+1] [protected]

Definition at line 233 of file vtkRayCaster.h.

float* vtkRayCaster::SelectedViewRays [protected]

Definition at line 234 of file vtkRayCaster.h.

float vtkRayCaster::ImageScale[VTK_MAX_VIEW_RAYS_LEVEL+1] [protected]

Definition at line 235 of file vtkRayCaster.h.

int vtkRayCaster::ImageSize[2] [protected]

Definition at line 236 of file vtkRayCaster.h.

int vtkRayCaster::FullImageSize[2] [protected]

Definition at line 237 of file vtkRayCaster.h.

int vtkRayCaster::BilinearImageZoom [protected]

Definition at line 238 of file vtkRayCaster.h.

int vtkRayCaster::SelectedImageScaleIndex [protected]

Definition at line 239 of file vtkRayCaster.h.

int vtkRayCaster::StableImageScaleCounter [protected]

Definition at line 240 of file vtkRayCaster.h.

float vtkRayCaster::PreviousAllocatedTime [protected]

Definition at line 241 of file vtkRayCaster.h.

int vtkRayCaster::AutomaticScaleAdjustment [protected]

Definition at line 242 of file vtkRayCaster.h.

float vtkRayCaster::AutomaticScaleLowerLimit [protected]

Definition at line 243 of file vtkRayCaster.h.

float vtkRayCaster::ImageRenderTime[2] [protected]

Definition at line 244 of file vtkRayCaster.h.

float vtkRayCaster::ViewRaysStepSize[VTK_MAX_VIEW_RAYS_LEVEL] [protected]

Definition at line 245 of file vtkRayCaster.h.

float vtkRayCaster::TotalRenderTime [protected]

Definition at line 246 of file vtkRayCaster.h.

float* vtkRayCaster::RGBAImage [protected]

Definition at line 249 of file vtkRayCaster.h.

float* vtkRayCaster::ZImage [protected]

Definition at line 250 of file vtkRayCaster.h.

vtkVolume** vtkRayCaster::RayCastVolumes [protected]

Definition at line 255 of file vtkRayCaster.h.

struct VolumeRayCastVolumeInfoStruct* vtkRayCaster::VolumeInfo [protected]

Definition at line 257 of file vtkRayCaster.h.

int vtkRayCaster::RayCastPropCount [protected]

Definition at line 259 of file vtkRayCaster.h.

int vtkRayCaster::SoftwareBufferPropCount [protected]

Definition at line 260 of file vtkRayCaster.h.

vtkTransform* vtkRayCaster::ViewToWorldTransform [protected]

Definition at line 261 of file vtkRayCaster.h.

float vtkRayCaster::CameraClippingRange[2] [protected]

Definition at line 262 of file vtkRayCaster.h.

float vtkRayCaster::ViewToWorldMatrix[4][4] [protected]

Definition at line 263 of file vtkRayCaster.h.

int vtkRayCaster::FirstBlend [protected]

Definition at line 264 of file vtkRayCaster.h.

float vtkRayCaster::CameraInverse22 [protected]

Definition at line 265 of file vtkRayCaster.h.

float vtkRayCaster::CameraInverse23 [protected]

Definition at line 266 of file vtkRayCaster.h.

float vtkRayCaster::CameraInverse32 [protected]

Definition at line 267 of file vtkRayCaster.h.

float vtkRayCaster::CameraInverse33 [protected]

Definition at line 268 of file vtkRayCaster.h.

float vtkRayCaster::CameraPosition[3] [protected]

Definition at line 269 of file vtkRayCaster.h.

float* vtkRayCaster::ParallelStartPosition [protected]

Definition at line 270 of file vtkRayCaster.h.

float* vtkRayCaster::ParallelIncrements [protected]

Definition at line 271 of file vtkRayCaster.h.

int vtkRayCaster::ParallelProjection [protected]

Definition at line 272 of file vtkRayCaster.h.

int vtkRayCaster::NeedBackgroundBlend [protected]

Definition at line 273 of file vtkRayCaster.h.

float vtkRayCaster::Background[3] [protected]

Definition at line 274 of file vtkRayCaster.h.

The documentation for this class was generated from the following file:
Generated on Wed Nov 21 12:58:32 2001 for VTK by doxygen1.2.11.1 written by Dimitri van Heesch, © 1997-2001