SoSceneLoader

InventorModule

author

MeVis Medical Solutions AG

package

MeVisLab/Standard

dll

SoLoaders

definition

SoLoaders.def

Purpose

The SoSceneLoader allows for loading meshes as Open Inventor points, lines, triangles, and faces using the Open Asset Import Library.

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) that 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

Field Index

boundingBoxCaching: Enum

Improve Cache Locality: Bool

renderCaching: Enum

Calculate Tangents: Bool

Join Identical Vertices: Bool

renderCulling: Enum

Clear: Trigger

Load: Trigger

sceneLoaded: Trigger

Filename: String

Log Detail: Enum

Split Large Meshes: Bool

Find Degenerates: Bool

Normal Smoothing Crease Angle: Float

Triangulate: Bool

Find Invalid Data: Bool

Optimize Meshes: Bool

Update Mode: Enum

Force Normal Generation: Bool

pickCulling: Enum

Generate Normals: Enum

Remove Redundant Materials: Bool

Visible Fields

Filename

name: filename, type: String

Sets the filename of the scene.

Load

name: load, type: Trigger

When pressed, the scene file is (re)loaded.

Clear

name: clear, type: Trigger

When pressed, the output scene is cleared.

Update Mode

name: updateMode, type: Enum, default: AutoUpdate

Defines the 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 checked, the module calculates tangents (for normal mapping) and adds them as the vertex attribute oiv_Tangents.

Join Identical Vertices

name: joinIdenticalVertices, type: Bool, default: TRUE

If checked, the joining of vertices with the same attributes is enabled.

Remove Redundant Materials

name: removeRedundantMaterials, type: Bool, default: TRUE

If checked, unused or duplicate materials are removed.

Triangulate

name: triangulate, type: Bool, default: TRUE

If checked, faces are triangulated.

Find Degenerates

name: findDegenerates, type: Bool, default: TRUE

If checked, degenerated faces are searched for and removed.

Find Invalid Data

name: findInvalidData, type: Bool, default: TRUE

If checked, invalid data is searched for and warned about.

Split Large Meshes

name: splitLargeMeshes, type: Bool, default: FALSE

If checked, large meshes are split into smaller ones.

Improve Cache Locality

name: improveCacheLocality, type: Bool, default: FALSE

If checked, the cache locality is improved by reordering vertices/faces.

Optimize Meshes

name: optimizeMeshes, type: Bool, default: FALSE

If checked, the meshes are optimized for rendering.

Force Normal Generation

name: forceNormalGeneration, type: Bool, default: FALSE

If checked, 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

Defines how normals are generated if 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

Sets 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