SoNormalBinding — node that specifies how multiple surface normals are bound to shapes
Contents
Action Behavior
SoGLRenderAction,SoCallbackAction,SoRayPickAction
Sets the current normal binding type.
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
SoSFEnumvalue
Specifies how to bind normals to shapes.
File Format/Defaults
NormalBinding{valuePER_VERTEX_INDEXED}Inherits From
SoBase > SoFieldContainer > SoNode > SoNormalBinding
Methods
SoNormalBinding()
Creates a normal binding node with default settings.
staticSoTypegetClassTypeId()
Returns type identifier for this class.
Name
SoNormalBinding — node that specifies how multiple surface normals are bound to shapes
See Also
SoMaterialBinding,SoNormal,SoTextureCoordinateBinding,SoVertexShapeSoNormalBinding(3IV)()
Synopsis
#include<Inventor/nodes/SoNormalBinding.h>enumBinding{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:
SoSFEnumvalue
Methods from class SoNormalBinding:
SoNormalBinding()staticSoTypegetClassTypeId()
Methods from class SoNode:
voidsetOverride(SbBoolstate)SbBoolisOverride()constSoNode*copy(SbBoolcopyConnections=FALSE)constvirtualSbBoolaffectsState()conststaticSoNode*getByName(constSbName&name)staticintgetByName(constSbName&name,SoNodeList&list)
Methods from class SoFieldContainer:
voidsetToDefaults()SbBoolhasDefaultValues()constSbBoolfieldsAreEqual(constSoFieldContainer*fc)constvoidcopyFieldValues(constSoFieldContainer*fc,SbBoolcopyConnections=FALSE)SbBoolset(constchar*fieldDataString)voidget(SbString&fieldDataString)virtualintgetFields(SoFieldList&resultList)constvirtualSoField*getField(constSbName&fieldName)constSbBoolgetFieldName(constSoField*field,SbName&fieldName)constSbBoolisNotifyEnabled()constSbBoolenableNotify(SbBoolflag)
Methods from class SoBase:
voidref()voidunref()constvoidunrefNoDelete()constvoidtouch()virtualSoTypegetTypeId()constSbBoolisOfType(SoTypetype)constvirtualvoidsetName(constSbName&name)virtualSbNamegetName()const