Open CASCADE Technology  7.7.0
Public Member Functions | Static Public Member Functions

Graphic3d_MaterialAspect Class Reference

This class allows the definition of the type of a surface. Aspect attributes of a 3d face. Keywords: Material, FillArea, Shininess, Ambient, Color, Diffuse, Specular, Transparency, Emissive, ReflectionMode, BackFace, FrontFace, Reflection, Absorption. More...

#include <Graphic3d_MaterialAspect.hxx>

Public Member Functions

 Graphic3d_MaterialAspect ()
 Creates a material from default values. More...
 
 Graphic3d_MaterialAspect (const Graphic3d_NameOfMaterial theName)
 Creates a generic material. More...
 
Graphic3d_NameOfMaterial Name () const
 Returns the material name (within predefined enumeration). More...
 
Graphic3d_NameOfMaterial RequestedName () const
 Returns the material name within predefined enumeration which has been requested (before modifications). More...
 
const TCollection_AsciiStringStringName () const
 Returns the given name of this material. This might be: More...
 
Standard_CString MaterialName () const
 Returns the given name of this material. This might be: More...
 
void SetMaterialName (const TCollection_AsciiString &theName)
 The current material become a "UserDefined" material. Set the name of the "UserDefined" material. More...
 
void Reset ()
 Resets the material with the original values according to the material name but leave the current color values untouched for the material of type ASPECT. More...
 
const Quantity_ColorColor () const
 Returns the diffuse color of the surface. WARNING! This method does NOT return color for Graphic3d_MATERIAL_ASPECT material (color is defined by Graphic3d_Aspects::InteriorColor()). More...
 
void SetColor (const Quantity_Color &theColor)
 Modifies the ambient and diffuse color of the surface. WARNING! Has no effect for Graphic3d_MATERIAL_ASPECT material (color should be set to Graphic3d_Aspects::SetInteriorColor()). More...
 
Standard_ShortReal Transparency () const
 Returns the transparency coefficient of the surface (1.0 - Alpha); 0.0 means opaque. More...
 
Standard_ShortReal Alpha () const
 Returns the alpha coefficient of the surface (1.0 - Transparency); 1.0 means opaque. More...
 
void SetTransparency (const Standard_ShortReal theValue)
 Modifies the transparency coefficient of the surface, where 0 is opaque and 1 is fully transparent. Transparency is applicable to materials that have at least one of reflection modes (ambient, diffuse, specular or emissive) enabled. See also SetReflectionModeOn() and SetReflectionModeOff() methods. More...
 
void SetAlpha (Standard_ShortReal theValue)
 Modifies the alpha coefficient of the surface, where 1.0 is opaque and 0.0 is fully transparent. More...
 
const Quantity_ColorAmbientColor () const
 Returns the ambient color of the surface. More...
 
void SetAmbientColor (const Quantity_Color &theColor)
 Modifies the ambient color of the surface. More...
 
const Quantity_ColorDiffuseColor () const
 Returns the diffuse color of the surface. More...
 
void SetDiffuseColor (const Quantity_Color &theColor)
 Modifies the diffuse color of the surface. More...
 
const Quantity_ColorSpecularColor () const
 Returns the specular color of the surface. More...
 
void SetSpecularColor (const Quantity_Color &theColor)
 Modifies the specular color of the surface. More...
 
const Quantity_ColorEmissiveColor () const
 Returns the emissive color of the surface. More...
 
void SetEmissiveColor (const Quantity_Color &theColor)
 Modifies the emissive color of the surface. More...
 
Standard_ShortReal Shininess () const
 Returns the luminosity of the surface. More...
 
void SetShininess (const Standard_ShortReal theValue)
 Modifies the luminosity of the surface. Warning: Raises MaterialDefinitionError if given value is a negative value or greater than 1.0. More...
 
void IncreaseShine (const Standard_ShortReal theDelta)
 Increases or decreases the luminosity. More...
 
Standard_ShortReal RefractionIndex () const
 Returns the refraction index of the material. More...
 
void SetRefractionIndex (const Standard_ShortReal theValue)
 Modifies the refraction index of the material. Warning: Raises MaterialDefinitionError if given value is a lesser than 1.0. More...
 
const Graphic3d_BSDFBSDF () const
 Returns BSDF (bidirectional scattering distribution function). More...
 
