Provided by: inventor-doc_2.1.5-10-18_all
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 SoMaterial(3IV)()