Provided by: inventor-doc_2.1.5-10-18_all bug


       SoMaterial — surface material definition node


       SoBase > SoFieldContainer > SoNode > SoMaterial


       #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:

     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 =
     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


       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.


     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.


          Creates a material node with default settings.

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


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


       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


       SoBaseColor, SoLightModel, SoMaterialBinding, SoPackedColor