void SetBSDF (const Graphic3d_BSDF &theBSDF)
 Modifies the BSDF (bidirectional scattering distribution function). More...
 
const Graphic3d_PBRMaterialPBRMaterial () const
 Returns physically based representation of material. More...
 
void SetPBRMaterial (const Graphic3d_PBRMaterial &thePBRMaterial)
 Modifies the physically based representation of material. More...
 
Standard_Boolean ReflectionMode (const Graphic3d_TypeOfReflection theType) const
 Returns TRUE if the reflection mode is active, FALSE otherwise. More...
 
Graphic3d_TypeOfMaterial MaterialType () const
 Returns material type. More...
 
Standard_Boolean MaterialType (const Graphic3d_TypeOfMaterial theType) const
 Returns TRUE if type of this material is equal to specified type. More...
 
void SetMaterialType (const Graphic3d_TypeOfMaterial theType)
 Set material type. More...
 
Standard_Boolean IsDifferent (const Graphic3d_MaterialAspect &theOther) const
 Returns TRUE if this material differs from specified one. More...
 
Standard_Boolean operator!= (const Graphic3d_MaterialAspect &theOther) const
 Returns TRUE if this material differs from specified one. More...
 
Standard_Boolean IsEqual (const Graphic3d_MaterialAspect &theOther) const
 Returns TRUE if this material is identical to specified one. More...
 
Standard_Boolean operator== (const Graphic3d_MaterialAspect &theOther) const
 Returns TRUE if this material is identical to specified one. More...
 
void DumpJson (Standard_OStream &theOStream, Standard_Integer theDepth=-1) const
 Dumps the content of me into the stream. More...
 
void SetReflectionModeOff (const Graphic3d_TypeOfReflection theType)
 Deactivates the reflective properties of the surface with specified reflection type. More...
 

Static Public Member Functions

static Standard_Integer NumberOfMaterials ()
 Returns the number of predefined textures. More...
 
static Standard_CString MaterialName (const Standard_Integer theRank)
 Returns the name of the predefined material of specified rank within range [1, NumberOfMaterials()]. More...
 
static Graphic3d_TypeOfMaterial MaterialType (const Standard_Integer theRank)
 Returns the type of the predefined material of specified rank within range [1, NumberOfMaterials()]. More...
 
static Standard_Boolean MaterialFromName (const Standard_CString theName, Graphic3d_NameOfMaterial &theMat)
 Finds the material for specified name. More...
 
static Graphic3d_NameOfMaterial MaterialFromName (const Standard_CString theName)
 Returns the material for specified name or Graphic3d_NameOfMaterial_DEFAULT if name is unknown. More...
 

Detailed Description

This class allows the definition of the type of a surface. Aspect attributes of a 3d face. Keywords: Material, FillArea, Shininess, Ambient, Color, Diffuse, Specular, Transparency, Emissive, ReflectionMode, BackFace, FrontFace, Reflection, Absorption.

Constructor & Destructor Documentation

◆ Graphic3d_MaterialAspect() [1/2]

Graphic3d_MaterialAspect::Graphic3d_MaterialAspect ( )

Creates a material from default values.

◆ Graphic3d_MaterialAspect() [2/2]

Graphic3d_MaterialAspect::Graphic3d_MaterialAspect ( const Graphic3d_NameOfMaterial  theName)

Creates a generic material.

Member Function Documentation

◆ Alpha()

Standard_ShortReal Graphic3d_MaterialAspect::Alpha ( ) const
inline

Returns the alpha coefficient of the surface (1.0 - Transparency); 1.0 means opaque.

◆ AmbientColor()

const Quantity_Color& Graphic3d_MaterialAspect::AmbientColor ( ) const
inline

Returns the ambient color of the surface.

◆ BSDF()

const Graphic3d_BSDF& Graphic3d_MaterialAspect::BSDF ( ) const
inline

Returns BSDF (bidirectional scattering distribution function).

◆ Color()

const Quantity_Color& Graphic3d_MaterialAspect::Color ( ) const
inline

Returns the diffuse color of the surface. WARNING! This method does NOT return color for Graphic3d_MATERIAL_ASPECT material (color is defined by Graphic3d_Aspects::InteriorColor()).

◆ DiffuseColor()

const Quantity_Color& Graphic3d_MaterialAspect::DiffuseColor ( ) const
inline

