Open Inventor Release 2023.2.3
 
Loading...
Searching...
No Matches
SoVolumeRendering Class Reference

VolumeViz Initializes the VolumeViz module database. More...

#include <VolumeViz/nodes/SoVolumeRendering.h>

+ Inheritance diagram for SoVolumeRendering:

Public Types

enum  HW_Feature {
  HW_3DTEXMAP = SoHardwareQuery::HW_3DTEXMAP ,
  HW_TEXCOLORMAP = SoHardwareQuery::HW_TEXCOLORMAP ,
  HW_TEXCOMPRESSION = SoHardwareQuery::HW_TEXCOMPRESSION
}
 Hardware Features Mode. More...
 
enum  HW_SupportStatus {
  NO = SoHardwareQuery::NO ,
  YES ,
  UNKNOWN
}
 Hardware Features support status. More...
 

Static Public Member Functions

static void init ()
 Initializes the VolumeViz module database.
 
static void finish ()
 Shuts down the VolumeViz module, which includes freeing any internal static memory that it allocated.
 
static bool isInitialized ()
 Returns TRUE if module is currently initialized.
 
static void setWriteAlternateRep (SbBool flag)
 Sets the writeAlternateRep flag.
 
static SbBool getWriteAlternateRep ()
 Returns the writeAlternateRep flag.
 
static void setReadAlternateRep (SbBool flag)
 Sets the readAlternateRep flag.
 
static SbBool getReadAlternateRep ()
 Returns the readAlternateRep flag.
 
static HW_SupportStatus isSupported (HW_Feature feature)
 Returns information about hardware support for various volume rendering features.
 
Deprecated
static SoDEPRECATED void setDelayedRendering (SbBool flag)
 Sets the delayedRendering flag.
 
static SoDEPRECATED SbBool getDelayedRendering ()
 Returns the delayedRendering flag.
 

Detailed Description

VolumeViz Initializes the VolumeViz module database.

This abstract class is the base class for all volume rendering modules. It is used only for initializing the VolumeViz extension and setting some global parameters.

The init() method must be called before creating any VolumeViz nodes. The finish() method should be called when the application is shutting down.

Limitations:

  • Multi-thread rendering:
    Unlike most Open Inventor nodes, VolumeViz nodes do not support simultaneous rendering in multiple threads (even when Open Inventor is initialized using one of the initThread() methods).

SEE ALSO

SoVolumeData, SoTransferFunction, SoVolumeRender, SoOrthoSlice, SoObliqueSlice, SoROI, SoVolumeReader, SoLDMGlobalResourceParameters

Definition at line 85 of file SoVolumeRendering.h.

Member Enumeration Documentation

◆ HW_Feature

Hardware Features Mode.

Enumerator
HW_3DTEXMAP 

The system supports OpenGL 3D texture mapping.

On some boards, this query may return TRUE even if your board does not support accelerated 3D textures. In this case performance may be slow, and you may prefer to use 2D textures instead. Note: The inability to determine if 3D textures are accelerated is a limitation of OpenGL, not Open Inventor.

HW_TEXCOLORMAP 

The system supports the OpenGL paletted texture extension and/or the texture color table extension.

HW_TEXCOMPRESSION 

The system supports the OpenGL texture compression extension.

Definition at line 163 of file SoVolumeRendering.h.

◆ HW_SupportStatus

Hardware Features support status.

Enumerator
NO 

Not supported.

YES 

Supported.

UNKNOWN 

unknown status

Definition at line 191 of file SoVolumeRendering.h.

Member Function Documentation

◆ finish()

static void SoVolumeRendering::finish ( )
static

Shuts down the VolumeViz module, which includes freeing any internal static memory that it allocated.

Finish methods must be called in the reverse order of the init method calls:

SoXt::finish();
...
static void finish()
Shuts down the VolumeViz module, which includes freeing any internal static memory that it allocated.

◆ getDelayedRendering()

static SoDEPRECATED SbBool SoVolumeRendering::getDelayedRendering ( )
static

Returns the delayedRendering flag.

◆ getReadAlternateRep()

static SbBool SoVolumeRendering::getReadAlternateRep ( )
static

Returns the readAlternateRep flag.

◆ getWriteAlternateRep()

static SbBool SoVolumeRendering::getWriteAlternateRep ( )
static

Returns the writeAlternateRep flag.

◆ init()

static void SoVolumeRendering::init ( )
static

Initializes the VolumeViz module database.

This must be called before the construction of any VolumeViz nodes.

Generally this method should be called immediately after initializing Open Inventor. In other words just after SoXt::init(), SoWin::init(), etc.

Starting with Open Inventor version 8.5, this method must called before any instances of SoSceneManager are created. When using the Open Inventor viewer classes, an SoSceneManager is created automatically when the viewer is created. So this method should be called before creating the viewer.

SoXt::init();
...
static void init()
Initializes the VolumeViz module database.

◆ isInitialized()

static bool SoVolumeRendering::isInitialized ( )
static

Returns TRUE if module is currently initialized.

◆ isSupported()

static HW_SupportStatus SoVolumeRendering::isSupported ( HW_Feature  feature)
static

Returns information about hardware support for various volume rendering features.

This query is only valid after SoVolumeRendering::init has been called. Otherwise the return value will be UNKNOWN.

When using a debug build of Open Inventor, some "no context available" warning messages may be generated. You can ignore them or see SoGLExtension for an example of using SoGLContext to avoid them.

◆ setDelayedRendering()

static SoDEPRECATED void SoVolumeRendering::setDelayedRendering ( SbBool  flag)
static

Sets the delayedRendering flag.

Default is FALSE.
When this flag is TRUE , VolumeViz drawing nodes (e.g., SoOrthoSlice) are rendered in a delayed pass (until after all opaque objects) and/or sorted according to the current transparency type (see SoGLRenderAction). This may result in a more correct image if there is opaque geometry intersecting the volume. However delayed/sorted rendering may slightly decrease performance. This flag may also be set using the IVVR_DELAY_RENDER environment variable.

◆ setReadAlternateRep()

static void SoVolumeRendering::setReadAlternateRep ( SbBool  flag)
static

Sets the readAlternateRep flag.


When this flag is TRUE while reading an Open Inventor file, any alternateRep subgraphs attached to VolumeViz nodes are read and added to the scene graph. Otherwise, alternateRep subgraphs are discarded and the alternateRep field is set to NULL. The default is FALSE.

◆ setWriteAlternateRep()

static void SoVolumeRendering::setWriteAlternateRep ( SbBool  flag)
static

Sets the writeAlternateRep flag.


When this flag is TRUE during an SoWriteAction traversal, some VolumeViz nodes will write an alternateRep subgraph containing only standard Open Inventor nodes that can be rendered even without VolumeViz. For example, SoOrthoSlice will write an SoTexture2 node and an SoFaceSet node. The default is FALSE.


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