SoNormalBinding(3IV)

NAME
SoNormalBinding — node that specifies how multiple surface normals are bound to shapes

INHERITS FROM
SoBase > SoFieldContainer > SoNode > SoNormalBinding

SYNOPSIS
#include <Inventor/nodes/SoNormalBinding.h>

enum Binding {
SoNormalBinding::OVERALL
Whole object has same normal
SoNormalBinding::PER_PART
One normal for each part of object
SoNormalBinding::PER_PART_INDEXED
One normal for each part, indexed
SoNormalBinding::PER_FACE
One normal for each face of object
SoNormalBinding::PER_FACE_INDEXED
One normal for each face, indexed
SoNormalBinding::PER_VERTEX
One normal for each vertex of object
SoNormalBinding::PER_VERTEX_INDEXED
One normal for each vertex, indexed
}

Fields from class SoNormalBinding:

SoSFEnum
value

Methods from class SoNormalBinding:

SoNormalBinding()
static SoType
getClassTypeId()

Methods from class SoNode:

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

Methods from class SoFieldContainer:

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

Methods from class SoBase:

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

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.

FIELDS
SoSFEnum
value
Specifies how to bind normals to shapes.

METHODS

SoNormalBinding()
Creates a normal binding node with default settings.

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

ACTION BEHAVIOR
SoGLRenderAction, SoCallbackAction, SoRayPickAction
Sets the current normal binding type.

FILE FORMAT/DEFAULTS
NormalBinding {
value	PER_VERTEX_INDEXED
}

SEE ALSO
SoMaterialBinding, SoNormal, SoTextureCoordinateBinding, SoVertexShape