Returns the diffuse color of the surface.

◆ DumpJson()

void Graphic3d_MaterialAspect::DumpJson ( Standard_OStream theOStream,
Standard_Integer  theDepth = -1 
) const

Dumps the content of me into the stream.

◆ EmissiveColor()

const Quantity_Color& Graphic3d_MaterialAspect::EmissiveColor ( ) const
inline

Returns the emissive color of the surface.

◆ IncreaseShine()

void Graphic3d_MaterialAspect::IncreaseShine ( const Standard_ShortReal  theDelta)

Increases or decreases the luminosity.

Parameters
theDeltaa signed percentage

◆ IsDifferent()

Standard_Boolean Graphic3d_MaterialAspect::IsDifferent ( const Graphic3d_MaterialAspect theOther) const
inline

Returns TRUE if this material differs from specified one.

◆ IsEqual()

Standard_Boolean Graphic3d_MaterialAspect::IsEqual ( const Graphic3d_MaterialAspect theOther) const
inline

Returns TRUE if this material is identical to specified one.

◆ MaterialFromName() [1/2]

static Graphic3d_NameOfMaterial Graphic3d_MaterialAspect::MaterialFromName ( const Standard_CString  theName)
inlinestatic

Returns the material for specified name or Graphic3d_NameOfMaterial_DEFAULT if name is unknown.

◆ MaterialFromName() [2/2]

static Standard_Boolean Graphic3d_MaterialAspect::MaterialFromName ( const Standard_CString  theName,
Graphic3d_NameOfMaterial theMat 
)
static

Finds the material for specified name.

Parameters
theName[in] name to find
theMat[out] found material
Returns
FALSE if name was unrecognized

◆ MaterialName() [1/2]

Standard_CString Graphic3d_MaterialAspect::MaterialName ( ) const
inline

Returns the given name of this material. This might be:

◆ MaterialName() [2/2]

static Standard_CString Graphic3d_MaterialAspect::MaterialName ( const Standard_Integer  theRank)
static

Returns the name of the predefined material of specified rank within range [1, NumberOfMaterials()].

◆ MaterialType() [1/3]

Graphic3d_TypeOfMaterial Graphic3d_MaterialAspect::MaterialType ( ) const
inline

Returns material type.

◆ MaterialType() [2/3]

Standard_Boolean Graphic3d_MaterialAspect::MaterialType ( const Graphic3d_TypeOfMaterial  theType) const
inline

Returns TRUE if type of this material is equal to specified type.

◆ MaterialType() [3/3]

static Graphic3d_TypeOfMaterial Graphic3d_MaterialAspect::MaterialType ( const Standard_Integer  theRank)
static

Returns the type of the predefined material of specified rank within range [1, NumberOfMaterials()].

◆ Name()

Graphic3d_NameOfMaterial Graphic3d_MaterialAspect::Name ( ) const
inline

Returns the material name (within predefined enumeration).

◆ NumberOfMaterials()

static Standard_Integer Graphic3d_MaterialAspect::NumberOfMaterials ( )
inlinestatic

Returns the number of predefined textures.

◆ operator!=()

Standard_Boolean Graphic3d_MaterialAspect::operator!= ( const Graphic3d_MaterialAspect theOther) const
inline

Returns TRUE if this material differs from specified one.

◆ operator==()

Standard_Boolean Graphic3d_MaterialAspect::operator== ( const Graphic3d_MaterialAspect theOther) const
inline

Returns TRUE if this material is identical to specified one.

◆ PBRMaterial()

const Graphic3d_PBRMaterial& Graphic3d_MaterialAspect::PBRMaterial ( ) const
inline

Returns physically based representation of material.

◆ ReflectionMode()

Standard_Boolean Graphic3d_MaterialAspect::ReflectionMode ( const Graphic3d_TypeOfReflection  theType) const
inline

Returns TRUE if the reflection mode is active, FALSE otherwise.

◆ RefractionIndex()

Standard_ShortReal Graphic3d_MaterialAspect::RefractionIndex ( ) const
inline

Returns the refraction index of the material.

◆ RequestedName()

Graphic3d_NameOfMaterial Graphic3d_MaterialAspect::RequestedName ( ) const
inline

Returns the material name within predefined enumeration which has been requested (before modifications).

◆ Reset()

