SoSceneLoader

InventorModule
author MeVis Medical Solutions AG
package MeVisLab/Standard
dll SoLoaders
definition SoLoaders.def

Purpose

The SoSceneLoader allows to load meshes as Open Inventor points/lines/triangles/faces using the Open Asset Import Library (http://assimp.sourceforge.net/).

Note: The STL format support of assimp is limited to loading the first mesh in the STL file! If you want to join identical vertices (Join Identical Vertices) which have different normals, you need to enable the Force Normal Generation and turn Generate Normals to “SmoothNormals”.

It supports:

Format File Ending
3D GameStudio Model *.mdl
3D GameStudio Terrain *.hmp
3D Studio Max 3DS *.3ds
3D Studio Max ASE *.ase
AC3D *.ac
AutoCAD DXF *.dxf
Autodesk DXF *.dxf
Blender *.blend
Biovision BVH *.bvh
CharacterStudio Motion *.csm
DirectX X *.x
Doom 3 *.md5mesh; *.md5anim; *.md5camera
Irrlicht Mesh *.irrmesh; *.xml
Irrlicht Scene *.irr; *.xml
LightWave Model *.lwo
LightWave Scene *.lws
Milkshape 3D *.ms3d
Modo Model *.lxo
Neutral File Format *.nff
Object File Format *.off
Ogre *.mesh.xml, *.skeleton.xml, *.material
Quake I *.mdl
Quake II *.md2
Quake III *.md3
Quake 3 BSP *.pk3
Quick3D *.q3o; *q3s
Raw Triangles *.raw
RtCW *.mdc
Sense8 WorldToolkit *.nff
Stanford Polygon Library *.ply
Stereolithography *.stl
Terragen Terrain *.ter
TrueSpace *.cob, *.scn
Valve Model *.smd, *.vta
Wavefront Object *.obj
XGL *.xgl, *.zgl (compressed)

Usage

Select the desired options and enter a filename.

Tips

The module supports materials and it is possible to insert a material shader to each material using the inMaterialShader.

Input Fields

inMaterialShader

name: inMaterialShader, type: SoNode

An optional shader for the materials.

Parameter Fields

Visible Fields

Filename

name: filename, type: String

The filename of the scene.

Load

name: load, type: Trigger

(Re-)Load the scene file.

Clear

name: clear, type: Trigger

Clear the output scene.

Update Mode

name: updateMode, type: Enum, default: AutoUpdate

Output update mode.

Values:

Title Name Description
Auto Clear AutoClear Automatically clear the output scene if parameters change. Requires manual loading of scene.
Auto Update AutoUpdate Automatically reload scene if parameters change.
Off Off No automatic updates. Loading and clearing must be done explicitly.

Calculate Tangents

name: calculateTangents, type: Bool, default: FALSE

If enabled, the module calculates tangents (for normal mapping) and adds them as vertex attribute oiv_Tangents.

Join Identical Vertices

name: joinIdenticalVertices, type: Bool, default: TRUE

Enables joining of vertices with the same attributes.

Remove Redundant Materials

name: removeRedundantMaterials, type: Bool, default: TRUE

Removes unused or duplicate materials.

Triangulate

name: triangulate, type: Bool, default: TRUE

Triangulates faces.

Find Degenerates

name: findDegenerates, type: Bool, default: TRUE

Finds degenerated faces.

Find Invalid Data

name: findInvalidData, type: Bool, default: TRUE

Finds invalid data and warns about it.

Split Large Meshes

name: splitLargeMeshes, type: Bool, default: FALSE

Splits large meshes into smaller ones.

Improve Cache Locality

name: improveCacheLocality, type: Bool, default: FALSE

Improves the cache locality by reordering vertices/faces.

Optimize Meshes

name: optimizeMeshes, type: Bool, default: FALSE

Optimize the meshes for rendering.

Force Normal Generation

name: forceNormalGeneration, type: Bool, default: FALSE

If enabled, the normal generation is forced, even if the loaded model contains normals.

Log Detail

name: logDetail, type: Enum, default: Errors

Defines the detail of the log output.

Values:

Title Name
Errors Errors
Warnings Warnings
Verbose Verbose
Debugging Debugging

Generate Normals

name: generateNormals, type: Enum, default: GenerateSmoothNormals

Selects how normals are generated when not present in the scene file.

Values:

Title Name
Smooth Normals GenerateSmoothNormals
Normals GenerateNormals
Off GenerateOff

Normal Smoothing Crease Angle

name: normalSmoothingCreaseAngle, type: Float, default: 175, minimum: 0, maximum: 175

The crease angle for smoothing of normals.

Hidden Fields

renderCaching

name: renderCaching, type: Enum, default: AUTO

Values:

Title Name
On ON
Off OFF
Auto AUTO

boundingBoxCaching

name: boundingBoxCaching, type: Enum, default: AUTO

Values:

Title Name
On ON
Off OFF
Auto AUTO

renderCulling

name: renderCulling, type: Enum, default: AUTO

Values:

Title Name
On ON
Off OFF
Auto AUTO

pickCulling

name: pickCulling, type: Enum, default: AUTO

Values:

Title Name
On ON
Off OFF
Auto AUTO

sceneLoaded

name: sceneLoaded, type: Trigger