Groups multiple volumes to be volume rendered in the same scene. More...
#include <VolumeViz/nodes/SoVolumeGroup.h>
Classes | |
struct | VGSlice |
struct | VRInfo |
Public Member Functions | |
virtual SoType | getTypeId () const |
SoVolumeGroup () | |
Static Public Member Functions | |
static SoType | getClassTypeId () |
Public Attributes | |
SoSFBool | multiVolumes |
The SoVolumeGroup node allows multiple volumes to be volume rendered (SoVolumeRender) correctly in the same scene. All SoVolumeRender nodes that are under an active SoVolumeGroup node (multiVolumes=TRUE) are rendered together with correct blending, subject to some limitations. Other VolumeViz geometry objects, for example SoOrthoSlice, are not affected by SoVolumeGroup.
The SoVolumeRender nodes can represent different volume data sets (see SoVolumeData) or different subvolumes (see SoROI) of the same volume data set.
This node forces the use of view-aligned slices for SoVolumeRender nodes that will be composed. It doesn't, however, actually modify the SoVolumeRender::samplingAlignment fields. Rather the values of these fields are ignored during traversal.
The multiVolumes field (TRUE by default) controls whether the SoVolumeGroup's special handling of SoVolumeRender nodes is applied. If the (sub)volumes being rendered do not overlap in 3D space or only one of the volumes is transparent, then SoVolumeGroup special handling is automatically disabled.
SoVolumeGroup is primarily intended for cases where the volumes are sampled on different grids. For example if the volume dimension, size (3D extent) or orientation are different. For volumes that are actually multiple data sets sampled on the same grid, for example seismic attribute volumes, it may be more appropriate to blend the volumes using an SoDataCompositor or SoVolumeShader node.
Since OIV 9.3, EdgeDetection (Gradient, Luminance, Depth) and LowResMode (DECREASE_SCREEN_RESOLUTION) effects are supported. These post process effects need to be applied to all or none of the volumes. If all fields corresponding to an effect are the same for each volume, the effect is activated. If fields are different then default value is used.
Limitations:
multiVolumes | TRUE |
SoGetBoundingBoxAction
Computes the bounding box that encloses the volume.
SoVolumeRender, SoSeparator, SoDataCompositor, SoVolumeShader
SoVolumeGroup::SoVolumeGroup | ( | ) |
Constructor.
static SoType SoVolumeGroup::getClassTypeId | ( | ) | [static] |
Returns the type identifier for this class.
Reimplemented from SoSeparator.
virtual SoType SoVolumeGroup::getTypeId | ( | ) | const [virtual] |
Returns the type identifier for this specific instance.
Reimplemented from SoSeparator.
Activates the multi-volumes feature.
Default is TRUE. If set to FALSE, behaves as a regular SoGroup.