Open Inventor Release 2024.2.1
 
Loading...
Searching...
No Matches
SoPreferences Class Reference

VSG extension Manages Open Inventor configuration parameters. More...

#include <Inventor/SoPreferences.h>

Static Public Member Functions

static SoNONUNICODE const char * getValue (const char *name)
 Returns the value of the specified environment variable in the Open Inventor environment.
 
static const SbStringgetStringValue (const SbString &name)
 Returns the value of the specified environment variable in the Open Inventor environment.
 
static SoNONUNICODE SbBool getBool (const char *name, SbBool defaultValue)
 Returns the value of the specified environment variable in the Open Inventor environment, interpreted as a boolean.
 
static SbBool getBool (const SbString &name, SbBool defaultValue)
 Returns the value of the specified environment variable in the Open Inventor environment, interpreted as a boolean.
 
static SoNONUNICODE int getInt (const char *name, int defaultValue)
 Returns the value of the specified environment variable in the Open Inventor environment, interpreted as an int.
 
static int getInt (const SbString &name, int defaultValue)
 Returns the value of the specified environment variable in the Open Inventor environment, interpreted as an int.
 
static SoNONUNICODE long getLong (const char *name, long defaultValue)
 Returns the value of the specified environment variable in the Open Inventor environment, interpreted as a long.
 
static long getLong (const SbString &name, long defaultValue)
 Returns the value of the specified environment variable in the Open Inventor environment, interpreted as a long.
 
static SoNONUNICODE float getFloat (const char *name, float defaultValue)
 Returns the value of the specified environment variable in the Open Inventor environment, interpreted as a float.
 
static float getFloat (const SbString &name, float defaultValue)
 Returns the value of the specified environment variable in the Open Inventor environment, interpreted as a float.
 
static SoNONUNICODE double getDouble (const char *name, double defaultValue)
 Returns the value of the specified environment variable in the Open Inventor environment, interpreted as a double.
 
static double getDouble (const SbString &name, double defaultValue)
 Returns the value of the specified environment variable in the Open Inventor environment, interpreted as a double.
 
static SoNONUNICODE const SbStringgetString (const char *name, const SbString &defaultValue)
 Returns the value of the specified environment variable in the Open Inventor environment.
 
static const SbStringgetString (const SbString &name, const SbString &defaultValue)
 Returns the value of the specified environment variable in the Open Inventor environment.
 
static SoNONUNICODE const SbVec3fgetVec3f (const char *name, const SbVec3f &defaultValue)
 Returns the value of the specified environment variable in the Open Inventor environment, interpreted as an SbVec3f.
 
static const SbVec3fgetVec3f (const SbString &name, const SbVec3f &defaultValue)
 Returns the value of the specified environment variable in the Open Inventor environment, interpreted as an SbVec3f.
 
static SoNONUNICODE const SbVec2sgetVec2s (const char *name, const SbVec2s &defaultValue)
 Returns the value of the specified environment variable in the Open Inventor environment, interpreted as an SbVec2s.
 
static const SbVec2sgetVec2s (const SbString &name, const SbVec2s &defaultValue)
 Returns the value of the specified environment variable in the Open Inventor environment, interpreted as an SbVec2s.
 
static SoNONUNICODE const SbColorgetColor (const char *name, const SbColor &defaultValue)
 Returns the value of the specified environment variable in the Open Inventor environment, interpreted as an SbColor.
 
static const SbColorgetColor (const SbString &name, const SbColor &defaultValue)
 Returns the value of the specified environment variable in the Open Inventor environment, interpreted as an SbColor.
 
static SoNONUNICODE void setValue (const char *name, const char *value=NULL)
 Sets a variable in the Open Inventor environment.
 
static void setValue (const SbString &name, const SbString *value=NULL)
 Sets a variable in the Open Inventor environment.
 
static SoNONUNICODE void setBool (const char *name, SbBool value)
 Sets a variable that has a boolean value in the Open Inventor environment.
 
static void setBool (const SbString &name, SbBool value)
 Sets a variable that has a boolean value in the Open Inventor environment.
 
static SoNONUNICODE void setInt (const char *name, int value)
 Sets a variable that has an int value in the Open Inventor environment.
 
static void setInt (const SbString &name, int value)
 Sets a variable that has an int value in the Open Inventor environment.
 
static SoNONUNICODE void setLong (const char *name, long value)
 Sets a variable that has a long value in the Open Inventor environment.
 
static void setLong (const SbString &name, long value)
 Sets a variable that has a long value in the Open Inventor environment.
 
static SoNONUNICODE void setFloat (const char *name, float value)
 Sets a variable that has a float value in the Open Inventor environment.
 
static void setFloat (const SbString &name, float value)
 Sets a variable that has a float value in the Open Inventor environment.
 
static SoNONUNICODE void setDouble (const char *name, double value)
 Sets a variable that has a double value in the Open Inventor environment.
 
static void setDouble (const SbString &name, double value)
 Sets a variable that has a double value in the Open Inventor environment.
 
static SoNONUNICODE void setString (const char *name, const SbString &value)
 Sets a variable that has an SbString value in the Open Inventor environment.
 
static void setString (const SbString &name, const SbString &value)
 Sets a variable that has an SbString value in the Open Inventor environment.
 
static SoNONUNICODE void setVec3f (const char *name, const SbVec3f &value)
 Sets a variable that has an SbVec3f value in the Open Inventor environment.
 
static void setVec3f (const SbString &name, const SbVec3f &value)
 Sets a variable that has an SbVec3f value in the Open Inventor environment.
 
static SoNONUNICODE void setVec2s (const char *name, const SbVec2s &value)
 Sets a variable that has an SbVec2s value in the Open Inventor environment.
 
static void setVec2s (const SbString &name, const SbVec2s &value)
 Sets a variable that has an SbVec2s value in the Open Inventor environment.
 
static SoNONUNICODE void setColor (const char *name, const SbColor &value)
 Sets a variable that has an SbColor value in the Open Inventor environment.
 
static void setColor (const SbString &name, const SbColor &value)
 Sets a variable that has an SbColor value in the Open Inventor environment.
 
static SoNONUNICODE void readFile (const char *filename)
 Reads environment name-value pairs from the specified configuration file and adds them to the current Open Inventor environment.
 
static void readFile (const SbString &filename)
 Reads environment name-value pairs from the specified configuration file and adds them to the current Open Inventor environment.
 

Friends

class SoPreferencesImpl
 

Detailed Description

VSG extension Manages Open Inventor configuration parameters.

Open Inventor maintains a configuration database that stores information about the Open Inventor "environment". The Open Inventor environment contains configuration parameters and their values.

Setting configuration parameters
There are several ways that configuration parameter values are set into the Inventor configuration database:

Configuration files: When Open Inventor is initialized, two configuration files are automatically read (if available):

  • A system configuration file $OIVHOME/oiv.cfg or the file pointed to by the OIV_CONFIG_FILE environment variable, and
  • a local configuration file named oiv.cfg located in the application's current working directory.

The configuration parameters specified in the configuration files are set into Open Inventor's configuration database.

You can request that additional configuration files be read using SoPreferences::readFile.

The configuration file format is simple. You specify environment name-value pairs, one per line. The file format is shown below.

Using SoPreferences methods: SoPreferences::setValue sets a configuration parameter in the Open Inventor configuration database. As this value is set in memory, it is local to the application process and can only be retrieved using SoPreferences::getValue. There are convenience methods available for setting specific values of a specific data type, e.g., setFloat.

Using system environment variables: If a particular configuration parameter has not already been set via a config file or setValue, then Open Inventor will check the system environment. System environment variables are set using platform-dependent commands (e.g., set, setenv).

Querying configuration parameters
To query a specific configuration parameter, use the method SoPreferences::getValue which returns the value of the specified configuration parameter in the Open Inventor configuration database.

SoPreferences also provides convenience methods for querying specific data types and providing a default value, e.g.,

int numFiles = SoPreferences::getInt( "NUM_FILES", 1 );
static SoNONUNICODE int getInt(const char *name, int defaultValue)
Returns the value of the specified environment variable in the Open Inventor environment,...

requests the value of an integer-valued configuration parameter and returns the default value 1 if this parameter has not been specified. Corresponding "set" methods are also provided.

Other
The SoPreferences configuration mechanism is not restricted to Open Inventor parameters. Applications are welcome to use it for their own parameters if appropriate.

To request configuration debugging information, use environment variable OIV_DEBUG_CONFIG.

CONFIGURATION FILE FORMAT White space (blank, tab) is ignored, except that there must be at least one space or tab separating the name from its value.

System environment variables may be used in a configuration file. Environment variable names begin with a $ and end at the next nonalphanumeric character. They are replaced by their corresponding value.

   # comment

   # NAME1, NAME2, and NAME3 are defined and associated
   # with value1, value2, and value3 respectively.
   NAME1     value1
   NAME2     value2    # comment
   +NAME3    value3

   # NAME4 and NAME5 are defined and no values are associated
   # with these NAMEs.
   NAME4
   +NAME5    # comment

   # If NAME6 is defined in the system environment or in one
   # of the previously loaded config files, it is now undefined.
   -NAME6    # comment

ALPHABETICAL LIST OF ENVIRONMENT VARIABLES

In addition to the environment variables in this alphabetic list, there are also special-purpose debug environment variables that may helpful in certain circumstances. They are listed separately below.

DIALOGVIZ_SKIN
DIALOGVIZ_SKINS_DIR
IV_ALLOW_LOCATE_HIGHLIGHT
IV_NO_TEXTURE_OBJECT
IV_OCTREE_MAX_DEPTH
IV_TIMER_RESOLUTION
IVTUNE_SHOW_INTERNAL_CHILDREN
IVVR_40_COMPAT
IVVR_DEBUG
IVVR_DELAY_RENDER
IVVR_GPU_PICKING
IVVR_MAX_NUM_LOADERS
IVVR_NUM_LOADERS
IVVR_SEGY_DUMP
IVVR_SEGY_FLOATISIEEE
IVVR_SEGY_SWAPBYTES
IVVR_TF_TEX_UNIT
IVVR_USE_TEX3D
IVVR_FIRST_RESERVED_TEXTURE_UNIT
IVVR_ALPHA_THRESHOLD_INTERACTIVE
IVVR_ALPHA_THRESHOLD_STILL
LDM_USE_IN_MEM_COMPRESSION
MESHVIZ_OCTREE_CACHE_CELLBBOX
MESHVIZ_OCTREE_MAX_DEPTH
MESHVIZ_OCTREE_MAX_CELL_PER_TILE
MESHVIZ_POLYGON_OFFSET
MESHVIZ_TESSELLATION_MAX_DEPTH
OIV_3DDATA_CREASE_ANGLE
OIV_3DDATA_CROSS_SECTION_METHOD
OIV_3DDATA_USE_TRIANGLE_STRIP_SET
OIV_ALPHA_TEST
OIV_AMBIENT_COLOR
OIV_AMBIENT_INTENSITY
OIV_ANTIALIASING_DEFAULT_MODE
OIV_AUTO_CLIPPING
OIV_AUTO_CLIP_TOLERANCE
OIV_AUTO_INTERACTIVE_MODE
OIV_BACKGROUND_COLOR
OIV_BUFFER_OBJECT_CACHE_SIZE
OIV_CAMERA_TYPE
OIV_CGM_HARDCOPY_BUFSIZE
OIV_COLORWHEEL_DBUF
OIV_COMPAT_24
OIV_COMPAT_30
OIV_COMPAT_CGM_HARDCOPY_400
OIV_COMPAT_HPGL_HARDCOPY_370
OIV_COMPAT_CONTEXT_80
OIV_COMPLEXITY
OIV_COMPLEXITY_TYPE
OIV_CONFIG_FILE
OIV_CREASE_ANGLE_FIX
OIV_CURSOR_STYLE
OIV_DATABASE_CHECK
OIV_DEBUG_CONFIG
OIV_DEBUG_PIXEL_FORMAT
OIV_DEFAULT_ACTION_USE_ALTERNATEREP
OIV_DECIMATION_GOAL_FPS
OIV_DECIMATION_GOAL_NUM_OF_TRIANGLES
OIV_DECIMATION_PERCENTAGE
OIV_DISABLE_DRAGGER_CTRL_KEY
OIV_DISABLED_GL_EXTENSION_LIST
OIV_DRAW_OCTREE
OIV_ENABLE_INMEMORY_TEXT_FILE
OIV_ENABLE_MESA_RENDERING
OIV_ENABLE_PNG_BACKGROUND
OIV_ENVIRONMENT_ATTENUATION
OIV_EXTRUSION_EPSILON
OIV_FACE_TYPE
OIV_FILE_SEARCH_PATHS
OIV_FOG_COLOR
OIV_FOG_TYPE
OIV_FOG_VISIBILITY
OIV_FONT_NAME
OIV_FONT_PATH
OIV_FONT_RENDERSTYLE
OIV_FONT_SIZE
OIV_FORCE_PIXEL_FORMAT
OIV_FORCE_TEX_COORD_SENDING
OIV_FORCE_USE_VBO
OIV_FREETYPE_NAME
OIV_FULL_RENDER_WHEN_STILL
OIV_FULL_SCENE_ANTIALIASING
OIV_FULL_SCENE_ANTIALIASING_FILTER
OIV_GL_SMOOTHING
OIV_GLSL_DEBUG
OIV_HC_BLACK_AND_WHITE
OIV_HCGDI_APPCONTROL
OIV_HCGDI_EDGE_WIDTH
OIV_HCGDI_POLYGON_COMPAT
OIVHOME
OIVARCH
OIV_INTERACTIVE_DRAW_STYLE
OIV_INTERSECT_EPSILON
OIV_IVTUNE_CONFIGURATION_FILE
OIV_IVTUNE_SHORTCUT
OIV_LD_LIBRARY_PATH
OIV_LIBJPEG_NAME
OIV_LIBPROJ4_NAME
OIV_LICENSE_DEBUG
OIV_LICENSE_FILE
OIV_LINE_WIDTH
OIV_LOWRESHIGHPERCENT
OIV_LOWRESLOWPERCENT

