SoShapeHints

InventorModule

genre

InventorNodesAutomatic

author

Silicon Graphics Inc

package

MeVisLab/Standard

definition

inventor.def

Purpose

You can use the SoShapeHints node to indicate that vertex-based shapes are solid, contain ordered vertices, or have convex faces. For the fastest rendering, specify SOLID, COUNTERCLOCKWISE, and CONVEX shapes.

These hints allow Open Inventor to optimize certain rendering features. Optimizations that may be performed include enabling back-face culling and disabling two-sided lighting. For example, if an object is solid and has ordered vertices, Open Inventor enables back-face culling and disables two-sided lighting. If the object is not solid but has ordered vertices, it disables back-face culling and enables two-sided lighting. In all other cases, both back-face culling and two-sided lighting are turned off.

The SoShapeHints node also affects how default normals are generated. When a node derived from SoVertexShape needs to generate default normals, it uses the Crease Angle field to determine which edges should be smooth-shaded and which should have a sharp crease. The crease angle is the angle between surface normals on adjacent polygons. For example, a crease angle of 0.5 radians means that an edge between two adjacent polygonal faces will be smooth-shaded if the normals to the two faces form an angle less than 0.5 radians (about 30 degrees). Otherwise, it will be faceted. Normal generation is fastest when the Crease Angle is 0 (the default), producing one normal per facet. A Crease Angle of π produces one averaged normal per vertex.

Windows

Default Panel

../../../Modules/Inventor/InventorBase/mhelp/Images/Screenshots/SoShapeHints._default.png

Output Fields

self

name: self, type: SoNode

Parameter Fields

Field Index

Crease Angle: Float

Face Type: Enum

Shape Type: Enum

Use VBO: Bool

Vertex Ordering: Enum

Visible Fields

Vertex Ordering

name: vertexOrdering, type: Enum, default: UNKNOWN_ORDERING

Defines how the vertices of faces are ordered.

CLOCKWISE ordering means that the vertices of each face form a clockwise loop around the face when viewed from the outside (the side toward which the normal points).

Values:

Title

Name

Description

​Unknown Ordering

​UNKNOWN_ORDERING

​Ordering of vertices is unknown.

​Clockwise

​CLOCKWISE

​Face vertices are ordered clockwise when viewed from the outside.

​Counterclockwise

​COUNTERCLOCKWISE

​Face vertices are ordered counterclockwise when viewed from the outside.

Shape Type

name: shapeType, type: Enum, default: UNKNOWN_SHAPE_TYPE

Defines whether the shape is known to enclose a volume (SOLID) or not.

If the inside (the side opposite the surface normal) of any part of the shape is visible, the shape is considered not solid.

Values:

Title

Name

Description

​Unknown Shape Type

​UNKNOWN_SHAPE_TYPE

​Unknown shape type.

​Solid

​SOLID

​Solid shape type.

Face Type

name: faceType, type: Enum, default: CONVEX

Defines whether each face is convex.

Due to the steep penalty for non-convex faces (which must be triangulated expensively), the default assumption is that all faces are convex. Therefore, shapes with concave faces may not display correctly unless this hint is set to UNKNOWN_FACE_TYPE.

Values:

Title

Name

Description

​Unknown Face Type

​UNKNOWN_FACE_TYPE

​Nothing is known about faces.

​Convex

​CONVEX

​All faces are convex.

Crease Angle

name: creaseAngle, type: Float, default: 0

Sets the minimum angle, in radians, between two adjacent face normals required to form a sharp crease at the edge when default normals are computed and used.

Use VBO

name: useVBO, type: Bool, default: TRUE