Open CASCADE Technology  6.5.4
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Member Functions | Static Public Member Functions
Graphic3d_MaterialAspect Class Reference

This class allows the definition of the type of a surface.
Keywords: Material, FillArea, Shininess, Ambient, Color, Diffuse,
Specular, Transparency, Emissive, ReflectionMode,
BackFace, FrontFace, Reflection, Absorbtion

#include <Graphic3d_MaterialAspect.hxx>

Public Member Functions

DEFINE_STANDARD_ALLOC Graphic3d_MaterialAspect ()
 Creates a material from default values.

 Graphic3d_MaterialAspect (const Graphic3d_NameOfMaterial AName)
 Creates a generic material calls <AName>

void IncreaseShine (const Standard_Real ADelta)
 Increases or decreases the luminosity of <me>.
<ADelta> is a signed percentage.

void SetAmbient (const Standard_Real AValue)
 Modifies the reflection properties of the surface.
Category: Methods to modify the class definition
Warning: Raises MaterialDefinitionError if <AValue> is
a negative value or greater than 1.0.

void SetDiffuse (const Standard_Real AValue)
 Modifies the reflection properties of the surface.
Category: Methods to modify the class definition
Warning: Raises MaterialDefinitionError if <AValue> is a
negative value or greater than 1.0.

void SetEmissive (const Standard_Real AValue)
 Modifies the reflection properties of the surface.
Category: Methods to modify the class definition
Warning: Raises MaterialDefinitionError if <AValue> is a
negative value or greater than 1.0.

void SetShininess (const Standard_Real AValue)
 Modifies the luminosity of the surface.
Category: Methods to modify the class definition
Warning: Raises MaterialDefinitionError if <AValue> is a
negative value or greater than 1.0.

void SetSpecular (const Standard_Real AValue)
 Modifies the reflection properties of the surface.
Category: Methods to modify the class definition
Warning: Raises MaterialDefinitionError if <AValue> is a
negative value or greater than 1.0.

void SetTransparency (const Standard_Real AValue)
 Modifies the transparency coefficient of the surface.
<AValue> = 0. opaque. (default)
<AValue> = 1. 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.

NOTE: In order for transparency specified through this method to
take effect, it is necessary to enable transparency
in the viewer. This can be done either directly -
see Visual3d_ViewManager::SetTransparency(Standard_Boolean),
or indirectly - by calling AIS_InteractiveObject::SetTransparency()
before an object is added to an interactive context, or by
calling AIS_InteractiveContext::SetTransparency() for a given
interactive object already displayed.
Category: Methods to modify the class definition
Warning: Raises MaterialDefinitionError if <AValue> is a
negative value or greater than 1.0.

void SetColor (const Quantity_Color &AColor)
 Modifies the ambient colour of the surface.
Category: Methods to modify the class definition

void SetAmbientColor (const Quantity_Color &AColor)
 Modifies the ambient colour of the surface.

void SetDiffuseColor (const Quantity_Color &AColor)
 Modifies the difuse colour of the surface.

void SetSpecularColor (const Quantity_Color &AColor)
 Modifies the specular colour of the surface.

void SetEmissiveColor (const Quantity_Color &AColor)
 Modifies the emissive colour of the surface.

void SetReflectionModeOn (const Graphic3d_TypeOfReflection AType)
 Activates the reflective properties of the surface <AType>.

TypeOfReflection : TOR_AMBIENT
TOR_DIFFUSE
TOR_SPECULAR
TOR_EMISSION
1, 2, 3 or 4 types of reflection can be set for a given surface.

void SetReflectionModeOff (const Graphic3d_TypeOfReflection AType)
 Deactivates the reflective properties of
the surface <AType>.

TypeOfReflection : TOR_AMBIENT
TOR_DIFFUSE
TOR_SPECULAR
TOR_EMISSION
1, 2, 3 or 4 types of reflection can be set off for a given surface.
Disabling diffuse and specular reflectance is useful for efficient visualization
of large amounts of data as definition of normals for graphic primitives is not needed
when only "all-directional" reflectance is active.

NOTE: Disabling all four reflection modes also turns off the following effects:

void SetMaterialType (const Graphic3d_TypeOfMaterial AType)
 Set MyMaterialType to the value of parameter <AType>

TypeOfMaterial : MATERIAL_ASPECT
MATERIAL_PHYSIC

void SetMaterialName (const Standard_CString AName)
 The current matarial become a "UserDefined" material.
Set the name of the "UserDefined" material.

void SetEnvReflexion (const Standard_ShortReal AValue)
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.

Quantity_Color Color () const
 Returns the ambient colour of the surface.

Quantity_Color AmbientColor () const
 Returns the ambient colour of the surface.

Quantity_Color DiffuseColor () const
 Returns the diffuse colour of the surface.

Quantity_Color SpecularColor () const
 Returns the specular colour of the surface.

Quantity_Color EmissiveColor () const
 Returns the emissive colour of the surface.

Standard_Real Ambient () const
 Returns the reflection properties of the surface.

Standard_Real Diffuse () const
 Returns the reflection properties of the surface.

Standard_Real Specular () const
 Returns the reflection properties of the surface.

Standard_Real Transparency () const
 Returns the transparency coefficient of the surface.

Standard_Real Emissive () const
 Returns the emissive coefficient of the surface.

Standard_Real Shininess () const
 Returns the luminosity of the surface.

Standard_Boolean ReflectionMode (const Graphic3d_TypeOfReflection AType) const
 Returns Standard_True if the reflection mode is active,
Standard_False otherwise.

Standard_Boolean MaterialType (const Graphic3d_TypeOfMaterial AType) const
 Returns Standard_True if MyMaterialType equal the parameter AType,
Standard_False otherwise.

Standard_ShortReal EnvReflexion () const
Graphic3d_NameOfMaterial Name () const
 Returns the material name.

Standard_Boolean IsDifferent (const Graphic3d_MaterialAspect &Other) const
 Returns Standard_True if the materials <me> and
<Other> are different.

Standard_Boolean operator!= (const Graphic3d_MaterialAspect &Other) const
Standard_Boolean IsEqual (const Graphic3d_MaterialAspect &Other) const
 Returns Standard_True if the materials <me> and
<Other> are identical.

Standard_Boolean operator== (const Graphic3d_MaterialAspect &Other) const
Standard_CString MaterialName () const
 Returns the name of this material

Static Public Member Functions

static Standard_Integer NumberOfMaterials ()
 Returns the number of predefined textures.

static Standard_CString MaterialName (const Standard_Integer aRank)
 Returns the name of the predefined material of rank <aRank>
Trigger: when <aRank> is < 1 or > NumberOfMaterials.

static Graphic3d_TypeOfMaterial MaterialType (const Standard_Integer aRank)
 Returns the type of the predefined material of rank <aRank>
Trigger: when <aRank> is < 1 or > NumberOfMaterials.


Constructor & Destructor Documentation


Member Function Documentation

Standard_Boolean Graphic3d_MaterialAspect::operator!= ( const Graphic3d_MaterialAspect Other) const [inline]
Standard_Boolean Graphic3d_MaterialAspect::operator== ( const Graphic3d_MaterialAspect Other) const [inline]
  1. Lighting. Colors of primitives are not affected by the material properties when lighting is off.
  2. Transparency.

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