OIV_LOWRESRENDER
OIV_MATERIALS_PATH
OIV_MAX_ANNO_RENDER2D_SIZE
OIV_MAX_FONT_CACHES
OIV_MAX_SHADOWMAP_SIZE
OIV_MAX_VARIANCE_SHADOWMAP_SIZE
OIV_MAX_TEXTURED_FONT_RES
OIV_MIN_TEXTURED_FONT_RES
OIV_MIN_VERTEX_VAVBO_NOCACHE
OIV_MIN_VERTEX_VBO
OIV_MOUSE_WHEEL_ENABLE
OIV_MULTITEXTURING
OIV_NO_FBO
OIV_NO_FLEXNET
OIV_NO_IVTUNE
OIV_NO_SHADER_LAYERS_BLEND
OIV_NORMGEN_COMPAT
OIV_NORMGEN_TOLERANCE
OIV_NUM_RENDER_PASSES
OIV_NUM_SORTED_LAYERS_PASSES
OIV_NURBS_FIX_TRIM_CONNECTIONS
OIV_NURBS_FORCE_GLU_CONVEXISATION
OIV_NURBS_CHECK_RATIONAL_TRIM_OUTSIDE_DOMAIN
OIV_OIT_DEFAULT_MODE
OIV_OLD_ERROR_HANDLER
OIV_PBUFFER_DEBUG
OIV_PBUFFER_ENABLE
OIV_PERFCOUNTER_ENABLE
OIV_PFD_SUPPORT_COMPOSITION
OIV_PFD_SUPPORT_GDI
OIV_PICK_GENERATE_ALL_PROPERTIES
OIV_PLUGINS_DIRECTORY
OIV_POINT_SET_USE_VERTEX_ORDERING
OIV_POLYGON_OFFSET
OIV_POLYGON_OFFSET_FACTOR
OIV_POLYGON_OFFSET_STYLES
OIV_POLYGON_OFFSET_UNITS
OIV_QT_TIMER_THREAD
OIV_REMOTERENDER
OIV_REMOTERENDER_BUFFER
OIV_REMOTERENDER_DEBUG
OIV_REMOTERENDER_DISPLAY
OIV_REMOTERENDER_RGB_BGR
OIV_REPORT_ZERO_VECTORS
OIV_REQUIRE_STENCIL
OIV_SEEK_TIME
OIV_SEEK_MODIFY_ORTHOGRAPHIC_CAMERA_ORIENTATION
OIV_SEPARATE_SPECULAR_SUPPORT
OIV_SET_RAY_PRECISION
OIV_SHADER_CHECK_INTERVAL
OIV_SHADOW_TEXTURE_UNIT0
OIV_SHADOW_TEXTURE_UNIT1
OIV_SHAPE_TYPE
OIV_SHARE_LISTS
OIV_STEREO_ACTIVE
OIV_STEREO_BALANCE
OIV_STEREO_BALANCE_NEAR_FRAC
OIV_STEREO_GREENSHIFT
OIV_STEREO_OFFSET
OIV_STEREO_TESTPATTERN
OIV_STEREO_TYPE
OIV_STILL_DRAW_STYLE
OIV_STREAM_BUFFERS_NUMBER
OIV_STREAM_BUFFERS_SIZE
OIV_STROKE_FONT_PATH
OIV_SYNC_QTWIDGET_FIRSTRENDER
OIV_TEXT_ACCUMULATION
OIV_TEXT_ALIASING_FACTOR
OIV_TEXT_ALIGNMENTH
OIV_TEXT_ALIGNMENTV
OIV_TEXT_BACKFRAMELINE_WIDTH
OIV_TEXT_MARGIN
OIV_TEXT_ORIENTATION
OIV_TEXTURE_BORDER_CLAMP_ENABLE
OIV_TEXTURE_QUALITY
OIV_TRACKER_DIRECT_MODE
OIV_TRANSPARENCY_TYPE
OIV_USE_GLOBALFIELD_TIME
OIV_USE_HEADLIGHT
OIV_USE_NPOT
OIV_USE_OIVS
OIV_USE_OOB
OIV_USER_LIBS
OIV_VERTEX_ATTRIBS
OIV_VERTEX_ORDERING
OIV_VIEWER_ANIMATION
OIV_VIEWER_DECORATION
OIV_VIEWER_POPUP_MENU
OIV_VIEWER_SIZE
OIV_VIEWER_SHOW_RECORD_ENTRY
OIV_VIEWER_SHOW_FSAA_ENTRY
OIV_VIEWER_SHOW_STEREO_ENTRY
OIV_WHEEL_DELTA
OIV_WINDING_TYPE
OIV_ZERO_AREA_CHECK
OIV_ZLIB_NAME
SO_DRAGGER_DIR
VOLUMEVIZ_CENTERED_DICOM
VOLUMEVIZ_DICOM_FILE_CACHE_CAPACITY
VOLUMEVIZ_DICOM_FRAME_CACHE_SIZE

DIALOGVIZ_SKIN
Affects DialogViz. Specifies the skin that will be used for DialogViz 3D component rendering. Default value is "default". The value should be the name of the directory containing the skin components. The skin examples available with Open Inventor are "default", "texture", and "transparent". See also DIALOGVIZ_SKINS_DIR.

DIALOGVIZ_SKINS_DIR
Affects DialogViz. Specifies the path to the directory containing DialogViz skin directories. By default, the skin directory is $OIVHOME/data/DialogViz/Skins/. See also DIALOGVIZ_SKIN.

IV_ALLOW_LOCATE_HIGHLIGHT
Affects SoLocateHighlight and SoTransformerDragger.
Default is false. If false, locate highlighting (mouse-over feedback) is disabled unless the application explicitly sets each SoLocateHighlight node's 'mode' field to AUTO. If true, an SoLocateHighlight node's mode field is automatically set to AUTO. Effectively locate highlighting for the SoTransformerDragger can only be enabled by setting this variable to true.

IV_NO_TEXTURE_OBJECT
Tells Open Inventor not to use OpenGL 1.1 texture objects. If some textures are missing or otherwise displayed incorrectly, try setting this variable.

IV_OCTREE_MAX_DEPTH
Affects SoOctreeOrdering.
Specifies the maximum depth used during octree ordering. Default: 8

IV_TIMER_RESOLUTION [Windows only]
Specifies how often Open Inventor's internal clock ticks. Effectively it sets the minimum time between render traversals when animating (including spin animation and animation performed by engines). Make sure the value is less than the time it takes to render one frame of your scene. Default: 10 ms.

IVTUNE_SHOW_INTERNAL_CHILDREN
IvTune should allow user to expand hidden children, for example in draggers and manipulators. Default: FALSE.

IVVR_40_COMPAT
Forces VolumeViz 4.0 compatible behavior. For example, paging mode is the default, slices are not affected by scene graph lights, etc.

IVVR_DEBUG
Set to 1 to enable debug trace output for VolumeViz.

IVVR_DELAY_RENDER
Sets the VolumeViz delayedRendering flag.
When this flag is TRUE (1), VolumeViz drawing nodes (e.g. SoOrthoSlice) are considered "transparent" objects by Open Inventor. They may be delayed (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. For compatibility with earlier versions of VolumeViz the default is FALSE. This flag may also be set using SoVolumeRendering::setDelayedRendering().

IVVR_GPU_PICKING
When this flag is TRUE (1), SoVolumeRender (VolumeViz) will use the GPU to compute the picked voxel color. Default is TRUE.

Affects SoVRSegyFileReader.
Although in most cases the SEGY reader can automatically detect when the number of traces per line in a SEGY file is not uniform, in some cases it cannot. You can set this environment variable to request the use of a more sophisticated file parsing algorithm. However, be aware that the initialization for file reading will take longer when this environment variable is set.

Affects SoVRSegyFileReader.
Although in most cases the SEGY reader can automatically detect when the length of traces in a SEGY data file is not uniform, in some cases it cannot. You can set this environment variable to request the use of a more sophisticated file parsing algorithm. However, be aware that the initialization for file reading will take significantly longer when this environment variable is set.

IVVR_MAX_NUM_LOADERS
Affects SoVolumeRender.
Specifies the maximum number of loading threads to be used in VolumeViz LDM mode.

IVVR_NUM_LOADERS
Affects SoVolumeRender.
Specifies the initial number of loading threads to be used in VolumeViz LDM mode. Default is 4. This value can be set programmatically using SoVolumeRendering::setNumIO().

IVVR_SEGY_DUMP
Affects SoVRSegyFileReader.
Requests that the file and trace headers be written to a file while processing the SEGY data file. The output file is named ivvrSegyDump.txt in the current working directory. This information may be helpful if the SEGY reader fails to read the file correctly.

IVVR_SEGY_FLOATISIEEE
Affects SoVRSegyFileReader.
If TRUE (1), indicates that floats are written in IEEE floating point format. Normally the SEGY reader is able to detect this, but if necessary you can set this environment variable.

IVVR_SEGY_SWAPBYTES
Affects SoVRSegyFileReader.
Set to 1 to force byte swapping, 0 to force no byte swapping. Normally the SEGY reader is able to detect if byte swapping is needed, but if necessary you can set this environment variable.

IVVR_TF_TEX_UNIT
Affects SoTransferFunction
Allows you to specify the OpenGL texture unit to be used for storing VolumeViz transfer functions. The default is unit 0.

IVVR_USE_TEX3D
Controls when VolumeViz will use OpenGL 3D texturing.
All boards that report OpenGL version 1.2 or higher are required to support 3D texturing and will render the correct image. However on some boards (e.g. GeForce2) this support is not hardware accelerated and may be very slow. By default VolumeViz tries to detect this situation and automatically disable use of 3D textures, but there are cases where it is desirable to use 3D textures even if they are slow. In these cases set IVVR_USE_TEX3D to 1. Valid values are:

  • 0 = Never : Do not use 3D textures (even when available)
  • 1 = Always : Use 3D textures if supported in hardware or software
  • -1 = WhenFast : Use 3D textures only if supported in hardware (DEFAULT)

On some boards, e.g. ATI, WhenFast is the same as Always because we can't reliably detect how 3D textures are implemented.

LDM_USE_IN_MEM_COMPRESSION
Deprecated boolean variable: Use instead the field SoLDMResourceParameters::tileCachePolicy.

IVVR_FIRST_RESERVED_TEXTURE_UNIT
Specifies the range of reserved texture units in VolumeViz for various nodes :

If IVVR_FIRST_RESERVED_TEXTURE_UNIT is not set, its default value is SoFragmentShader::getMaxTextureImageUnit()-SoShaderProgram::getNumReservedTextures(). Note the value returned by SoShaderProgram::getNumReservedTextures() may change between versions and must not be assumed constant. Also note the maximum number of texture units depends on the graphics hardware.

IVVR_ALPHA_THRESHOLD_INTERACTIVE
Used by SoVolumeRender raycasting algorithm. Specifies the cumulative alpha opacity) value at which which the ray stops traversing the volume when INTERACTIVE (for example the user is moving the camera). This value should be >= 0.95 to avoid artifacts and must be < 1. A low value increases rendering speed, especially with very transparent volumes but may create artifacts. See also IVVR_ALPHA_THRESHOLD_STILL. Added in version 9.1. Default is 0.95.