void Graphic3d_MaterialAspect::Reset ( void  )
inline

Resets the material with the original values according to the material name but leave the current color values untouched for the material of type ASPECT.

◆ SetAlpha()

void Graphic3d_MaterialAspect::SetAlpha ( Standard_ShortReal  theValue)
inline

Modifies the alpha coefficient of the surface, where 1.0 is opaque and 0.0 is fully transparent.

◆ SetAmbientColor()

void Graphic3d_MaterialAspect::SetAmbientColor ( const Quantity_Color theColor)

Modifies the ambient color of the surface.

◆ SetBSDF()

void Graphic3d_MaterialAspect::SetBSDF ( const Graphic3d_BSDF theBSDF)
inline

Modifies the BSDF (bidirectional scattering distribution function).

◆ SetColor()

void Graphic3d_MaterialAspect::SetColor ( const Quantity_Color theColor)

Modifies the ambient and diffuse color of the surface. WARNING! Has no effect for Graphic3d_MATERIAL_ASPECT material (color should be set to Graphic3d_Aspects::SetInteriorColor()).

◆ SetDiffuseColor()

void Graphic3d_MaterialAspect::SetDiffuseColor ( const Quantity_Color theColor)

Modifies the diffuse color of the surface.

◆ SetEmissiveColor()

void Graphic3d_MaterialAspect::SetEmissiveColor ( const Quantity_Color theColor)

Modifies the emissive color of the surface.

◆ SetMaterialName()

void Graphic3d_MaterialAspect::SetMaterialName ( const TCollection_AsciiString theName)
inline

The current material become a "UserDefined" material. Set the name of the "UserDefined" material.

◆ SetMaterialType()

void Graphic3d_MaterialAspect::SetMaterialType ( const Graphic3d_TypeOfMaterial  theType)

Set material type.

◆ SetPBRMaterial()

void Graphic3d_MaterialAspect::SetPBRMaterial ( const Graphic3d_PBRMaterial thePBRMaterial)
inline

Modifies the physically based representation of material.

◆ SetReflectionModeOff()

void Graphic3d_MaterialAspect::SetReflectionModeOff ( const Graphic3d_TypeOfReflection  theType)
inline

Deactivates the reflective properties of the surface with specified reflection type.

Deprecated:
("Deprecated method, specific material component should be zerroed instead")

◆ SetRefractionIndex()

void Graphic3d_MaterialAspect::SetRefractionIndex ( const Standard_ShortReal  theValue)

Modifies the refraction index of the material. Warning: Raises MaterialDefinitionError if given value is a lesser than 1.0.

◆ SetShininess()

void Graphic3d_MaterialAspect::SetShininess ( const Standard_ShortReal  theValue)

Modifies the luminosity of the surface. Warning: Raises MaterialDefinitionError if given value is a negative value or greater than 1.0.

◆ SetSpecularColor()

void Graphic3d_MaterialAspect::SetSpecularColor ( const Quantity_Color theColor)

Modifies the specular color of the surface.

◆ SetTransparency()

void Graphic3d_MaterialAspect::SetTransparency ( const Standard_ShortReal  theValue)

Modifies the transparency coefficient of the surface, where 0 is opaque and 1 is fully transparent. Transparency is applicable to materials that have at least one of reflection modes (ambient, diffuse, specular or emissive) enabled. See also SetReflectionModeOn() and SetReflectionModeOff() methods.

Warning: Raises MaterialDefinitionError if given value is a negative value or greater than 1.0.

◆ Shininess()

Standard_ShortReal Graphic3d_MaterialAspect::Shininess ( ) const
inline

Returns the luminosity of the surface.

◆ SpecularColor()

const Quantity_Color& Graphic3d_MaterialAspect::SpecularColor ( ) const
inline

Returns the specular color of the surface.

◆ StringName()

const TCollection_AsciiString& Graphic3d_MaterialAspect::StringName ( ) const
inline

Returns the given name of this material. This might be:

  • given name set by method ::SetMaterialName()
  • standard name for a material within enumeration
  • "UserDefined" for non-standard material without name specified externally.

◆ Transparency()

Standard_ShortReal Graphic3d_MaterialAspect::Transparency ( ) const
inline

Returns the transparency coefficient of the surface (1.0 - Alpha); 0.0 means opaque.


The documentation for this class was generated from the following file: