24.2. Open Inventor Algorithm modules

The InvAlgorithms module provides useful algorithms for arithmetic operations, data conversions, data extraction, etc.

Inventor algorithm modules hierarchy

Figure 24.2. Inventor algorithm modules hierarchy


All the algorithms are located in the directory Inventor/algorithms. They can be used on any type of SoBufferObject( C++ | Java | .NET ):

The class SoAlgorithms( C++ | Java | .NET ) is a class designed to provide generic access to algorithms developed for specific hardware using a “plugin” mechanism described in the following section.

The InvAlgorithms module provides a mechanism to develop different versions of the algorithms for specific hardware. This mechanism is provided by the class SoAlgorithms( C++ | Java | .NET ).

The standard algorithms, provided by the InvAlgorithms module, use the SSE2 instruction set for fast conversions (used internally for example by the SoDataRange( C++ | Java | .NET ) node in VolumeViz). SSE2 instructions are used by default but it’s possible to disable this by setting the preference OIV_NO_SSE to 1.