IVVR_ALPHA_THRESHOLD_STILL
Same as IVVR_ALPHA_THRESHOLD_INTERACTIVE but in STILL mode. Default is 0.99.

MESHVIZ_OCTREE_CACHE_CELLBBOX
Affects MeshViz.
Specifies if the cell boundingboxes must be cached when building the octree associated to a mesh. This speeds up the search for cells in the octree when using MoMeshPointProbe, MoMeshGridPlaneSlice and MoMeshStreamline nodes, or pointprobes, gridplaneslice and streamline extractors for all kind of meshes (MiPointProbeUnstructured, MiGridPlaneSliceExtractUnstructured, MiStreamlineExtractUnstructured) except regular and rectilinear that do not use octrees.
The default value is 0 (not cached).

MESHVIZ_OCTREE_MAX_CELL_PER_TILE
Affects MeshViz.
Specifies the maximum number of cells that can be contained in a tile of the octree built when using MoMeshPointProbe, MoMeshGridPlaneSlice and MoMeshStreamline nodes, or pointprobes, gridplaneslice and streamline extractors for all kind of meshes (MiPointProbeUnstructured, MiGridPlaneSliceExtractUnstructured, MiStreamlineExtractUnstructured) except regular and rectilinear that do not use octrees.
The default value is 40.

MESHVIZ_OCTREE_MAX_DEPTH
Affects MeshViz.
Specifies the maximum depth allowed to build the octree associated to a mesh when using MoMeshPointProbe, MoMeshGridPlaneSlice and MoMeshStreamline nodes, or pointprobes, gridplaneslice and streamline extractors for all kind of meshes (MiPointProbeUnstructured, MiGridPlaneSliceExtractUnstructured, MiStreamlineExtractUnstructured) except regular and rectilinear that do not use octrees.
The default value is 6.

MESHVIZ_POLYGON_OFFSET
Affects MoMeshRepresentation.
Specifies if surface representations must be automaticallty offset with a SoPolygonOffset node, to allow line representations on top without artifacts.
However SoPolygonOffset can introduce other artifacts on surfaces when the two-sided lighting mode is active. The default value is TRUE (1).

MESHVIZ_TESSELLATION_MAX_DEPTH
Affects MeshViz.
Specifies the maximum depth allowed while tessellating a non-linear cell using the provided implementations of the MiTessellator interface for extractions from quadratic meshes. This parameter makes the tessellation stop once the specified depth has been reached. This prevents from spending too much time in this process. However, the tolerance given by MiEdgeErrorMetric might be not achieved if the maximum depth is low.
The default value is 10 which leads to a maximum of 2^10 = 1024 resulting edges per tessellated edge.

OIV_3DDATA_CREASE_ANGLE
Default value of the field PoMesh::creaseAngle. Default is 0.0. Set the value to 0.8 for compatibility with MeshViz 5.0 and earlier.

OIV_3DDATA_CROSS_SECTION_METHOD
Affects PoMeshCrossSection.
Specifies the method used for computing a PoMeshCrossSection.

  • INTERSECTION - The cross section is computed like an isosurface.
  • ISOSURFACE - The cross section is computed by doing classic intersections.

Use PoMeshCrossSection::setCrossSectionMethod to specify the cross section computation method programmatically.

OIV_3DDATA_USE_TRIANGLE_STRIP_SET
Affects PoMeshLevelSurf, PoMeshCrossSection.
Specifies the Open Inventor primitive used to draw an isosurface.

  • TRUE (1) - a triangle strip set is used
  • FALSE (0) - an indexed face set is used

PoMeshCrossSection uses this variable only when the cross section method is ISOSURFACE (see OIV_3DDATA_CROSS_SECTION_METHOD).

OIV_ALPHA_TEST
Affects SoGLRenderAction.
Enables or disables the OpenGL alpha test for rendering. Default is 0 (alpha test is disabled).

OIV_AMBIENT_COLOR
Affects SoEnvironment.
Specifies the default color of ambient lighting. The value is specified as three floats (0.0 to 1.0) representing the RGB values of the color. The value can be set programmatically using the SoEnvironment::ambientColor field.

OIV_AMBIENT_INTENSITY
Affects SoEnvironment.
Specifies the default intensity of ambient lighting. The value can be set programmatically using the SoEnvironment::ambientIntensity field.

OIV_ANTIALIASING_DEFAULT_MODE
Force a different antialiasing method when the default mode (AUTO) is used. Default is SMAA. The preference value can be SMAA, FXAA, FSAA or SUPERSAMPLING.

OIV_AUTO_CLIPPING
Affects SoWinViewer, SoQtViewer, SoXtViewer.
Specifies the default auto clipping flag (0=off, 1=on). The auto clipping flag can be set programmatically using the setAutoClipping method of the viewers classes above.

OIV_AUTO_CLIP_TOLERANCE
Affects SoWinViewer, SoQtViewer, SoXtViewer.
Specifies the default auto clip tolerance (a float). The tolerance can be set programmatically using the setAutoClipTolerance method of the viewers classes above.

OIV_AUTO_INTERACTIVE_MODE
Affects SoSceneManager and therefore the viewer classes, e.g. SoWinViewer, SoQtViewer, SoXtViewer.
Specifies the default autoInteractiveMode flag (0=off, 1=on). Default is false. By default only viewer and dragger interaction will switch the rendered scene in interactive complexity mode. When this option is enabled the sceneManager, based on any notification, will make this decision. It is particularly useful for scenes that have a very long rendering time in STILL mode compared to INTERACTIVE mode (often the case with VolumeViz nodes). An application that automatically triggers animation based on a script (camera path) might prefer to disable this mode in order to keep good rendering quality. This mode can also be set :

OIV_BACKGROUND_COLOR
Affects SoSceneManager, SoWinRenderArea, SoXtRenderArea, SoQtRenderArea, SoMPEGRenderer, SoXtMPRenderArea, SoWinMPRenderArea, SoOffscreenRenderArea.
Specifies the default background color. The value is specified as three floats (0.0 to 1.0) representing the RGB values of the color. The background color can be set programmatically using the setBackgroundColor method of the classes above.

OIV_BUFFER_OBJECT_CACHE_SIZE
Deprecated variable (even if it still impacts the LDM tile cache). Default size is 50.

OIV_CAMERA_TYPE
Affects SoQtViewer, SoWinViewer, SoXtViewer.
Specifies what kind of camera the viewer should create if none is provided. By default, a Perspective camera is created. To request an Orthographic camera, specify "o", "O", or "0".

OIV_CGM_HARDCOPY_BUFSIZE
Affects SoVectorizeCGMAction.
Specifies the buffer size in bytes for storing CGM calls before writing them to the disk. The default buffer size is 1048576 bytes (1 megabyte). If set to 1, no buffering is done.

OIV_COLORWHEEL_DBUF [Windows only]
Some displays do not correctly handle the interaction between the hardware cursor and OpenGL drawing in the front buffer. By default the color wheel is single buffered and uses a save/restore scheme when the user drags the "marker". If this produces visual artifacts, try setting this environment variable to force double-buffered rendering.

OIV_COMPAT_24 [Windows only]
If this variable is set to any value, then the Open Inventor 2.4 pixel format selection code is used. Stereo is not possible.

OIV_COMPAT_30
If set to 1, the Open Inventor 3.0 code for handling 2- and 4-component texture images will be used. The 3.0 behavior could reduce performance or produce unexpected results for images that are actually opaque, so it is unlikely you will ever need to set this variable.

OIV_COMPAT_CGM_HARDCOPY_400
Affects SoVectorizeCGMAction.
If set to 1, CGM writing onto disk is not buffered (the buffering is only done by stream data writing of the operating system). This value takes precedence over OIV_CGM_HARDCOPY_BUFSIZE.

OIV_COMPAT_HPGL_HARDCOPY_370
Affects SoVectorizeHPGLAction.
If set to 1, reproduces the (incorrect) HardCopy 3.7 line pattern printing behavior. It is unlikely you will ever need to set this variable.

OIV_COMPAT_CONTEXT_80
Affects the state of the compatibility mode for the contexts.

If set to 0 (default) the actual implementation of SoGLContext will be used to manage the OpenGL contexts.

If set to 1 SoGLContext will call the OpenGL makeCurrent function each time the bind() function is called. The unbind() function won't do anything; this mode provides a way to have a valid context outside any traversal. It's useful when third party APIs do direct OpenGL calls.

If set to 2 the getCurrent() function will check the actual OpenGL state instead of using the SoGLContext managment functions. This will prevent issues related to third party code which could call OpenGL makeCurrent() function instead of using SoGLContexts.

OIV_COMPLEXITY
Affects SoComplexity.
Specifies the default complexity (0.0 to 1.0). The complexity can be set programmatically using the SoComplexity::value field.

OIV_COMPLEXITY_TYPE
Affects SoComplexity.
Specifies the default complexity type. Valid values are OBJECT_SPACE, SCREEN_SPACE, BOUNDING_BOX. The complexity type can be set programmatically using the SoComplexity::type field.

OIV_CONFIG_FILE
Specifies the full path of the configuration file.

OIV_CREASE_ANGLE_FIX
When set, forces FLAT shaded rendering when creaseAngle = 0. Strictly speaking this is the correct behavior (see SoShapeHints), however it is incompatible with the historical behavior of Open Inventor and may change the appearance of geometry in existing applications. Applied only to SoIndexedTriangleStripSet and SoTriangleStripSet nodes.

OIV_CURSOR_STYLE [Windows only]
Specifies the cursor style.

  • 0 Classic
  • 1 XOR
  • 2 Shadow

The cursor can also be controlled programmatically. See SoWinViewer.

OIV_DATABASE_CHECK
If set, OpenInventor will perform advanced checks on database objects during intialization and running steps. This variable only applies to debug compilation mode (_DEBUG preprocessor option). NOTE: This variable is all the most useful for users that develop their own Openinventor nodes. User must be aware that even if helpful, this variable leads to a larger memory usage.

OIV_DEBUG_CONFIG
If set, requests that configuration debug output be generated. NOTE: This configuration parameter must be set in the system environment, not in a configuration file.

OIV_DEBUG_PIXEL_FORMAT [Windows only]
If this variable is set to 1, Open Inventor programs will write a file (named pixel.txt) that indicates which pixel format was chosen.

OIV_DEFAULT_ACTION_USE_ALTERNATEREP
If this variable is set to 1, then all action will ask for a potential alternal representation to traversed node. Default is FALSE.

OIV_DECIMATION_GOAL_FPS
Affects SoWinViewer, SoXtViewer, SoQtViewer.
Specifies the default goal number of frames per second. The value can be set programmatically using the setGoalFramesPerSecond method of the classes above.

