SoMaterialBinding(3IV)NAMESoMaterialBinding (SoMtlBind) - node that specifies how multiple
materials are bound to shapes
INHERITS FROM
SoBase > SoFieldContainer > SoNode > SoMaterialBindingSYNOPSIS
#include <Inventor_c/nodes/SoMaterialBinding.h>
typedef SoMaterialBinding SoMtlBind
enum SoMaterialBindingBinding {
SO_MTL_BIND_OVERALL Whole object has same material
SO_MTL_BIND_PER_PART One material for each part of object
SO_MTL_BIND_PER_PART_INDEXED
One material for each part, indexed
SO_MTL_BIND_PER_FACE One material for each face of object
SO_MTL_BIND_PER_FACE_INDEXED
One material for each face, indexed
SO_MTL_BIND_PER_VERTEX One material for each vertex of object
SO_MTL_BIND_PER_VERTEX_INDEXED
One material for each vertex, indexed
}
Fields from class SoMaterialBinding:
SoSFEnum value
Functions from class SoMaterialBinding:
SoMaterialBinding * SoMtlBindCreate()
SoType SoMtlBindGetClassTypeId()
Functions from class SoNode:
void SoMtlBindSetOverride(SoMtlBind *this, SbBool state)
SbBool SoMtlBindIsOverride(const SoMtlBind *this)
SoNode * SoMtlBindCopy(const SoMtlBind *this, SbBool
copyConnections = FALSE)
SbBool SoMtlBindAffectsState(const SoMtlBind *this)
SoNode * SoMtlBindGetByName(const char *name)
int SoMtlBindGetByNameList(const char *name, SoNodeList
*list)
Functions from class SoFieldContainer:
void SoMtlBindSetToDflts(SoMtlBind *this)
SbBool SoMtlBindHasDfltVals(const SoMtlBind *this)
SbBool SoMtlBindFldsAreEq(const SoMtlBind *this, const
SoFieldContainer *fc)
Page 1SoMaterialBinding(3IV)
void SoMtlBindCopyFieldVals(SoMtlBind *this, const
SoFieldContainer *fc, SbBool copyConnections =
FALSE)
SbBool SoMtlBindSet(SoMtlBind *this, const char
*fieldDataString)
void SoMtlBindGet(SoMtlBind *this, SbString
*fieldDataString)
int SoMtlBindGetFields(const SoMtlBind *this, SoFieldList
*resultList)
SoField * SoMtlBindGetField(const SoMtlBind *this, const char
*fieldName)
SbBool SoMtlBindGetFieldName(const SoMtlBind *this, const
SoField *field, SbName *fieldName)
SbBool SoMtlBindIsNotifyEnabled(const SoMtlBind *this)
SbBool SoMtlBindEnableNotify(SoMtlBind *this, SbBool flag)
Functions from class SoBase:
void SoMtlBindRef(SoMtlBind *this)
void SoMtlBindUnref(const SoMtlBind *this)
void SoMtlBindUnrefNoDelete(const SoMtlBind *this)
void SoMtlBindTouch(SoMtlBind *this)
SoType SoMtlBindGetTypeId(const SoMtlBind *this)
SbBool SoMtlBindIsOfType(const SoMtlBind *this, SoType type)
void SoMtlBindSetName(SoMtlBind *this, const char *name)
SbName SoMtlBindGetName(const SoMtlBind *this)
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.
Page 2SoMaterialBinding(3IV)FIELDS
SoSFEnum value
Specifies how to bind materials to shapes.
FUNCTIONSSoMaterialBinding * SoMtlBindCreate()
Creates a material binding node with default settings.
SoType SoMtlBindGetClassTypeId()
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
Page 3