table of contents
SoMaterial(3IV)() | SoMaterial(3IV)() |
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