SoMaterialBinding(3IV)

SoMaterialBinding - node that specifies how multiple materials are bound to shapes

Showing IRIX 6.5.30 (default release). Added in IRIX 6.5.22.

NAME
     SoMaterialBinding - node that specifies how multiple materials are bound
     to shapes

INHERITS FROM
     SoBase > SoFieldContainer > SoNode > SoMaterialBinding

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

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

          Fields from class SoMaterialBinding:

     SoSFEnum            value

          Methods from class SoMaterialBinding:

                         SoMaterialBinding()
     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 materials are bound to shapes that
     follow in the scene graph. Each shape node may interpret bindings
     differently. The current material always has a base value, which is
     defined by the first value of all material fields. Since material fields
     may have multiple values, the binding determines how these values are
     distributed over a shape.

     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.

     The bindings apply only to diffuse colors and transparency.  Other
     materials (emissive, specular, ambient, shininess) will have the first
     value applied to the entire shape, regardless of the material binding or
     the number provided.

     If the number of transparencies is less than the number of diffuse
     colors, only the first transparency value will be used, regardless of the
     material binding. If the number of diffuse colors in the state is less
     than the number required for the given binding, a debug warning will be
     printed and unpredictable colors will result.

FIELDS
     SoSFEnum            value
          Specifies how to bind materials to shapes.


METHODS
                         SoMaterialBinding()
          Creates a material binding node with default settings.

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


ACTION BEHAVIOR
     SoGLRenderAction, SoCallbackAction
          Sets the current material binding type.


FILE FORMAT/DEFAULTS
     MaterialBinding {
          value  OVERALL
     }

SEE ALSO
     SoMaterial, SoNormalBinding, SoShape, SoTextureCoordinateBinding