OIV_DECIMATION_GOAL_NUM_OF_TRIANGLES
Affects SoWinViewer, SoXtViewer, SoQtViewer.
Specifies the default goal number of triangles. The value can be set programmatically using the setGoalNumberOfTriangles method of the classes above.

OIV_DECIMATION_PERCENTAGE
Affects SoWinViewer, SoXtViewer, SoQtViewer.
Specifies the default decimation percentage. The value can be set programmatically using the setFixedPercentage method of the classes above.

OIV_DISABLE_DRAGGER_CTRL_KEY
Affects SoDragPointDragger, SoHandleBoxDragger, SoTrackballDragger, SoTransformerDragger, SoHandleBoxManip, SoTrackballManip, SoTransformerManip.
If set to 1, when the CTRL key is pressed over the dragger, nothing happens. Otherwise, the CTRL key has its usual behavior, which varies from dragger to dragger.

OIV_DISABLED_GL_EXTENSION_LIST
This variable contains a comma separated list of OpenGL extension names to disable explicitly in software. This is useful when encountering a GPU driver bug, or to check performance impact with or wihout a specific extension. See SoGLExtension or www.opengl.org for a list of extension names.

OIV_DRAW_OCTREE
Affects SoOctreeOrdering.
If this environment variable is set and your application uses an SoOctreeOrdering node, an outline of the octree quadrants will be drawn. This is a debugging aid to allow you to see how your scene is distributed throughout the octree.

OIV_ENABLE_MESA_RENDERING
Must be set to true when using Open Inventor on a computer configured with Mesa rendering capabilities. In this configuration, the rendering is performed with CPU capabilities. Note that in a headless environment, the Open Inventor desktop version must be used for CPU rendering capabilities (i.e. not the headless version). You should also set four environment variables :

  • MESA_GL_VERSION_OVERRIDE=4.6
  • MESA_GLSL_VERSION_OVERRIDE=460
  • LIBGL_ALWAYS_SOFTWARE=true
  • GALLIUM_DRIVER=llvmpipe

OIV_ENABLE_PNG_BACKGROUND
Affects SoPNGImageRW (and texture nodes that load PNG files).
Enables the merge of the background into the displayed image. The background replaces transparent parts of the image.

OIV_ENABLE_INMEMORY_TEXT_FILE
Affects SoInput::readTextFile. If TRUE (the default) SoInput::readTextFile will first check if the requested file has been cached in memory using the SoInput::addInMemoryTextFilefilename call. If FALSE, the file will be read from disk and must be accessible.

OIV_ENVIRONMENT_ATTENUATION
Affects SoEnvironment.
Specifies the default squared, linear, and constant light attenuation coefficients (in that order) with respect to distance of light from surface (for Phong lighting). The values are specified as three floats. The background color can be set programmatically using the SoEnvironment::attenuation field.

OIV_EXTRUSION_EPSILON
Affects SoExtrusion.
If your extrusion appears to twist unexpectedly, try setting this value to a slightly smaller number. The default value is .998.

OIV_FACE_TYPE
Affects SoShapeHints.
Specifies the default face type. Valid values are UNKNOWN, CONVEX. The face type can be set programmatically using the SoShapeHints::faceType field.

OIV_FILE_SEARCH_PATHS
Semi-colon separated path list used to initialize the directory list in SoInput. Most Open Inventor classes that take a file name (for textures, shaders, etc) will search the directories in this list to find the file. Exception: SoDataSet, SoVolumeData and derived classes.

OIV_FOG_COLOR
Affects SoEnvironment.
Specifies the default fog color. The value is specified as three floats (0.0 to 1.0) representing the RGB values of the color. The value can be set programmatically using the SoEnvironment::fogColor field.

OIV_FOG_TYPE
Affects SoEnvironment.
Specifies the default fog type. Valid values are: NONE, HAZE, FOG, SMOKE. The value can be set programmatically using the SoEnvironment::fogType field.

OIV_FOG_VISIBILITY
Affects SoEnvironment.
Specifies the default distance at which fog totally obscures objects. The value can be set programmatically using the SoEnvironment::fogVisibility field.

OIV_FONT_NAME
Affects SoFont.
Specifies the default font name. The value can be set programmatically using the SoFont::name field.

OIV_FONT_PATH
Contains a colon-separated or semicolon-separated list of directories to search for font definition files. NOTE: This item cannot be set via SoPreferences or a configuration file. It must be set in the environment (e.g., using setenv). See SoFont for more information.

OIV_FONT_SIZE
Affects SoFont.
Specifies the default font size. The value can be set programmatically using the SoFont::size field.

OIV_FONT_RENDERSTYLE
Affects SoFont.
Specifies the default font render style. Valid values are POLYGON, TEXTURE, POLYGON_AND_OUTLINE. The value can be set programmatically using the SoFont::renderStyle field.

OIV_FORCE_PIXEL_FORMAT [Windows only]
If this environment variable is set to a positive integer, Open Inventor will try to use it as the pixel format. You can list the available pixel formats with the "oglinfo" utility that is provided with the Open Inventor for Windows SDK. To request a pixel format programmatically, use the setPixelFormat method of SoWinGLWidget.

The following special values are provided for your convenience:

  • -1 Choose a pixel format without hardware acceleration (if any). This is convenient for helping to determine if a problem is due to hardware acceleration, i.e., if the problem lies in the OpenGL driver or the board hardware.
  • -2 Choose the "minimal" pixel format. By default Open Inventor will choose the pixel format with the most capabilities, including stencil buffer, accumulation buffer, etc. On low-end boards it may be possible to get better performance using the pixel format with the least capabilities. Acceleration is still selected.
  • -3 Choose the "minimal" pixel format without hardware acceleration.

OIV_FORCE_TEX_COORD_SENDING
Affects shapes derived from SoVertexShape, and only affects user-specified texture coordinates. If set to 1 (TRUE), forces the sending of texture coordinates to the OpenGL pipeline without having a texture bound to the corresponding texture unit. This is useful when working with programmable shaders. Default is 0 (FALSE). The value can be set programmatically using the SoTextureCoordinate2::forceSending field or the SoTextureCoordinate3::forceSending field.

OIV_FORCE_USE_VBO
Affects the SoShapeHints::useVBO default value. Since Open Inventor 8.1 the default value for SoShapeHints::useVBO is TRUE (1), using this variable, you can force back it to FALSE (0). Despite the name, this environment variable just sets the default value for the useVBO field of SoShapeHints nodes created by the application. The default is true. Setting the variable to true or false does not guarantee VBOs will (or will not) be used, because the application might set the useVBO field on some instances of SoShapeHints.

OIV_FREETYPE_NAME
Affects SoDynamicLibManager.
Allows you to use your own Freetype dynamic library. Do not add the suffix. Do not add the "lib" prefix on UNIX systems. Do not add the final "D" used in the debug name. Default is "fei_freetype".

OIV_FULL_RENDER_WHEN_STILL
Affects SoWinViewer, SoQtViewer, SoXtViewer.
Specifies if the viewer will be default render at full resolution when it sits still for a certain period of time. (0=no, 1=yes). This flag can be set programmatically using the enableFullRenderingWhenStill method of the viewers classes above.

OIV_FULL_SCENE_ANTIALIASING
Affects SoFullSceneAntialiasing.
Specifies whether full scene antialiasing (if already enabled) will be applied to subsequent shapes (0=no, 1=yes). The value can be set programmatically using the SoFullSceneAntialiasing::on field. See SoFullSceneAntialiasing for information on enabling full scene antialiasing.

OIV_FULL_SCENE_ANTIALIASING_FILTER
Affects SoFullSceneAntialiasing.
Specifies which kinds of primitives should be antialiased when full scene antialiasing is enabled. Valid values are ALL or any combination of LINES, POINTS, POLYGONS, and TEXT. The value can be set programmatically using the SoFullSceneAntialiasing::filter field. See SoFullSceneAntialiasing for complete details.

OIV_GL_SMOOTHING
Affects SoGLRenderAction.
Specifies the default smoothing flag (0=no smooth, 1=smooth). The smoothing flag can be set programmatically using SoGLRenderAction::setSmoothing.

OIV_SET_RAY_PRECISION
Affects SoRayPickAction when defining a ray using the setRay method
Specify (in radius) the value of fovy angle defined by the ray. If not set, the default value is set to 0.0003F

OIV_GLSL_DEBUG
Affects SoShaderObject (and derived classes).
Enables display of output generated by the GLSL compiler of the graphics display driver. If not set to TRUE (1), no trace output is generated.

OIV_HC_BLACK_AND_WHITE
Affects subclasses of SoVectorizeAction (HardCopy extension). Force all non-white colors to full black. This is useful because selecting "black & white" in the printer setup dialog normally produces gray scale rendering and some colors may be difficult to see. This option is applied after color translation (e.g. REVERSE_ONLY_BLACK_AND_WHITE).

OIV_HCGDI_APPCONTROL
Affects SoVectorizeGDIAction (HardCopy extension). When this variable is non-zero, the application is responsible for calling StartDoc, StartPage, EndPage and EndDoc to manage the printer. There are two modes, depending on the value of OIV_HCGDI_APPCONTROL:

  • 1 : This is the most flexible mode. The application is responsible for setting the map mode, logical to device mapping, etc. (in addition to managing the printer). This mode is normally used in an MFC application.
  • 2 : This is the most convenient mode if you only need to manage the printer. SoVectorizeGDIAction will set up the mapping as usual. This mode is only available in Open Inventor 7.2 and higher.

OIV_HCGDI_EDGE_WIDTH
Affects SoVectorizeGDIAction (HardCopy extension). Default is to draw a minimum width line for polygon edges. In most cases this is enough to prevent small triangles from disappearing. If > 0, this value is a scale factor applied to the "nominalWidth" (effectively same as SoDrawStyle::lineWidth). This value is fetched in the constructor so it must be set before creating an SoVectorizeGDIAction.

OIV_HCGDI_POLYGON_COMPAT
Affects SoVectorizeGDIAction (HardCopy extension). Before Open Inventor 8.5.1.2 the action only used a "brush" (no pen) to render GDI polygons. In this case GDI only draws the "interior" of the polygon, so very small polygons could disappear completely because GDI determined that no part of the interior was visible. Although it's unlikely to be needed, this variable allows returning to the pre-8.5.1.2 behavior.

OIVHOME
Specifies the path of the Open Inventor installation directory. Open Inventor may search for the stroke font files as well as pattern files in subdirectories of OIVHOME.

OIVARCH
Specifies the directory that contains all architecture dependent files.
In a standard installation this directory is under the $OIVHOME directory and has subdirectories such as "bin" and "lib". For example: arch-Windows-x86_64-msvc9-Debug contains files for a 64-bit Windows debug build using Visual Studio 2008 (VC++ 9). Open Inventor uses this environment variable for:

  • Finding license files (in $OIVHOME/$OIVARCH/License)
  • Finding libraries to load dynamicly at runtime (in $OIVHOME/$OIVARCH/bin or lib)
  • Finding programs to launch dynamicly (in $OIVHOME/$OIVARCH/bin)

OIV_INTERACTIVE_DRAW_STYLE
Affects SoWinViewer, SoQtViewer, SoXtViewer.
Specifies the default interactive draw style. Valid values are: VIEW_AS_IS, VIEW_HIDDEN_LINE, VIEW_NO_TEXTURE, VIEW_LOW_COMPLEXITY, VIEW_LINE, VIEW_POINT, VIEW_BBOX, VIEW_LOW_RES_LINE, VIEW_LOW_RES_POINT, VIEW_SAME_AS_STILL. The interactive draw style can be set programmatically using the setDrawStyle method of the viewers classes above.

OIV_INTERSECT_EPSILON
Specifies the epsilon value against which the area of a triangle is checked to eliminate triangles with no area when picking. It allows you to pick objects that have very small coordinate values. Set the value to approximately 10 raised to three times the exponent of the object coordinates. Example: For objects with coordinates of approximately 10E-7, a value of 10E-21 would allow the objects to be picked.

