Open Inventor Reference
SoNormalBinding Class Reference

Node that specifies how multiple surface normals are bound to shapes. More...

#include <Inventor/nodes/SoNormalBinding.h>

Inheritance diagram for SoNormalBinding:
SoNode SoFieldContainer SoBase

List of all members.

Public Types

enum  Binding {
  OVERALL = SoNormalBindingElement::OVERALL, PER_PART = SoNormalBindingElement::PER_PART, PER_PART_INDEXED = SoNormalBindingElement::PER_PART_INDEXED, PER_FACE = SoNormalBindingElement::PER_FACE,
  PER_FACE_INDEXED = SoNormalBindingElement::PER_FACE_INDEXED, PER_VERTEX = SoNormalBindingElement::PER_VERTEX, PER_VERTEX_INDEXED = SoNormalBindingElement::PER_VERTEX_INDEXED, DEFAULT = PER_VERTEX_INDEXED,
  NONE = PER_VERTEX_INDEXED
}

Public Member Functions

 SoNormalBinding ()
 Creates a normal binding node with default settings.
virtual void doAction (SoAction *action)
 This method performs the "typical" operation of a node for any action.
virtual void GLRender (SoGLRenderAction *action)
 These virtual functions implement all of the actions for nodes, Most of the default implementations do nothing.
virtual void callback (SoCallbackAction *action)
virtual void pick (SoPickAction *action)

Static Public Member Functions

static void initClass ()
 Initializes base node class.

Public Attributes

Fields
SoSFEnum value
 Specifies how to bind normals to shapes.

Protected Member Functions

virtual ~SoNormalBinding ()
virtual SbBool readInstance (SoInput *in, unsigned short flags)
 Reads stuff into instance. Upgrades old bindings.

Detailed Description

This node specifies how the current normals are bound to shapes that follow in the scene graph. Each shape node may interpret bindings differently.

The bindings for faces and vertices are meaningful only for shapes that are made from faces and vertices. Similarly, the indexed bindings are only used by the shapes that allow indexing. For bindings that require multiple normals, be sure to have at least as many normals defined as are necessary; otherwise, errors will occur.

File Format/Default
NormalBinding {
  value PER_VERTEX_INDEXED
}
Action Behavior
SoGLRenderAction, SoCallbackAction, SoRayPickAction
Sets the current normal binding type.
See Also
SoMaterialBinding, SoNormal, SoTextureCoordinateBinding, SoVertexShape

Definition at line 98 of file SoNormalBinding.h.


Member Enumeration Documentation

Enumerator:
OVERALL 

Whole object has same normal.

PER_PART 

One normal for each part of object.

PER_PART_INDEXED 

One normal for each part of object, indexed.

PER_FACE 

One normal for each face of object.

PER_FACE_INDEXED 

One normal for each face, indexed.

PER_VERTEX 

One normal for each vertex of object.

PER_VERTEX_INDEXED 

One normal for each vertex, indexed.

DEFAULT 

Obsolete bindings:

NONE 

Definition at line 103 of file SoNormalBinding.h.


Constructor & Destructor Documentation

SoNormalBinding::SoNormalBinding ( )
virtual SoNormalBinding::~SoNormalBinding ( ) [protected, virtual]

Member Function Documentation

virtual void SoNormalBinding::callback ( SoCallbackAction action) [virtual]

Reimplemented from SoNode.

virtual void SoNormalBinding::doAction ( SoAction action) [virtual]

The default implementation does nothing.

Reimplemented from SoNode.

virtual void SoNormalBinding::GLRender ( SoGLRenderAction action) [virtual]

Reimplemented from SoNode.

static void SoNormalBinding::initClass ( ) [static]

Reimplemented from SoNode.

virtual void SoNormalBinding::pick ( SoPickAction action) [virtual]

Reimplemented from SoNode.

virtual SbBool SoNormalBinding::readInstance ( SoInput in,
unsigned short  flags 
) [protected, virtual]

Reimplemented from SoFieldContainer.


Member Data Documentation


The documentation for this class was generated from the following file: