SoMaterial(3IV)

SoMaterial - surface material definition node

As shipped in IRIX 6.5.30. Added in IRIX 6.5.22.

NAME
     SoMaterial - surface material definition node

INHERITS FROM
     SoBase > SoFieldContainer > SoNode > SoMaterial

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

          Fields from class SoMaterial:

     SoMFColor           ambientColor
     SoMFColor           diffuseColor
     SoMFColor           specularColor
     SoMFColor           emissiveColor
     SoMFFloat           shininess
     SoMFFloat           transparency

          Methods from class SoMaterial:

                         SoMaterial()
     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 defines the current surface material properties for all
     subsequent shapes. SoMaterial sets several components of the current
     material during traversal.

     Multiple values can be specified for the diffuseColor and transparency.
     Different shapes interpret materials with multiple values differently. To
     bind materials to shapes, use an SoMaterialBinding node.

FIELDS
     SoMFColor           ambientColor
          Ambient color of the surface.

     SoMFColor           diffuseColor
          Diffuse color(s) of the surface.

     SoMFColor           specularColor
          Specular color of the surface.

     SoMFColor           emissiveColor
          Emissive color of the surface.

     SoMFFloat           shininess
          Shininess coefficient of the surface. Values can range from 0.0 for
          no shininess (a diffuse surface) to 1.0 for maximum shininess (a
          highly polished surface).

     SoMFFloat           transparency
          Transparency value(s) of the surface. Values can range from 0.0 for
          opaque surfaces to 1.0 for completely transparent surfaces. If the
          transparency type is SoGLRenderAction::SCREEN_DOOR then only the
          first transparency value will be used. With other transparency
          types, multiple transparencies will be used, if the SoMaterial node
          contains as many transparencies as diffuse colors. If there are not
          as many transparencies as diffuse colors, only the first
          transparency will be used.


METHODS
                         SoMaterial()
          Creates a material node with default settings.

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


ACTION BEHAVIOR
     SoGLRenderAction, SoCallbackAction
          Sets the ambient color, the diffuse color, the specular color, the
          emissive color, the shininess, and the transparency of the current
          material.


FILE FORMAT/DEFAULTS
     Material {
          ambientColor   0.2 0.2 0.2
          diffuseColor   0.8 0.8 0.8
          specularColor  0 0 0
          emissiveColor  0 0 0
          shininess      0.2
          transparency   0
     }

SEE ALSO
     SoBaseColor, SoLightModel, SoMaterialBinding, SoPackedColor