OIV_IVTUNE_CONFIGURATION_FILE
Specifies the path where IvTune will look for the configuration file to load. Default is "$OIVHOME/data/IvTune/IvtConfiguration.xml"

OIV_IVTUNE_SHORTCUT
Controls the keyboard shortcut used for activating IvTune.
The shortcut is composed of [SHIFT] followed by a second key. Use this environment variable to specify the value of the second key, chosen from the SoKeyboardEvent::Key enum. You can also set IvTune activation shortcut programmatically using the SoIvTune::setShortCutValue() method. Default is 0xFFC9 [F12], which corresponds to a shortcut of [SHIFT] + [F12].

OIV_LD_LIBRARY_PATH
Affects SoDynamicLibManager.
Specifies a single path in which to search for a dynamic library to be loaded. Other paths may be searched as well. See SoDynamicLibManager for details.

OIV_LIBJPEG_NAME
Affects SoDynamicLibManager.
Allows you to use your own libJpeg dynamic library. Do not add the suffix. Do not add the "lib" prefix on UNIX systems. Do not add the final "D" used in the debug name. Default is "fei_libjpeg".

OIV_LIBPROJ4_NAME
Affects SoDynamicLibManager.
Allows you to use your own libProj4 dynamic library. Do not add the suffix. Do not add the "lib" prefix on UNIX systems. Do not add the final "D" used in the debug name. Default is "fei_proj4".

OIV_LICENSE_DEBUG
Specifies the name of the file to which license debug information will be written. If not set, license debug info is not generated.

OIV_LICENSE_FILE
Specifies the full path of the file containing the VSG license strings for Open Inventor and its extensions. Open Inventor searches for a valid password in the following locations: internal unlock string (see SoLockManager), the system registry (Windows only, see Ladmin.htm), OIV_LICENSE_FILE, $OIVHOME/license/password.dat, and password.dat in the current directory.

OIV_LINE_WIDTH
If defined, forces Open Inventor to use line width 1. no matter what line width the program requests. (This was used to improve performance on a system that had notoriously slow wide lines.)

OIV_LOWRESHIGHPERCENT
Affects Remote Rendering.
This variable specifies the rendered image size as a percentage of the actual window size in the normal case. The default is 1.0 (full size).

OIV_LOWRESLOWPERCENT
Affects Remote Rendering.
This variable specifies the rendered image size as a percentage of the actual window size when the Open Inventor viewer is in "Move as Low-Res" mode. The default is 0.7 (70 percent).

OIV_LOWRESRENDER
Affects Remote Rendering.
If this variable is defined and the target display (local machine) supports OpenGL, then low resolution rendering is enabled. No change to the application is required.

OIV_MATERIALS_PATH [UNIX only]
Affects SoMaterialEditor.
Specifies the path where the material palette will look for materials.

OIV_MAX_ANNO_RENDER2D_SIZE
Affects SoAnnoText3.
Specifies the maximum font size (in pixels) used in font size computed when SoAnnoText3::renderPrintType field is equal to RENDER2D_PRINT_RASTER. The default maximum value is 1000. If you notice a performance issue when rendering and zooming a scene graph containing many SoAnnoText3 nodes, setting this value to a smaller number, such as 64, may improve performance.

OIV_MAX_FONT_CACHES
Specifies the maximum number of caches that can be used during text computation. Default value is 20; See SoFont for details.

OIV_MAX_SHADOWMAP_SIZE
Specifies the maximum size of the shadowmap used for shadows in SoShadowGroup. This is used to prevent huge textures allocation on some hardware which can take a couple of minutes. Default value is 4096; See So for details.

OIV_MAX_VARIANCE_SHADOWMAP_SIZE
Specifies the maximum size of the variance shadowmap used for shadows in SoShadowGroup. This allows to use a different texture size when variance shadows are used. Default value is 4096; See So for details.

OIV_MAX_TEXTURED_FONT_RES
Specifies the maximum resolution used when generating textured glyph during text computation. (SoFont::renderStyle field must be set to TEXTURE.) The amount of memory used in textured text depends on this value. Default value is 600.

OIV_MIN_TEXTURED_FONT_RES
Specifies the minimum resolution used when generating textured glyph during text computation. (SoFont::renderStyle field must be set to TEXTURE.) The amount of memory used in textured text depends on this value. Default value is 300.

