Open Inventor Mentor, 2nd Edition - Volume I
List of Figures
1.
Scene Graph Symbols
1.1.
Inventor Architecture
1.2.
Windmill
1.3.
Example of a Scene Graph
1.4.
Handle-Box Manipulator
1.5.
Example of a Component: Directional Light Editor (lower right)
1.6.
Inventor Class Tree Summary (Part 1 of 3)
1.7.
Inventor Class Tree Summary (Part 2 of 3)
1.8.
Inventor Class Tree Summary (Part 3 of 3)
2.1.
A Red Cone
2.2.
Cone with Trackball Manipulator
2.3.
Cone with Examiner Viewer
2.4.
Graphic template, configuration, and device public classes
3.1.
An Inventor Database
3.2.
Shape-Node Classes
3.3.
Property-Node Classes
3.4.
Group-Node Classes
3.5.
Simple Group
3.6.
Combining Groups
3.7.
Separator Groups
3.8.
Scene Graph with Level-of-Detail Node
3.9.
Different Levels of Detail for an Object
3.10.
Scene Graph Showing Shared Instancing of the Leg Group
3.11.
Rendered Image of the Robot
3.12.
Path Representing the Left Foot
3.13.
Reference Counts
3.14.
Incrementing the Reference Count
3.15.
Decrementing the Reference Count
3.16.
Initial scene graph
3.17.
Derefence and dispose sroot
3.18.
The scene graph contains just root: all others nodes are disposed
3.19.
Initial scene graph
3.20.
Derefence and dispose sroot1
3.21.
Unshared children of sroot1 are disposed
3.22.
Initial scene graph
3.23.
Derefence and dispose sroot
3.24.
The scene graph contains just root: all others nodes are disposed
3.25.
Initial scene graph
3.26.
Derefence and dispose sroot1
3.27.
Unshared children of sroot1 are disposed
4.1.
Camera-Node Classes
4.2.
View Volume and Viewing Projection for an SoPerspectiveCamera Node
4.3.
View Volume and Viewing Projection for an SoOrthographicCamera Node
4.4.
Mapping the Camera Aspect Ratio to the Viewport
4.5.
Scene Graph for Camera Example
4.6.
Camera Example
4.7.
Light-Node Classes
4.8.
Light Types
4.9.
Fields for SoSpotLight Node
4.10.
Scene Graph for Light Example
5.1.
Shape-Node Classes
5.2.
Nodes Used to Create a Simple Indexed Face Set
5.3.
Scene Graph for Face Set Example
5.4.
Face-Set Example
5.5.
Scene Graph for Indexed Face-Set Example
5.6.
Indexed Face-Set Example
5.7.
Polygon with hole
5.8.
Winding numbers for sample contour
5.9.
How winding rules define interiors
5.10.
Winding numbers defining a hole
5.11.
ODD, NON_ZERO, and POSITIVE winding types
5.12.
Scene Graph for Triangle Strip Set Example
5.13.
Triangle Strip Set Example
5.14.
Scene Graph for Quad Mesh Example
5.15.
Quad Mesh Example
5.16.
Property-Node Classes
5.17.
Drawing Styles (FILLED, LINES, POINTS)
5.18.
Specifying Different Levels of Complexity (left: OBJECT_SPACE; right: SCREEN_SPACE)
5.19.
An example of a pattern
5.20.
Polygon and depth offset property node classes
5.21.
Not recommended structure:
5.22.
Recommended structure:
5.23.
depthOffset_offset
5.24.
Scene Graph for Material Binding Example
5.25.
Cumulative Effect of Transformation Nodes
5.26.
Two Groups with Transformations in Different Order
5.27.
Effects of Ordering Transformation Fields
5.28.
MarkerSet node class
5.29.
Extrusion class
5.30.
Image node class
5.31.
Raster image classes
6.1.
2D Text Example
6.2.
Simple Text
6.3.
Defining a Customized Profile for 3D Text
6.4.
2D Plane for Drawing a Text Profile
6.5.
Scene Graph for Simple 3D Text Example
6.6.
Simple 3D Text Example
6.7.
Scene Graph for Advanced 3D Text Example
6.8.
Advanced 3D Text Example
6.9.
Annotation text shape node class
6.10.
Polygonal text with all parts displayed
6.11.
POLYGON versus TEXTURE render styles
6.12.
Wireframe polygonal text and outlined text comparison
6.13.
Orientation = LEFT_TO_RIGHT
6.14.
Orientation = RIGHT_TO_LEFT
7.1.
Texture Mapping
7.2.
Texture Coordinates
7.3.
Wrapping the Texture around the Object
7.4.
Format for Storing a One-Component Texture in Memory
7.5.
Format for Storing a Two-Component Texture in Memory
7.6.
Format for Storing a Three-Component Texture in Memory
7.7.
Texture Combine
7.8.
SoIndexedTexture2 mapping data range to color map
7.9.
Using indexed textures
7.10.
How SoTexture2Transform node relates to the texture coordinates
7.11.
Effects of different scale factors on a texture map
7.12.
Default Texture Mapping for SoSphere
7.13.
Default Texture Mapping for SoCube
7.14.
Default Texture Mapping for SoCylinder
7.15.
Default Texture Mapping for SoCone
7.16.
Default Texture Mapping for SoNurbsSurface
7.17.
Default Texture Mapping for SoText3
7.18.
SoTextureCoordinatePlane with Different Repeat Frequencies
7.19.
Multitexture and texture coordinates
7.20.
Two textures applied on the same shape
7.21.
Texture combiner pipeline
8.1.
Action Classes
8.2.
Shared Instances of a Shape Node
8.3.
Applying SoGetMatrixAction to a Path
8.4.
Cone Representing the Picking Ray for a Perspective Camera
8.5.
Path to Picked Point and Detail List
8.6.
Detail Classes
8.7.
Bevel action class
8.8.
Bevel property node class
8.9.
Split geometry action class
8.10.
Split geometry action
8.11.
Split geometry action on the Harley model
8.12.
Simplifier schema
8.13.
SoGlobalSimplifyAction schema
9.1.
Effect of antialiasing on the display quality. Left (aliased), right (antialiased)
9.2.
Antialiasing pixel sampling.
9.3.
Background classes
9.4.
Using a gradient background and an image background together
9.5.
Shadowing classes
9.6.
Scene graph organization for shadow casting
9.7.
A scene without shadow casting
9.8.
A scene with shadow casting
9.9.
Example of use of SoShadowStyle
9.10.
A surface perturbed by a height map
9.11.
A height map (left) and a normal map (right)
9.12.
Texture coordinates assigned to a height map
9.13.
Tangent space coordinate system
9.14.
Bump mapping without and with seft-shadowing
9.15.
Caching a Shape
9.16.
Caching a Shape along with a Changing Property Node
9.17.
Scene graph with a SoBBox node
10.1.
Event Processing in Inventor
10.2.
Event Classes
10.3.
Inserting an SoSelection Node
10.4.
Scene Graph with Manipulators
10.5.
Picking a Shape Node
10.6.
Highlight Classes
10.7.
Top-Level Selection Policy (left) and Default Selection Policy (right)
10.8.
Extended selection node class
11.1.
All information available at date t in touch event
11.2.
Double tap, long tap, zoom and rotate gestures
12.1.
Adjusting Path Indices to Account for Separator Groups
12.2.
Scene Graph for a Scene with Three Spheres
12.3.
Pick Path for Violet Sphere
12.4.
Shared Instances of Nodes
13.1.
MPEG output classes
13.2.
Generate MPEG video output from a scene graph.
13.3.
HTML action class
13.4.
Rectangle image map
13.5.
Circle image map
13.6.
Polygon image map
13.7.
City of Toronto with HTML image maps
14.1.
Sensor Classes
14.2.
Triggering and Rescheduling Timers
15.1.
Mechanisms Made from a Set of Link Classes
15.2.
Objects That Use Engines for Animation and Placement
15.3.
Anatomy of an Engine
15.4.
Engine Class Tree
15.5.
Field-to-Field Connections
15.6.
Multiple Outputs Are Allowed
15.7.
Scene Graph for the Digital Clock Example
15.8.
Digital Clock That Uses the Real-Time Global Field
15.9.
Scene Graph for Elapsed-Time Engine Example
15.10.
Scene Graph for the Time-Counter Example
15.11.
Controlling an Object's Movement Using Time-Counter Engines
15.12.
Track follower engine class
15.13.
Scene Graph for Gate Engine Example
15.14.
SoBoolOperation Engine
15.15.
Swimming Ducks Controlled by a Boolean Engine
15.16.
SoCalculator Engine
15.17.
Scene Graph for Calculator Engine Example
15.18.
Using a Calculator Engine to Constrain an Object's Movement
15.19.
Scene Graph for Rotor Node Example
15.20.
Flashing Sign Controlled by a Blinker Node
16.1.
Different Types of Paths
16.2.
Node-Kit Classes
16.3.
Catalog for SoShapeKit
16.4.
Basic Version of an SoShapeKit
16.5.
Catalog for SoAppearanceKit
16.6.
Creating an Instance of SoShapeKit
16.7.
Adding the Material Node
16.8.
Adding Draw-Style and Transform Nodes
16.9.
Three Node-Kit Classes for Making “Goons”
16.10.
Obtaining the Path to a Given Part
16.11.
Extending a Given Path to the Desired Part
16.12.
Hierarchical Motion Relationships
16.13.
Using an SoShapeKit with Engines
16.14.
Using an SoSceneKit with Directional Light and Material Editors
16.15.
A Balance Scale Created with Node Kits
17.1.
Dragger Classes
17.2.
Manipulator Classes
17.3.
Handle-Box Manipulator
17.4.
Trackball Manipulator
17.5.
Connecting a Dragger's Field to Another Field in the Scene Graph
17.6.
Using a Dragger and Engine to Edit the Radius of a Cone
17.7.
A Slider Box That Uses Draggers and Engines to Move Text
17.8.
Specifying the Path to the Target Node
17.9.
Adding Manipulators to a Scene
17.10.
Clip plane manipulation class
17.11.
Changing the Dragger Parts to Cubes
18.1.
Component Classes
18.2.
Material Editor and Render Area Created in Separate Windows
18.3.
Using the Material Editor Component to Edit a Scene
18.4.
Examiner Viewer
18.5.
Inserting a Camera for an Editor Viewer
18.6.
Inserting a Camera for a Browser Viewer
18.7.
Inserting Drawing Style and Lighting Model Nodes
18.8.
Viewer Pop-up Menu
18.9.
Open Inventor for Win32 and Unix
18.10.
Examiner Viewer for Win32
18.11.
Material editor for Win32
18.12.
Viewing function classes
18.13.
Render Area of the custom viewer
18.14.
Remote control of the custom viewer
18.15.
A render area, material editor, material palette, and color editor
18.16.
Qt Designer Plugin (tooltip and “What’s this” text)
19.1.
Stereo classes
19.2.
Stereo Dialog class
20.1.
Mapping a Parametric Curve to Object Space
20.2.
Using Control Points to Shape the Curve
20.3.
Piecewise Cubic Curve
20.4.
Continuity of a Curve
20.5.
Control Points Influence the Curve
20.6.
B-Spline Basis Function
20.7.
Uniform Knot Sequence
20.8.
Knot Multiplicity
20.9.
Cubic Bezier Curve
20.10.
Rational Curves
20.11.
Scene Graph for B-Spline Curve Example
20.12.
B-Spline Curve
20.13.
A Uniform B-Spline Curve that Passes through the Endpoints
20.14.
Curved Surfaces
20.15.
Scene Graph for a Bezier Surface
20.16.
Bezier Surface
20.17.
Scene Graph for Trimmed Bezier Surface
20.18.
Trim Curves Used in Example 8-4
20.19.
A Trimmed Bezier Surface
20.20.
NURBS property class
20.21.
Selected NURBS-related classes
20.22.
Joining three NURB surfaces along their common boundaries
20.23.
Joining NURBS surfaces scene graph structure
20.24.
NURBS surfaces with cracks (left) and no cracks (right)
21.1.
Programmable graphics pipeline
21.2.
Vertex, geometry and fragment processor inputs/outputs
21.3.
Reflection, refraction, and chromatic dispersion shader program
21.4.
Shader node classes
21.5.
Per-pixel lighting shader (left) versus per-vertex lighting (right)
21.6.
Simplified scene graph of PixelLighting.cxx
21.7.
Point field bars computed within a geometry shader
21.8.
Simplified scene graph of GeometryShader.cxx
21.9.
Shader usage for image base lighting and HDRI reflection
(Data set courtesy DaimlerChrysler AG)
22.1.
Viewer collision detection
22.2.
Intersection detection action class
22.3.
SoIntersectionDetectionAction (scene 1)
22.4.
SoIntersectionDetectionAction (scene 2)
22.5.
max_triangles_per_leaf = 2
22.6.
max_triangles_per_leaf = 3
22.7.
max_triangles_per_leaf =4
22.8.
Typical scene graph organization
24.1.
Global architecture
24.2.
Inventor algorithm modules hierarchy
25.1.
Collaborating with an Immersive Display
25.2.
Translating with a dragger in a CAVE
25.3.
Rotating with a dragger in a CAVE
26.1.
Rendering using GLX protocol
26.2.
Remote Rendering using VNC
28.1.
Combining Use of Inventor and OpenGL
29.1.
SoDialogViz abstract class
29.2.
SoMenuItem abstract class
29.3.
SoTopComponent class
29.4.
Simple dialog box
29.5.
Use of DialogViz within a VolumeViz demo
30.1.
IvTuneViewer window
A.1.
SoError Class Tree
B.1.
Plate 1
B.2.
Plate 2
B.3.
Plate 3
B.4.
Plate 4
B.5.
Plate 5
B.6.
Plate 6
B.7.
Plate 7
B.8.
Plate 8
B.9.
Plate 9
B.10.
Plate 10
B.11.
Plate 11
B.12.
Plate 12
B.13.
Plate 13
B.14.
Plate 14
B.15.
Plate 15
B.16.
Plate 16
B.17.
Plate 17
B.18.
Plate 18
B.19.
Plate 19
B.20.
Plate 20
B.21.
Plate 21
B.22.
Plate 22
B.23.
Plate 23
B.24.
Plate 24
B.25.
Plate 25
B.26.
Plate 26
B.27.
Plate 27
B.28.
Plate 28
B.29.
Plate 29
B.30.
Plate 30
B.31.
Plate 31
B.32.
Plate 32
B.33.
Plate 33
B.34.
Plate 34
B.35.
Plate 35
B.36.
Plate 36
B.37.
Plate 37
B.38.
Plate 38
B.39.
Plate 39
B.40.
Plate 40