| SoMaterial(3IV)() | SoMaterial(3IV)() | 
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:
  
  
  	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
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.
  
	SoMaterial()
  
  
  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