OIV_MIN_VERTEX_VAVBO_NOCACHE
Shapes using VBO or VA will deactivate caching if they contain at least OIV_MIN_VERTEX_VAVBO_NOCACHE vertices. Default value is 10000. In general, render caches (display lists) improve rendering performance for small(ish) shapes because the graphics driver will automatically optimize the geometry. And render caches are valuable because they reduce CPU overhead by avoiding traversal of the cached sub-scene graph. However if a large shape can be rendered using vertex arrays or VBOs, then the render performance probably will not be improved by including the shape in a render cache. (The reduced CPU overhead advantage of the render cache might still be useful in some cases. This environment variable basically allows you to specify the threshold number of vertices that defines a "large shape". If a render cache is already open (being built) when the shape is traversed, and the number of vertices is less than this value, then the shape will not use VA/VBO. Conversely, if no render cache is being built when the shape is traversed, and the number of vertices is greater than or equal to this value, then the shape will be rendered using VA/VBO (if possible) and render caching will not be allowed for the current SoSeparator. The default value is 10000 vertices. The application should be aware that Separators containing large shapes may not build a render cache and arrange the scene graph so that other shapes can be render cached. See SoVertexShape.
NOTE: This variable must be set before Open Inventor is initialized.

OIV_MIN_VERTEX_VBO
Shapes should use Vertex Buffer Object (VBO) if they contain at least OIV_MIN_VERTEX_VBO vertices. Default value is 0. For small shapes (i.e. a small number of vertices) it might be more efficient to use vertex arrays but not VBOs. This environment variable allows you to specify the minimum number of vertices that a shape must have in order to render using VBOs. The default is 0, meaning that all shapes are allowed to use VBOs. You can also disable VBOs for a specific shape, or group of shapes, using the SoShapeHints useVBO field. See SoVertexShape.
NOTE: This variable must be set before Open Inventor is initialized.

OIV_MOUSE_WHEEL_ENABLE
Affects SoWin, SoQt.
Allows you to use the mouse wheel to zoom or dolly the camera when using the Open Inventor viewers (examiner, walk, etc.). The mouse wheel has the same kind of camera movement as the right thumbwheel – dolly or zoom – depending on the viewer type and camera type. Default is TRUE (1). The value can be set programmatically using the enableMouseWheelDolly method of SoWinViewer or SoQtViewer.

OIV_MULTITEXTURING
Enables/disables multitexturing support.

  • 0 multitexturing support disabled
  • 1 multitexturing support enabled

If OIV_MULTITEXTURING is not defined, multitexturing support is enabled (if your graphics board supports it). Setting this variable to 0 is equivalent to maxTextureUnit equal 1. See SoTextureUnit for details.

OIV_NO_FBO
Set to 1 to disallow use of OpenGL Frame Buffer Object. Default is 0.

OIV_NO_FLEXNET
Set to 1 to disallow FLEXnet licensing checking. Default is 0.

OIV_NO_IVTUNE
Affects IvTune activation.
If set to 1, disallows interactive activation of an IvTune window from an Open Inventor application. You can also allow/disallow IvTune activation programmatically using the SoDB::setIvTuneAllowed() method. Default is 0.

OIV_NO_SHADER_LAYERS_BLEND
Disable the use of fragment shaders when using transparency type SoGLRenderAction::SORTED_PIXEL.

OIV_NORMGEN_COMPAT
If set, Open Inventor will use the pre-version 3.1 algorithm for computing normals. This algorithm has very bad performance when the geometry bounding box is asymmetrical. It is not likely you will ever need to set this variable.

OIV_NORMGEN_TOLERANCE
Sets the "tolerance factor" used to test for coincident vertices when computing vertex normal vectors for a geometric primitive. A larger value for OIV_NORMGEN_TOLERANCE results in fewer vertices being considered coincident. This can significantly reduce the time required to compute normal vectors for large geometry, for example MeshViz meshes. The default value is 1000000.

OIV_NUM_RENDER_PASSES
Affects SoGLRenderAction.
Specifies the default number of render passes. Must be an integer greater than 1. The number of passes can be set programmatically using SoGLRenderAction::numPasses.

OIV_NUM_SORTED_LAYERS_PASSES
Affects SoGLRenderAction.
When SORTED_PIXEL transparency is used, this variable specifies either:

  • the default number of render passes in the case of software implementation (depth peeling)
  • the number of render layers in the case of hardware implementation (single-pass k-buffer algorithm)

Must be an integer greater than 1. The value can be set programmatically using SoGLRenderAction::setSortedLayersNumPasses.

OIV_NURBS_FIX_TRIM_CONNECTIONS
In some cases, trimming curves are not properly connected in a trimming loop. This may result in bad tesselations of NURBS surfaces when using the CONSTANT tessellationType of the NurbsProperty node (the default mode). When this mode is activated, the NURBS tesselation algorithm tries to reconnect trimming curves. Set to 0 to disable this mode. Default is 1.

OIV_NURBS_FORCE_GLU_CONVEXISATION
When set to 1, always use the GLU polygon tesselation instead of the internal one. Before version 7.2, the default behavior was to use the internal tesselation. Sometimes, the result produced by this internal tesselation was wrong when using the CONSTANT tessellationType of the NurbsProperty node (the default mode). Set to 0 to revert to the internal tesselation mode. Default is 1.

OIV_NURBS_CHECK_RATIONAL_TRIM_OUTSIDE_DOMAIN
When set to 0, do not try to limit the values of homogeneous trimming curves coordinates to the boundaries of the NURBS domain. Sometimes, trimming curve points can be defined outside the domain but their tesselated counterparts may lie inside the domain for "heavy" weights. Notice that this test is always performed for non rational coordinates since it is invalid to define trimming curves lying outside the domain. Default is 1: the test is performed.

OIV_OIT_DEFAULT_MODE
Select a specific method used to perform Order Independent Transparency The preference value can be AUTO (default), ABUFFER, KBUFFER, DUALPASS_KBUFFER or DEPTH_PEELING.

  • AUTO will try to select the best method based on hardware support and memory needed
  • KBUFFER is single pass but has a memory overhead and needs a proprietary extension from Nvidia
  • DUALPASS_KBUFFER is dual pass and needs OpenGL 4.2 hardware
  • DEPTH_PEELING is the slowest but runs on essentially all hardware
  • ABUFFER is fast but has a memory overhead and can exhibit rendering artifacts so it is not recommended

If your hardware doesn't support the selected method, it will fall back to a less advanced one.

OIV_OLD_ERROR_HANDLER
Due to a Windows programming limitation, the error console (SoConsole) is not useable in multi-threaded applications. This environment variable allows you to use the older (Open Inventor 3.1 and earlier) error message handler instead.

OIV_PBUFFER_DEBUG
Affects SoPBuffer.
Set to 1 to enable debug trace output for Pbuffers.

See also OIV_PBUFFER_ENABLE.

OIV_PBUFFER_ENABLE
Affects SoPBuffer. Set to zero to disallow use of Pbuffers.

Note: If Pbuffers are disallowed, OpenGL does rendering in software. This gives low performance and OpenGL extensions will often not be available. In general the image may not match the on-screen image simply because a different renderer is being used. However, the lack of OpenGL extensions can cause the offscreen image to differ signficantly. Following are some of the features that depend on OpenGL extensions: Open Inventor correct transparency, VolumeViz 3D textures and shadowing.

OIV_PERFCOUNTER_ENABLE
Enable or not the SoPerfCounterManager performance counters manager. By default it is disabled.

OIV_PFD_SUPPORT_COMPOSITION
Specifies if the composition with Aero (Windows Vista and 7) is on or off (0= force off, 1= force on). By default OpenInventor will try to use composition. Note that if you turn it on, PFD_SUPPORT_GDI is unset which will prevent using GDI on the OpenGL render area. Also if you force the composition to off and the device doesn't provide any pixel format with GDI support, OpenInventor will post an error. Note also that it has no effect on SoQt viewers.

OIV_PFD_SUPPORT_GDI
Specifies if the GDI support with Aero (Windows Vista and 7) is on or off (0= force off, 1= force on). By default OpenInventor will try to use composition. (See OIV_PFD_SUPPORT_COMPOSITION) GDI support and composition support are exclusive. OIV_PFD_SUPPORT_GDI is preponderant on OIV_PFD_SUPPORT_COMPOSITION, meaning that if both are defined, GDI support is choosen first.

OIV_PICK_GENERATE_ALL_PROPERTIES
Affects SoRayPickAction. Set this variable to true to enable computation of all properties (normal vector, texture coordinates, etc) during pick traversal. Default is FALSE.

OIV_PLUGINS_DIRECTORY
Specifies an additional directory to search for Open Inventor plugins. See SoDB::addPlugin(). Default additional directory is empty.

OIV_POINT_SET_USE_VERTEX_ORDERING
Affects SoPointSet.
Specifies if point sets use the vertex ordering on the state. Valid values are 0 (FALSE) or 1 (TRUE). Default is FALSE.

OIV_POLYGON_OFFSET
Affects SoPolygonOffset.
Specifies if the polygon offset computation is on by default (0=no, 1=yes) The value can be set programmatically using the SoPolygonOffset::on field.

OIV_POLYGON_OFFSET_FACTOR
Affects SoPolygonOffset.
Specifies the default polygon offset factor. The value can be set programmatically using the SoPolygonOffset::factor field.

OIV_POLYGON_OFFSET_STYLES
Affects SoPolygonOffset.
Specifies the default polygon offset styles. Valid values are FILLED, LINES, POINTS. The value can be set programmatically using the SoPolygonOffset::styles field.

OIV_POLYGON_OFFSET_UNITS
Affects SoPolygonOffset.
Specifies the default polygon offset units. The value can be set programmatically using the SoPolygonOffset::units field.

OIV_QT_TIMER_THREAD
Affects SoQt viewers.
If set to 1, specifies that a separate thread should be used to signal the delay sensor timeout.

When mouse events are continuously caught by the event callback , the Qt viewers may not update the scene as often as necessary. Because of the way that Qt's QTimer class works, the timeout for processing the delay queue does not always occur, and the scene is not updated. If the OIV_QT_TIMER_THREAD is set to 1, a separate thread is used to signal the delay sensor timeout. To avoid possible compatibility problems, the default is to use the existing QTimer mechanism for processing the delay queue timeout.

OIV_REMOTERENDER

  • ON - Always use remote rendering
  • OFF - Never use remote rendering
  • AUTO (default) - Use if remote display does not have GLX

See also OIV_REMOTERENDER_BUFFER, OIV_REMOTERENDER_DISPLAY, OIV_LOWRESRENDER, OIV_LOWRESHIGHPERCENT.

OIV_REMOTERENDER_BUFFER

  • PBUFFER - Use an OpenGL Pbuffer for rendering (Default). Allows accelerated off-screen rendering. If not available, use a Pixmap.
  • PIXMAP - Use a Pixmap for rendering. (Was the default value prior to version 3.1)
  • SCREEN - Use an on-screen window for rendering. Generally provides best performance, but user must have exclusive use of screen to avoid the window being overlapped by other windows.

OIV_REMOTERENDER_DEBUG
Debug info is enabled when set to "1".

OIV_REMOTERENDER_DISPLAY
Set this to the local X display string. The default is ":0.0". Set to ":0.1" to use the second pipe and so on (if any).

OIV_REMOTERENDER_RGB_BGR
This variable allows to get the right colors with TightVNC.

OIV_REPORT_ZERO_VECTORS
Applies only to the Open Inventor debug libraries.
If set to 0, disables reporting of zero length vectors, specifically direction vectors computed by certain interactive features, e.g., draggers.

OIV_REQUIRE_STENCIL <int>
Provides a strong hint that an OpenGL stencil buffer is required for correct rendering. The integer value is the requested stencil buffer depth (default is 1). On Windows, a pixel format that has a stencil buffer will be chosen even if it is not accelerated.

OIV_SEEK_TIME
Affects SoWinViewer, SoQtViewer, SoXtViewer.
Specifies the default seek time (seconds). The seek time can be set programmatically using the setSeekTime method of the viewers classes above.

OIV_SEEK_MODIFY_ORTHOGRAPHIC_CAMERA_ORIENTATION
Affects SoWinViewer, SoQtViewer, SoXtViewer.
Specifies if the seek modifies the orientation of orthographic cameras.

  • TRUE : Compatibility behavior, the seek can modify camera orientation
  • FALSE : Seek with a blocked camera orientation but with a zoom Default value : TRUE

OIV_SEPARATE_SPECULAR_SUPPORT
Enables the use of the GL_EXT_separate_specular extension in OpenInventor. The default value is FALSE

OIV_SHADER_CHECK_INTERVAL
Affects SoShaderObject.
Specifies how frequently the shader source file is checked for a change (in seconds). This allows you to edit a shader without needing to restart your application after each shader modification.

OIV_SHADOW_TEXTURE_UNIT0
SoShadowGroup reserves texture unit OIV_SHADOW_TEXTURE_UNIT0 and OIV_SHADOW_TEXTURE_UNIT1 for its rendering. If these values are not set, texture units 1 and 2 are used. These values can't be greater than 3.

OIV_SHADOW_TEXTURE_UNIT1
SoShadowGroup reserves texture unit OIV_SHADOW_TEXTURE_UNIT0 and OIV_SHADOW_TEXTURE_UNIT1 for its rendering. If these values are not set, texture units 1 and 2 are used. These values can't be greater than 3.

OIV_SHAPE_TYPE
Affects SoShapeHints.
Specifies the default shape type. Valid values are UNKNOWN, SOLID. The shape type can be set programmatically using the SoShapeHints::shapeType field.

OIV_SHARE_LISTS
Specifies what kind of OpenGL display list sharing is allowed.

  • 0 Disable display list sharing (same behavior as v2.6 and older)
  • 1 Conservative sharing (not available on Unix)
    Only add context to a share group containing contexts with the same pixel format. This is the "official" limitation per the Microsoft documentation, but is very limiting.
  • 2 Aggressive sharing (default)
    Add context to the first share group that OpenGL says we can share with. This may allow us to share between contexts with different pixel formats, which is valuable for single vs. double buffered, stereo vs mono, etc.

OIV_SORTED_LAYERS_TEXTURE_UNIT
If set, the SORTED_PIXEL transparency type will use this texture unit internally instead of SoFragmentShader::getMaxTextureImageUnit()-1.

OIV_STEREO_ACTIVE
Affects SoQtViewer, SoStereoViewer, SoWinMPRenderArea, SoWinViewer, SoXtMPRenderArea, SoXtViewer.
Specifies the default stereo viewing status. Valid values are 0 or 1 (inactive or active). The value can be set programmatically using the setStereoActive method of the classes above.

OIV_STEREO_BALANCE
Affects SoQtViewer, SoStereoViewer, SoWinMPRenderArea, SoWinViewer, SoXtMPRenderArea, SoXtViewer.
Specifies the default stereo balance (the position of the zero parallax plane). The value is specified as a float. The value can be set programmatically using the setStereoBalance method of the classes above.

OIV_STEREO_BALANCE_NEAR_FRAC
Affects SoQtViewer, SoStereoViewer, SoWinMPRenderArea, SoWinViewer, SoXtMPRenderArea, SoXtViewer.
Specifies whether the default stereo balance (the position of the zero parallax plane) is defined as a fraction of the camera near distance, or not. The value is specified as a boolean. The value can be set programmatically using the setStereoBalance method of the classes above.

OIV_STEREO_GREENSHIFT
Affects SoInterlacedStereo.
Enables the "green shift" operation. This is an image post-processing operation required for stereo on a Sharp 3D LCD display. It is only meaningful when the stereo format is vertical interlaced (fast or best).

OIV_STEREO_OFFSET
Affects SoQtViewer, SoStereoViewer, SoWinMPRenderArea, SoWinViewer, SoXtMPRenderArea, SoXtViewer.
Specifies the default stereo offset. The value is specified as a float. The value can be set programmatically using the setStereoOffset method of the classes above.

OIV_STEREO_TESTPATTERN
Affects SoQtViewer, SoStereoViewer, SoWinMPRenderArea, SoWinViewer, SoXtMPRenderArea, SoXtViewer.
When stereo is enabled, displays a stereo text pattern on top of the scene (it's probably best not to have anything else in the scene). It displays a blue rectangle which should be visible only to the left eye and a red rectangle which should be visible only to the right eye. This allows you to confirm the display is actually doing stereo and that the left/right eye images are displayed in the correct order. The default value is FALSE.

OIV_STEREO_TYPE
Affects SoQtViewer, SoStereoViewer, SoWinMPRenderArea, SoWinViewer, SoXtMPRenderArea, SoXtViewer.
Specifies the default stereo viewer type. Valid values are ANAGLYPH_RED_CYAN, ANAGLYPH_GREEN_MAGENTA, ANAGLYPH_BLUE_YELLOW, HALF_SCREEN_OVERUNDER_FILL, HALF_SCREEN_OVERUNDER, HALF_SCREEN_SIDEBYSIDE_FILL, HALF_SCREEN_SIDEBYSIDE, INTERLACED_HORIZONTAL_BEST, INTERLACED_VERTICAL_BEST, INTERLACED_HORIZONTAL_FAST, INTERLACED_VERTICAL_FAST, RAW. The value can be set programmatically using the setStereoViewType method of the classes above.

OIV_STILL_DRAW_STYLE
Affects SoWinViewer, SoQtViewer, SoXtViewer.
Specifies the default still draw style. Valid values are: VIEW_AS_IS, VIEW_HIDDEN_LINE, VIEW_NO_TEXTURE, VIEW_LOW_COMPLEXITY, VIEW_LINE, VIEW_POINT, VIEW_BBOX, VIEW_LOW_RES_LINE, VIEW_LOW_RES_POINT. The still draw style can be set programmatically using the setDrawStyle method of the viewers classes above.

OIV_STROKE_FONT_PATH
Specifies the path of the directory containing the VSG stroke font data files. See SoFont for information on the stroke font files.

OIV_SYNC_QTWIDGET_FIRSTRENDER
Affects SoQtViewer.
Works only with Qt Legacy Viewers (SoQtGLWidget, SoQtViewer, SoQtRenderArea ...).
In case of multiple Qt viewers, this preference synchronizes the first OpenGL render allowing to display them all at the same time. Default is false.

OIV_TEXT_ACCUMULATION
Enables or disables 'accumulation rendering' mode for SoText3 nodes. Default is false. See SoTextProperty enableTextAccumulation field.

OIV_TEXT_ALIASING_FACTOR
Sets the default aliasing factor for textured text rendering. See SoTextProperty for information on text rendering options.

OIV_TEXT_ALIGNMENTH
Sets the default text horizontal alignment. See SoTextProperty for information on text rendering options.

OIV_TEXT_ALIGNMENTV
Sets the default text vertical alignment. See SoTextProperty for information on text rendering options.

OIV_TEXT_BACKFRAMELINE_WIDTH
Sets the default backFrame line width. See SoTextProperty for information on text rendering options.

OIV_TEXT_MARGIN
Sets the default text margin. See SoTextProperty for information on text rendering options.

OIV_TEXT_ORIENTATION
Sets the default text orientation. See SoTextProperty for information on text rendering options.

OIV_STREAM_BUFFERS_NUMBER
Specifies the number of buffers used for the asynchronous file reading.

OIV_STREAM_BUFFERS_SIZE
Specifies the size of the buffers used for the asynchronous file reading.

OIV_TEXTURE_BORDER_CLAMP_ENABLE
Affects SoShadowGroup.

Some shadowing problems (performance issues or no computation of shadows) have been observed with some OpenGL drivers due to the Texture Border Clamp OpenGL extension. Set this environment variable to to 0 to disable use of this extension if necessary.

OIV_TEXTURE_QUALITY
Affects SoComplexity.
Specifies the default texture quality (0.0 to 1.0). The texture quality can be set programmatically using the SoComplexity::textureQuality field.

OIV_TRACKER_DIRECT_MODE
Affects SoDragger.
Specifies the tracker direct mode. Valid values are: NONE, MOVE, ROTATE, FREE, DEFAULT. The tracker direct mode can be set programmatically using SoDragger::setTrackerDirectMode.

OIV_TRANSPARENCY_TYPE
Affects SoGLRenderAction.
Specifies the default transparency type. Valid values are: NO_TRANSPARENCY, NO_SORT, OPAQUE_FIRST, SORTED_OBJECT or SORTED_PIXEL. The transparency type can be set programmatically using GLRenderAction::transparencyType, please refer to this class documentation for more information on these values. Default is NO_SORT.

OIV_USE_GLOBALFIELD_TIME
Affects Open Inventor applications that use CAVELib.
If set to 1, SoDB::getCurrentTime() will return the current time based on the global "realTime" field which the CAVELib application can set to Cave Time before each frame. Default is 0.

OIV_USE_HEADLIGHT
Affects SoWinViewer, SoQtViewer, SoXtViewer.
Specifies if the headlight is on by default (0=no, 1=yes) The headlight state can be set programmatically using the setHeadlight method of the classes above.

OIV_USE_NPOT
Affects SoExtTexture2, SoTexture2, SoTextureCubeMap (and derived classes)
By default, if your graphics board supports the OpenGL extension ARB_texture_non_power_of_two, Open Inventor will pass non-power-of-two textures directly to OpenGL. To disable this behavior, set this configuration parameter to 0. In this case the image will be scaled up or down to the next power of 2. Default is 1.

OIV_USE_OIVS
Uses either IvTune or Open Inventor Studio in SoIvTune class.
Specifies whether IvTune or Open Inventor Studio is launched by the hotkey (Shift-F12 by default) or with the SoIvTune::start() method: IvTune is launched if OIV_USE_OIVS is 0, otherwise Open Inventor Studio is launched. Default is 0.

OIV_USE_OOB
Affects SoShape (and derived classes)
By default, Open Inventor use Axis Aligned Bounding Box (AABB). set this configuration parameter to 1, Object Oriented Bounding (OOB) will be used whenever possible. Using OOB provides better selection mechanism for culling, picking and collision detection at the cost of higher CPU usage. Default is 0.

OIV_USER_LIBS
Defines a semi-colon separated list of shared libraries (UNIX) or DLLs (Windows) that contain custom nodes to be loaded. Items in list can be full paths, relative paths, library name with or without extension. When using single library name, Open Inventor will search for them in various directories as described in SoDynamicLibManager.

OIV_VERTEX_ATTRIBS
Affects SoVertexShaderParameter and its derived classes. If set to 0, vertex shader attributes are ignored. Default is 1.

OIV_VERTEX_ORDERING
Affects SoShapeHints.
Specifies the default vertex ordering. Valid values are UNKNOWN, CLOCKWISE, COUNTERCLOCKWISE. The vertex ordering can be set programmatically using the SoShapeHints::vertexOrdering field.

OIV_VIEWER_ANIMATION
Affects SoWinExaminerViewer, SoQtExaminerViewer, SoXtExaminerViewer.
Specifies if animation is enabled by default (0=off, 1=on). The animation flag can be set programmatically using the setAnimationEnabled method of the viewers classes above.

OIV_VIEWER_DECORATION
Affects SoWinFullViewer, SoQtFullViewer, SoXtFullViewer.
Specifies if decorations are on or off by default (0=off, 1=on). Decorations can be enabled/disabled programmatically using the setDecoration method of the viewers classes above.

OIV_VIEWER_POPUP_MENU
Affects SoWinFullViewer, SoQtFullViewer, SoXtFullViewer.
Specifies if the popup menu is enabled by default (0=off, 1=on). The popup menu can be enabled/disabled programmatically using the setPopupMenuEnabled method of the viewers classes above.

OIV_VIEWER_SIZE
Affects all SoXXXFullViewer (and derived) classes, including SoWinFullViewer, SoQtFullViewer, SoXtFullViewer, SoXtMPFullViewer and SoWinMPFullViewer.
Specifies the default size of the viewer window in pixels. Default since Open Inventor 8.1 is 800x600 (previously was 400x400).

OIV_VIEWER_SHOW_RECORD_ENTRY
Affects SoWinFullViewer, SoQtFullViewer, SoXtFullViewer.
Specifies if the "Record" (MPEG) entry is available in the popup menu. This entry is available by default (0=off, 1=on).

OIV_VIEWER_SHOW_FSAA_ENTRY
Affects SoWinFullViewer, SoQtFullViewer, SoXtFullViewer.
Specifies if the "Full Scene AntiAliasing" entry is available in the popup menu. This entry is available by default (0=off, 1=on).

OIV_VIEWER_SHOW_STEREO_ENTRY
Affects SoWinFullViewer, SoQtFullViewer, SoXtFullViewer.
Specifies if the "Stereo" entry is available in the popup menu. This entry is available by default (0=off, 1=on).

OIV_WHEEL_DELTA
Affects SoMouseWheelEvent.
A mouse wheel has discrete, evenly spaced notches. When you rotate the wheel, a wheel message is sent as each notch is encountered. Most modern mouse wheels generate an event with a value of 120 per each notch of the wheel. You can use this environment variable to change this value.

OIV_WINDING_TYPE
Affects SoShapeHints.
Specifies the default winding type. Valid values are NONE, ODD, NON_ZERO, POSITIVE, NEGATIVE, ABS_GEQ_TWO. The winding type can be set programmatically using the SoShapeHints::windingType field.

OIV_ZERO_AREA_CHECK
Set this to a small positive float value.
During decimation, a triangle with an area less than the specified value will be discarded. If you notice missing triangles in decimated output, try setting the value to a smaller number. Default: 1E-5.

OIV_ZLIB_NAME
Affects SoDynamicLibManager.
Allows you to use your own zlib dynamic library. Do not add the suffix. Do not add the "lib" prefix on UNIX systems. Do not add the final "D" used in the debug name. Default is "fei_zlib".

Debug Environment Variables
We recommend these flags only be used by expert Open Inventor users or at the request of VSG Customer Support.

IV_DEBUG_BUFLEN <num>
Constructs an internal <num> length buffer to print into (See SoDebug.C)

IV_DEBUG_CACHES
Prints interesting (!) stuff

IV_DEBUG_CACHELIST
Ditto

IV_DEBUG_SENSORS
Ditto (lots of!)

IV_DEBUG_TRANSFORM_MANIP_FIELDS
Ditto

IV_DEBUG_KIT_PARTS
Ditto

IV_DEBUG_FROMNAME
Issues a message if the dynamic load of a node class fails.

IV_DEBUG_PICK_CULL
For relevant grouping nodes, prints whether they were culled during picking.

IV_DEBUG_RENDER_CULL
For relevant grouping nodes, prints whether they were culled during rendering.

IV_DEBUG_TEXCACHE
Prints information about texture caching.

IV_DEBUG_WRITE_KIT_CHILDREN
Forces a nodekit to be written out like an SoGroup node.

OIV_DEBUG_SHADOW
Prints debug information about SoShadowGroup.

OIV_MP_DEBUG
Prints debug information about the multi-pipe viewer.

OIV_MUTEX_TIMEOUT [_WIN32 only]
Sets a timeout value in milliseconds for the Open Inventor mutex classes, e.g., SbThreadMutex. If the timeout is exceeded without acquiring the mutex or read/write lock, a message is printed. This can be useful if you suspect the application is deadlocked in an Open Inventor mutex. The default is no timeout in the release build and five seconds in the debug build. NOTE: This item cannot be set via SoPreferences or a configuration file. It must be set in the environment (e.g., using set).

OIV_SYNCHRONIZE [UNIX only]
If this variable is set to "1", then Open Inventor will call XSynchronize on each display connection that it uses. This can be helpful if your application is getting an X error (hint: set a breakpoint in the Xlib function _XError).

SO_DRAGGER_DIR
Specifies the path to the directory containing dragger geometry files. By default, Open Inventor uses the dragger geometry files from $OIVHOME/data/draggerDefaults. See SoDragger.

VOLUMEVIZ_CENTERED_DICOM
If this variable is set to true, the image position value in the DICOM file is ignored and the DICOM volume extent is centered on the origin. Medical applications normally set this variable to false. Default is true.

VOLUMEVIZ_DICOM_FILE_CACHE_CAPACITY
The maximum number of dicom files that can be kept in cache when reading dicom data with an SoDataSet node. Increasing the value of this preference can improve reading speed, but it must be kept lower than the maximum number of simultaneously open files descriptors of the system (On Windows, see the _setmaxstdio() function). Default is 64.

VOLUMEVIZ_DICOM_FRAME_CACHE_SIZE
Specifies, in MB, the maximum size of the cache containing the DICOM file stack. The default value is -1, which specifies that the cache is unlimited.

SEE ALSO

SoBase, SoDB

Definition at line 1880 of file SoPreferences.h.

Member Function Documentation

◆ getBool() [1/2]

static SoNONUNICODE SbBool SoPreferences::getBool ( const char *  name,
SbBool  defaultValue 
)
static

Returns the value of the specified environment variable in the Open Inventor environment, interpreted as a boolean.

The search process is the same as for getValue.
The environment variable must have one of the following values ( with any capitalization ) to be valid:

  • T, TRUE or 1 : means TRUE.
  • F, FALSE or 0 : means FALSE.

If the environment variable is not defined in the Open Inventor environment, or if its value cannot be interpreted as a boolean, the specified default value will be returned.

Non Unicode: This function should not be used in a Unicode application.

◆ getBool() [2/2]

static SbBool SoPreferences::getBool ( const SbString name,
SbBool  defaultValue 
)
static

Returns the value of the specified environment variable in the Open Inventor environment, interpreted as a boolean.

The search process is the same as for getValue.
If the environment variable is not defined in the Open Inventor environment, or if its value cannot be interpreted as a boolean, the specified default value will be returned.

◆ getColor() [1/2]

static SoNONUNICODE const SbColor & SoPreferences::getColor ( const char *  name,
const SbColor defaultValue 
)
static

Returns the value of the specified environment variable in the Open Inventor environment, interpreted as an SbColor.

The search process is the same as for getValue.
If the environment variable is not defined in the Open Inventor environment, or if its value cannot be interpreted as an SbColor, the specified default value will be returned.
To be correctly interpreted, the environment value must be a series of 3 floats between 0.0 and 1.0, separated by spaces.

Non Unicode: This function should not be used in a Unicode application.

◆ getColor() [2/2]

static const SbColor & SoPreferences::getColor ( const SbString name,
const SbColor defaultValue 
)
static

Returns the value of the specified environment variable in the Open Inventor environment, interpreted as an SbColor.

The search process is the same as for getValue.
If the environment variable is not defined in the Open Inventor environment, or if its value cannot be interpreted as an SbColor, the specified default value will be returned.
To be correctly interpreted, the environment value must be a series of 3 floats between 0.0 and 1.0, separated by spaces.

◆ getDouble() [1/2]

static SoNONUNICODE double SoPreferences::getDouble ( const char *  name,
double  defaultValue 
)
static

Returns the value of the specified environment variable in the Open Inventor environment, interpreted as a double.

The search process is the same as for getValue.
If the environment variable is not defined in the Open Inventor environment, or if its value cannot be interpreted as a double, the specified default value will be returned.

Non Unicode: This function should not be used in a Unicode application.

◆ getDouble() [2/2]

static double SoPreferences::getDouble ( const SbString name,
double  defaultValue 
)
static

Returns the value of the specified environment variable in the Open Inventor environment, interpreted as a double.

The search process is the same as for getValue.
If the environment variable is not defined in the Open Inventor environment, or if its value cannot be interpreted as a double, the specified default value will be returned.

◆ getFloat() [1/2]

static SoNONUNICODE float SoPreferences::getFloat ( const char *  name,
float  defaultValue 
)
static

Returns the value of the specified environment variable in the Open Inventor environment, interpreted as a float.

The search process is the same as for getValue.
If the environment variable is not defined in the Open Inventor environment, or if its value cannot be interpreted as a float, the specified default value will be returned.

Non Unicode: This function should not be used in a Unicode application.

◆ getFloat() [2/2]

static float SoPreferences::getFloat ( const SbString name,
float  defaultValue 
)
static

Returns the value of the specified environment variable in the Open Inventor environment, interpreted as a float.

The search process is the same as for getValue.
If the environment variable is not defined in the Open Inventor environment, or if its value cannot be interpreted as a float, the specified default value will be returned.

◆ getInt() [1/2]

static SoNONUNICODE int SoPreferences::getInt ( const char *  name,
int  defaultValue 
)
static

Returns the value of the specified environment variable in the Open Inventor environment, interpreted as an int.

The search process is the same as for getValue.
If the environment variable is not defined in the Open Inventor environment, or if its value cannot be interpreted as an int, the specified default value will be returned.

Non Unicode: This function should not be used in a Unicode application.

◆ getInt() [2/2]

static int SoPreferences::getInt ( const SbString name,
int  defaultValue 
)
static

Returns the value of the specified environment variable in the Open Inventor environment, interpreted as an int.

The search process is the same as for getValue.
If the environment variable is not defined in the Open Inventor environment, or if its value cannot be interpreted as an int, the specified default value will be returned.

◆ getLong() [1/2]

static SoNONUNICODE long SoPreferences::getLong ( const char *  name,
long  defaultValue 
)
static

Returns the value of the specified environment variable in the Open Inventor environment, interpreted as a long.

The search process is the same as for getValue.
If the environment variable is not defined in the Open Inventor environment, or if its value cannot be interpreted as a long, the specified default value will be returned.

Non Unicode: This function should not be used in a Unicode application.

◆ getLong() [2/2]

static long SoPreferences::getLong ( const SbString name,
long  defaultValue 
)
static

Returns the value of the specified environment variable in the Open Inventor environment, interpreted as a long.

The search process is the same as for getValue.
If the environment variable is not defined in the Open Inventor environment, or if its value cannot be interpreted as a long, the specified default value will be returned.

◆ getString() [1/2]

static SoNONUNICODE const SbString & SoPreferences::getString ( const char *  name,
const SbString defaultValue 
)
static

Returns the value of the specified environment variable in the Open Inventor environment.

The search process is the same as for getValue.
If the environment variable is not defined in the Open Inventor environment, or if it is defined with no values or as an empty string, the specified default value will be returned.

Non Unicode: This function should not be used in a Unicode application.

◆ getString() [2/2]

static const SbString & SoPreferences::getString ( const SbString name,
const SbString defaultValue 
)
static

Returns the value of the specified environment variable in the Open Inventor environment.

The search process is the same as for getValue.
If the environment variable is not defined in the Open Inventor environment, or if it is defined with no values or as an empty string, the specified default value will be returned.

◆ getStringValue()

static const SbString * SoPreferences::getStringValue ( const SbString name)
static

Returns the value of the specified environment variable in the Open Inventor environment.



When the getStringValue method is called:

  • It searches for the environment variable in memory and returns the associated value if found,
  • If not found, it searches for the environment variable in the system environment.
  • If found in the system environment, the environment variable and its value are stored in memory for faster access the next time it is queried.

The return value is the address of a character string containing the associated value. This string may be empty if the name is defined but does not have an associated value.

The return value is NULL if the name was not found in the Open Inventor environment or the system environment.

◆ getValue()

static SoNONUNICODE const char * SoPreferences::getValue ( const char *  name)
static

Returns the value of the specified environment variable in the Open Inventor environment.



When the getValue method is called:

  • It searches for the environment variable in memory and returns the associated value if found,
  • If not found, it searches for the environment variable in the system environment.
  • If found in the system environment, the environment variable and its value are stored in memory for faster access the next time it is queried.

The return value is the address of a character string containing the associated value. This string may be empty if the name is defined but does not have an associated value.

The return value is NULL if the name was not found in the Open Inventor environment or the system environment.

Non Unicode: This function should not be used in a Unicode application.

◆ getVec2s() [1/2]

static SoNONUNICODE const SbVec2s & SoPreferences::getVec2s ( const char *  name,
const SbVec2s defaultValue 
)
static

Returns the value of the specified environment variable in the Open Inventor environment, interpreted as an SbVec2s.

The search process is the same as for getValue.
If the environment variable is not defined in the Open Inventor environment, or if its value cannot be interpreted as an SbVec2s, the specified default value will be returned.
To be correctly interpreted, the environment value must be a series of 2 shorts separated by spaces.

Non Unicode: This function should not be used in a Unicode application.

◆ getVec2s() [2/2]

static const SbVec2s & SoPreferences::getVec2s ( const SbString name,
const SbVec2s defaultValue 
)
static

Returns the value of the specified environment variable in the Open Inventor environment, interpreted as an SbVec2s.

The search process is the same as for getValue.
If the environment variable is not defined in the Open Inventor environment, or if its value cannot be interpreted as an SbVec2s, the specified default value will be returned.
To be correctly interpreted, the environment value must be a series of 2 shorts separated by spaces.

◆ getVec3f() [1/2]

static SoNONUNICODE const SbVec3f & SoPreferences::getVec3f ( const char *  name,
const SbVec3f defaultValue 
)
static

Returns the value of the specified environment variable in the Open Inventor environment, interpreted as an SbVec3f.

The search process is the same as for getValue.
If the environment variable is not defined in the Open Inventor environment, or if its value cannot be interpreted as an SbVec3f, the specified default value will be returned.
To be correctly interpreted, the environment value must be a series of 3 floats separated by spaces.

Non Unicode: This function should not be used in a Unicode application.

◆ getVec3f() [2/2]

static const SbVec3f & SoPreferences::getVec3f ( const SbString name,
const SbVec3f defaultValue 
)
static

Returns the value of the specified environment variable in the Open Inventor environment, interpreted as an SbVec3f.

The search process is the same as for getValue.
If the environment variable is not defined in the Open Inventor environment, or if its value cannot be interpreted as an SbVec3f, the specified default value will be returned.
To be correctly interpreted, the environment value must be a series of 3 floats separated by spaces.

◆ readFile() [1/2]

static SoNONUNICODE void SoPreferences::readFile ( const char *  filename)
static

Reads environment name-value pairs from the specified configuration file and adds them to the current Open Inventor environment.

See the Configuration File Format section for details.

Non Unicode: This function should not be used in a Unicode application.

◆ readFile() [2/2]

static void SoPreferences::readFile ( const SbString filename)
static

Reads environment name-value pairs from the specified configuration file and adds them to the current Open Inventor environment.

See the Configuration File Format section for details.

◆ setBool() [1/2]

static SoNONUNICODE void SoPreferences::setBool ( const char *  name,
SbBool  value 
)
static

Sets a variable that has a boolean value in the Open Inventor environment.

See setValue for details.

Non Unicode: This function should not be used in a Unicode application.

◆ setBool() [2/2]

static void SoPreferences::setBool ( const SbString name,
SbBool  value 
)
static

Sets a variable that has a boolean value in the Open Inventor environment.

See setValue for details.

◆ setColor() [1/2]

static SoNONUNICODE void SoPreferences::setColor ( const char *  name,
const SbColor value 
)
static

Sets a variable that has an SbColor value in the Open Inventor environment.

See setValue for details.

Non Unicode: This function should not be used in a Unicode application.

◆ setColor() [2/2]

static void SoPreferences::setColor ( const SbString name,
const SbColor value 
)
static

Sets a variable that has an SbColor value in the Open Inventor environment.

See setValue for details.

◆ setDouble() [1/2]

static SoNONUNICODE void SoPreferences::setDouble ( const char *  name,
double  value 
)
static

Sets a variable that has a double value in the Open Inventor environment.

See setValue for details.

Non Unicode: This function should not be used in a Unicode application.

◆ setDouble() [2/2]

static void SoPreferences::setDouble ( const SbString name,
double  value 
)
static

Sets a variable that has a double value in the Open Inventor environment.

See setValue for details.

◆ setFloat() [1/2]

static SoNONUNICODE void SoPreferences::setFloat ( const char *  name,
float  value 
)
static

Sets a variable that has a float value in the Open Inventor environment.

See setValue for details.

Non Unicode: This function should not be used in a Unicode application.

◆ setFloat() [2/2]

static void SoPreferences::setFloat ( const SbString name,
float  value 
)
static

Sets a variable that has a float value in the Open Inventor environment.

See setValue for details.

◆ setInt() [1/2]

static SoNONUNICODE void SoPreferences::setInt ( const char *  name,
int  value 
)
static

Sets a variable that has an int value in the Open Inventor environment.

See setValue for details.

Non Unicode: This function should not be used in a Unicode application.

◆ setInt() [2/2]

static void SoPreferences::setInt ( const SbString name,
int  value 
)
static

Sets a variable that has an int value in the Open Inventor environment.

See setValue for details.

◆ setLong() [1/2]

static SoNONUNICODE void SoPreferences::setLong ( const char *  name,
long  value 
)
static

Sets a variable that has a long value in the Open Inventor environment.

See setValue for details.

Non Unicode: This function should not be used in a Unicode application.

◆ setLong() [2/2]

static void SoPreferences::setLong ( const SbString name,
long  value 
)
static

Sets a variable that has a long value in the Open Inventor environment.

See setValue for details.

◆ setString() [1/2]

static SoNONUNICODE void SoPreferences::setString ( const char *  name,
const SbString value 
)
static

Sets a variable that has an SbString value in the Open Inventor environment.

See setValue for details.

Non Unicode: This function should not be used in a Unicode application.

◆ setString() [2/2]

static void SoPreferences::setString ( const SbString name,
const SbString value 
)
static

Sets a variable that has an SbString value in the Open Inventor environment.

See setValue for details.

◆ setValue() [1/2]

static SoNONUNICODE void SoPreferences::setValue ( const char *  name,
const char *  value = NULL 
)
static

Sets a variable in the Open Inventor environment.

As this variable is set in memory, it is local to the application process and can only be retrieved using SoPreferences methods.

If the value parameter is set to NULL (default), then the variable is set with no value associated with it.

If the first character of the string name is a '-', then the variable is unset in the Open Inventor environment.

Non Unicode: This function should not be used in a Unicode application.

◆ setValue() [2/2]

static void SoPreferences::setValue ( const SbString name,
const SbString value = NULL 
)
static

Sets a variable in the Open Inventor environment.

As this variable is set in memory, it is local to the application process and can only be retrieved using SoPreferences methods.

If the value parameter is set to NULL (default), then the variable is set with no value associated with it.

If the first character of the string name is a '-', then the variable is unset in the Open Inventor environment.

◆ setVec2s() [1/2]

static SoNONUNICODE void SoPreferences::setVec2s ( const char *  name,
const SbVec2s value 
)
static

Sets a variable that has an SbVec2s value in the Open Inventor environment.

See setValue for details.

Non Unicode: This function should not be used in a Unicode application.

◆ setVec2s() [2/2]

static void SoPreferences::setVec2s ( const SbString name,
const SbVec2s value 
)
static

Sets a variable that has an SbVec2s value in the Open Inventor environment.

See setValue for details.

◆ setVec3f() [1/2]

static SoNONUNICODE void SoPreferences::setVec3f ( const char *  name,
const SbVec3f value 
)
static

Sets a variable that has an SbVec3f value in the Open Inventor environment.

See setValue for details.

Non Unicode: This function should not be used in a Unicode application.

◆ setVec3f() [2/2]

static void SoPreferences::setVec3f ( const SbString name,
const SbVec3f value 
)
static

Sets a variable that has an SbVec3f value in the Open Inventor environment.

See setValue for details.

Friends And Related Symbol Documentation

◆ SoPreferencesImpl

friend class SoPreferencesImpl
friend

Definition at line 2377 of file SoPreferences.h.


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