![]() |
http://www.sim.no http://www.coin3d.org |
#include <VolumeViz/nodes/SoVolumeRender.h>
Insert a node of this type after an SoVolumeData node in the scene graph to render the full volume data set.
Public Types | |
typedef AbortCode | SoVolumeRenderAbortCB (int totalslices, int thisslice, void *userdata) |
enum | Interpolation { NEAREST, LINEAR } |
enum | Composition { MAX_INTENSITY, SUM_INTENSITY, ALPHA_BLENDING } |
enum | NumSlicesControl { ALL, MANUAL, AUTOMATIC } |
enum | AbortCode { CONTINUE, ABORT, SKIP } |
Public Member Functions | |
void | setAbortCallback (SoVolumeRenderAbortCB *func, void *userdata=NULL) |
Static Public Member Functions | |
static void | initClass (void) |
Public Attributes | |
SoSFEnum | interpolation |
SoSFEnum | composition |
SoSFBool | lighting |
SoSFVec3f | lightDirection |
SoSFFloat | lightIntensity |
SoSFEnum | numSlicesControl |
SoSFInt32 | numSlices |
SoSFBool | viewAlignedSlices |
Protected Member Functions | |
virtual void | GLRender (SoGLRenderAction *action) |
virtual void | rayPick (SoRayPickAction *action) |
virtual void | generatePrimitives (SoAction *action) |
virtual void | computeBBox (SoAction *action, SbBox3f &box, SbVec3f ¢er) |
Friends | |
class | SoVolumeRenderP |
|
The function signature for callback function pointers to be passed in to SoVolumeRender::setAbortCallback(). totalslices is the total number of textured slices that is expected to be rendered, unless the callback choose to abort or skip any of them. thisslice is the index number of the next slice to render. Note that they are rendered back-to-front, and that they are numbered from 1 to totalslices. userdata is the second argument given to SoVolumeRender::setAbortCallback() when the callback was set up. |
|
|
Enumeration of available types of composition for partly translucent volumes.
|
|
Enumeration of strategies for how to render the slices of the volume.
|
|
The set of valid values that should be returned from a function set up in SoVolumeRender::setAbortCallback(). |
|
Lets the application programmer supply a callback function, by which it will be possible to either prematurely abort the rendering of a set of slices, or to skip certain slices. Both of these measures are of course optimizations of rendering performance controlled from client code. |
|
Picking of a volume doesn't work in quite the same manner as picking polygon geometry: the SoPickedPoint set up in the SoRayPickAction class will only contain the entry point of the ray into the volume. For further picking information, grab the detail object and cast it to an SoVolumeRenderDetail (after first checking that it is of this type, of course). |
|
How to interpolate color values when rendering "in between" voxels. See SoVolumeRender::Interpolation. Default value is SoVolumeRender::LINEAR. |
|
How to compose the projected volume rendering. See SoVolumeRender::Composition. Default value is SoVolumeRender::ALPHA_BLENDING. |
|
Specifies a strategy to use for calculating the number of slices to use for the visualization. The more slicer, the better quality and more correct the visualization will be, but the trade-off is that it will also influence the rendering performance. The default value is SoVolumeRender::ALL. (The rendering performance can be severly improved by changing this field's value to either SoVolumeRender::MANUAL or SoVolumeRender::AUTOMATIC, and then tuning the SoVolumeRender::numSlices field.) |
|
Decides how many slices to render if SoVolumeRender::numSlicesControl is set to either SoVolumeRender::MANUAL or SoVolumeRender::AUTOMATIC.
For Note that the default value of the field is 0. |
Copyright © 1998-2004 by Systems in Motion AS. All rights reserved.
Generated on Fri May 27 07:57:53 2005 for SIMVoleon by Doxygen. 1.4.2