SoObliqueSlice - Man Page

Render a slice of the volume data, with any orientation.


#include <VolumeViz/nodes/SoObliqueSlice.h>

Inherits SoShape.

Public Types

enum Interpolation { NEAREST, LINEAR }

Static Public Member Functions

static void initClass (void)

Public Attributes

SoSFPlane plane
SoSFEnum interpolation
SoSFEnum alphaUse
SoSFNode alternateRep

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 &center)
virtual void write (SoWriteAction *action)
virtual SbBool readInstance (SoInput *in, unsigned short flags)


class SoObliqueSliceP

Detailed Description

Render a slice of the volume data, with any orientation.

Insert a node of this type after an SoVolumeData node in the scene graph to render a single slice from the full volume data set. The slice is specified as a plane with an orientation and position within the volume.


Here is a simple example, in the form of an iv-file:

#Inventor V2.1 ascii

SoVolumeData { fileName 'ENGINE.VOL' }
Separator {
  SoTransferFunction { }  
  DEF clipper ClipPlaneManip { }
  SoVolumeRender { }   

Separator {
  SoTransferFunction { predefColorMap GLOW }  
  SoObliqueSlice {
    interpolation LINEAR        
    alphaUse ALPHA_AS_IS
    plane = USE clipper . plane

Please note that SoObliqueSlice will not work with older OpenGL drivers as they usually lack 3D-texture support. OpenGL drivers of version 1.2 and onwards supports 3D-texturing, as does older OpenGL drivers with the GL_EXT_texture3D extension. If none of these are available, a warning message will be printed using Coin's SoDebugError::postWarning().

See also

SoVolumeRender, SoOrthoSlice

SoVolumeTriangleStripSet, SoVolumeIndexedTriangleStripSet,

SoVolumeIndexedFaceSet, SoVolumeFaceSet


SIM Voleon 2.0

Member Enumeration Documentation

enum SoObliqueSlice::Interpolation

Enumeration of available types of voxel colors interpolation.



For 'in between' pixels of the screen rasterization, pick the color of the nearest voxel. Will give sharp edges and a distinct blocky look.


For 'in between' pixels of the screen rasterization, interpolate by averaging the colors of several of the nearest voxels. Will give a smoother appearance, but sacrifies some 'correctness' for appearance.

enum SoObliqueSlice::AlphaUse



The alpha channel is rendered 'as-is'.


The alpha channel is ignored making the slice opaque.


All alpha values not equal to 0 is threated as value 1.0f.

Member Data Documentation

SoSFPlane SoObliqueSlice::plane

The plane defining the slice.

Default value is an XY plane.

SoSFEnum SoObliqueSlice::interpolation

How to interpolate color values when rendering 'in between' voxels. See SoObliqueSlice::Interpolation.

Default value is SoObliqueSlice::LINEAR.

SoSFEnum SoObliqueSlice::alphaUse

How the alpha channel should be threated during rendering. See SoObliqueSlice::AlphaUse.

Default value is SoObliqueSlice::ALPHA_AS_IS

SoSFNode SoObliqueSlice::alternateRep

NOTE: support for this field not yet implemented in SIM Voleon.


SIM Voleon 2.0


Generated automatically by Doxygen for SIMVoleon from the source code.


Wed Jan 18 2023 Version 2.1.0 SIMVoleon