SoVolumeSkin Class Reference
[Nodes]

VolumeViz Draws a data volume skin. More...

#include <VolumeViz/nodes/SoVolumeSkin.h>

Inheritance diagram for SoVolumeSkin:
SoSlice SoVolumeShape SoLdmShape SoShape SoNode SoFieldContainer SoBase SoRefCounter SoTypedObject

List of all members.

Public Types

enum  FaceMode {
  FRONT,
  BACK,
  FRONT_AND_BACK
}

Public Member Functions

virtual SoType getTypeId () const
 SoVolumeSkin ()

Static Public Member Functions

static SoType getClassTypeId ()

Public Attributes

SoSFInt32 dataSetId
SoSFEnum faceMode

Detailed Description

VolumeViz Draws a data volume skin.

This node draws the "skin" (outer faces) of the data volume defined by the current SoVolumeData node. This skin is a set of textured polygons similar to ortho slices.

The current SoVolumeData node can be specified with dataSetId. When this field is set to 0, the last SoVolumeData node on state is used.

For a non-RGBA (scalar valued) volume, each voxel's RGBA value is determined by the current SoDataRange and SoTransferFunction. The current diffuse color and transparency (set, for example, with an SoMaterial node) modify the appearance of the voxels. This means that, for example, the current transparency can be used as a global alpha value to modulate the overall opacity. For an RGBA volume each voxel's RGBA value comes directly from the volume data.

When using an opaque transfer function (no alpha values < 1), this node generates the same image as SoVolumeRender, but with much higher performance, because only slices are rendered. A common pattern is to put an SoVolumeRender node and an SoVolumeSkin node under an SoSwitch node. This makes it easy to switch between skin rendering and volume rendering.

The interpolation field controls how the texture is interpolated.

Optionally a bump mapping effect may be applied. Normal vectors are automatically computed from the data value gradient. The enableBumpMapping and bumpScale fields control whether bump mapping is active and the intensity of the effect.

The entire skin is pickable, even where it is transparent as a result of the current transfer function. The SoVolumeSkinDetail class allows you to get the voxel position and value after picking.

Notes:

EXAMPLE

FILE FORMAT/DEFAULT

ACTION BEHAVIOR

SEE ALSO

SoVolumeData, SoTransferFunction, SoROI, SoVolumeShader

See related examples:

MedicalComputeHistogram, ComputeHistogram, AmplitudeVelocity, RoiManip, SimpleLightedVolume, VolRend, VolumeSkin, VVIZ-Template-SG


Member Enumeration Documentation

Use this enum with the faceMode field.

Enumerator:
FRONT 

Display only front faces.

BACK 

Display only back faces.

FRONT_AND_BACK 

Display front and back faces.


Constructor & Destructor Documentation

SoVolumeSkin::SoVolumeSkin (  ) 

Constructor.


Member Function Documentation

static SoType SoVolumeSkin::getClassTypeId (  )  [static]

Returns the type identifier for this class.

Reimplemented from SoSlice.

virtual SoType SoVolumeSkin::getTypeId (  )  const [virtual]

Returns the type identifier for this specific instance.

Reimplemented from SoSlice.


Member Data Documentation

Specifies the SoVolumeData node to use.

This is useful when datasets of different dimensions are present in the scene graph. Please see SoMultiDataSeparator for more details.

When set to 0, the last SoVolumeData node on state is used. Default is 0.

NOTE: field available since Open Inventor 10.11.0

Display front (facing the camera) faces or back faces.

Use enum FaceMode. Default is FRONT. Displaying only front (or back) faces reduces the amount of data that must be loaded and reduces the rendering time.

NOTE: field available since Open Inventor 8.1


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

Open Inventor Toolkit reference manual, generated on 4 Sep 2023
Copyright © Thermo Fisher Scientific All rights reserved.
https://www.openinventor.com/