GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages


Manual Reference Pages  -  SOSHAPEHINTS (3)

NAME

SoShapeHints — node that provides hints about shapes

CONTENTS

Inherits From
Synopsis
Description
Fields
Methods
Action Behavior
File Format/defaults
See Also

INHERITS FROM

SoBase > SoFieldContainer > SoNode > SoShapeHints

SYNOPSIS

#include <Inventor/nodes/SoShapeHints.h>

enum VertexOrdering {     SoShapeHints::UNKNOWN_ORDERING    
                          SoShapeHints::UNKNOWN_ORDERING Ordering of vertices is unknown    
SoShapeHints::CLOCKWISE    
                          SoShapeHints::CLOCKWISE   Face vertices are ordered clockwise (from the outside)    
SoShapeHints::COUNTERCLOCKWISE    
                          SoShapeHints::COUNTERCLOCKWISE Face vertices are ordered counterclockwise (from the outside)
}

enum ShapeType {     SoShapeHints::UNKNOWN_SHAPE_TYPE    
                      SoShapeHints::UNKNOWN_SHAPE_TYPE Nothing is known about the shape    
SoShapeHints::SOLID    
                      SoShapeHints::SOLID   The shape encloses a volume
}

enum FaceType {     SoShapeHints::UNKNOWN_FACE_TYPE    
                       SoShapeHints::UNKNOWN_FACE_TYPE Nothing is known about faces    
SoShapeHints::CONVEX    
                       SoShapeHints::CONVEX   All faces are convex
}

Fields from class SoShapeHints:

    SoSFEnum    
                    
SoSFEnum             vertexOrdering    
SoSFEnum    
                    
SoSFEnum             shapeType    
SoSFEnum    
                    
SoSFEnum             faceType    
SoSFFloat    
                    
SoSFFloat            creaseAngle

Methods from class SoShapeHints:

       
                    
                     SoShapeHints()    
static SoType    
                    
static SoType        getClassTypeId()

Methods from class SoNode:

    void    
                    
void                 setOverride(SbBool state)    
SbBool    
                    
SbBool               isOverride() const    
SoNode *    
                    
SoNode *             copy(SbBool copyConnections = FALSE) const    
virtual SbBool    
                    
virtual SbBool       affectsState() const    
static SoNode *    
                    
static SoNode *      getByName(const SbName &name)    
static int    
                    
static int           getByName(const SbName &name, SoNodeList &list)

Methods from class SoFieldContainer:

    void    
                    
void                 setToDefaults()    
SbBool    
                    
SbBool               hasDefaultValues() const    
SbBool    
                    
SbBool               fieldsAreEqual(const SoFieldContainer *fc) const    
void    
                    
void                 copyFieldValues(const SoFieldContainer *fc, SbBool copyConnections = FALSE)    
SbBool    
                    
SbBool               set(const char *fieldDataString)    
void    
                    
void                 get(SbString &fieldDataString)    
virtual int    
                    
virtual int          getFields(SoFieldList &resultList) const    
virtual SoField *    
                    
virtual SoField *    getField(const SbName &fieldName) const    
SbBool    
                    
SbBool               getFieldName(const SoField *field, SbName &fieldName) const    
SbBool    
                    
SbBool               isNotifyEnabled() const    
SbBool    
                    
SbBool               enableNotify(SbBool flag)

Methods from class SoBase:

    void    
                    
void                 ref()    
void    
                    
void                 unref() const    
void    
                    
void                 unrefNoDelete() const    
void    
                    
void                 touch()    
virtual SoType    
                    
virtual SoType       getTypeId() const    
SbBool    
                    
SbBool               isOfType(SoType type) const    
virtual void    
                    
virtual void         setName(const SbName &name)    
virtual SbName    
                    
virtual SbName       getName() const

DESCRIPTION

By default, Inventor assumes very little about the shapes it renders. You can use the SoShapeHints node to indicate that vertex-based shapes (those derived from SoVertexShape) are solid, contain ordered vertices, or contain convex faces. For fastest rendering, specify SOLID, COUNTERCLOCKWISE, CONVEX shapes.

These hints allow 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, Inventor turns on backface culling and turns off two-sided lighting. If the object is not solid but has ordered vertices, it turns off backface culling and turns on two-sided lighting. In all other cases, both backface culling and two-sided lighting are off.

The SoShapeHints node also affects how default normals are generated. When a node derived from SoVertexShape has to generate default normals, it uses the creaseAngle field to determine which edges should be smooth-shaded and which ones should have a sharp crease. The crease angle is the angle between surface normals on adjacent polygons. For example, a crease angle of .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 that is less than .5 radians (about 30 degrees). Otherwise, it will be faceted. Normal generation is fastest when the creaseAngle is 0 (the default), producing one normal per facet. A creaseAngle of pi produces one averaged normal per vertex.

FIELDS

    SoSFEnum    
                    
SoSFEnum             vertexOrdering
Indicates 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).

    SoSFEnum    
                    
SoSFEnum             shapeType
Indicates whether the shape is known to enclose a volume (SOLID) or not. If the inside (the side away from the surface normal) of any part of the shape is visible, the shape is not solid.

    SoSFEnum    
                    
SoSFEnum             faceType
Indicates whether each face is convex. Because the penalty for non-convex faces is very steep (faces must be triangulated expensively), the default assumes all faces are convex. Therefore, shapes with concave faces may not be displayed correctly unless this hint is set to UNKNOWN_FACE_TYPE.

    SoSFFloat    
                    
SoSFFloat            creaseAngle
Indicates 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.

METHODS

       
                    
                     SoShapeHints()
Creates a shape hints node with default settings.

    static SoType    
                    
static SoType        getClassTypeId()
Returns type identifier for this class.

ACTION BEHAVIOR

SoGLRenderAction, SoCallbackAction, SoRayPickAction, SoGetBoundingBoxAction
Sets the state to contain the hints; sets up optimizations based on the hints.

FILE FORMAT/DEFAULTS

ShapeHints {



vertexOrdering  UNKNOWN_ORDERING
shapeType       UNKNOWN_SHAPE_TYPE
faceType        CONVEX
creaseAngle     0


}

SEE ALSO

SoVertexShape

Search for    or go to Top of page |  Section 3 |  Main Index


SOSHAPEHINTS(3IV) (-->)

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.