Open Inventor 2.1 Porting and Performance Tips

Document Number: 007-3078-001

Front Matter

| List of Figures | List of Examples | List of Tables |

Table of Contents

About This Guide
What This Guide Contains
What You Should Know Before Reading This Manual
Conventions Used in This Guide

1. Porting to Open Inventor 2.1: Getting Started
Porting Applications With No Custom Classes
Porting Custom Classes

2. Incompatible API Changes
Overview of Changes By Class Name
Changes to Shape Hints
Changes to Complexity
Changes to Materials and Colors
Changes to Normals
Changes to Texture Coordinates
Changes to Vertex-Based Shapes
Changes to Viewers
Miscellaneous Changes

3. Scene Appearance Changes in Inventor 2.1

4. New Features
Version-Related Changes
File Reading and Writing
New Nodes
New Fields
Miscellaneous Additions
New and Updated Utilities

5. Incompatible Extender API Changes
Shape Nodes
Material Property Nodes
Engine Evaluation

6. Optimizing Open Inventor Applications
Benchmarking Tips
Optimizing Rendering
Optimizing Everything Else

A. Creating a Node
Initializing the Node Class
If you try to enable two classes that share a stack index (for example, SoGLDrawStyleElement and SoDrawStyleElement), only the more derived class is actually enabled (in this case, SoGLDrawStyleElement). However, you can always use the base class static method to set or get the value for either the parent or the derived class. (You cannot, however, enable only the parent version and then try to treat it as the derived GL version.)Defining the Constructor
Implementing Actions
Creating a Property Node
Creating a Shape Node
Creating a Group Node
Using New Node Classes
Creating an Abstract Node Class
The copyContents() Method
The affectsState() Method
Uncacheable Nodes
Creating an Alternate Representation
Generating Default Normals