17#ifndef GAZEBO_COMMON_MATERIAL_HH_
18#define GAZEBO_COMMON_MATERIAL_HH_
22#include <ignition/math/Color.hh>
37 public:
static std::string ShadeModeStr[SHADE_COUNT];
40 public:
static std::string BlendModeStr[BLEND_COUNT];
50 public:
explicit Material(
const ignition::math::Color &_clr);
65 const std::string &_resourcePath);
74 public:
void SetAmbient(
const ignition::math::Color &_clr);
78 public: ignition::math::Color
Ambient()
const;
82 public:
void SetDiffuse(
const ignition::math::Color &_clr);
86 public: ignition::math::Color
Diffuse()
const;
94 public: ignition::math::Color
Specular()
const;
178 _out <<
"Material:\n";
179 _out <<
" Name: " << _m.
name <<
"\n";
180 _out <<
" Texture: " << _m.
texImage <<
"\n";
181 _out <<
" Ambient: " << _m.
ambient <<
"\n";
182 _out <<
" Diffuse: " << _m.
diffuse <<
"\n";
183 _out <<
" Specular: " << _m.
specular <<
"\n";
184 _out <<
" Emissive: " << _m.
emissive <<
"\n";
186 _out <<
" Shininess: " << _m.
shininess <<
"\n";
187 _out <<
" BlendMode: " << BlendModeStr[_m.
blendMode] <<
"\n";
188 _out <<
" ShadeMode: " << ShadeModeStr[_m.
shadeMode] <<
"\n";
189 _out <<
" DepthWrite: " << _m.depthWrite <<
"\n";
212 protected:
double transparency = 0.0;
215 protected:
double shininess = 0.0;
227 private:
static unsigned int counter;
230 private:
bool depthWrite =
true;
232 private:
bool lighting =
true;
235 private:
double srcBlendFactor;
238 private:
double dstBlendFactor;
common
Definition FuelModelDatabase.hh:37
Encapsulates description of a material.
Definition common/Material.hh:35
void SetTextureImage(const std::string &_tex)
Set a texture image.
void SetShadeMode(ShadeMode _b)
Set the shading mode param[in] the shading mode.
ignition::math::Color Diffuse() const
Get the diffuse color.
bool GetDepthWrite() const
Get depth write.
void GetBlendFactors(double &_srcFactor, double &_dstFactor) const
Get the blend factors.
ignition::math::Color emissive
the emissive light color
Definition common/Material.hh:209
BlendMode GetBlendMode() const
Get the blending mode.
void SetDiffuse(const ignition::math::Color &_clr)
Set the diffuse color.
double pointSize
point size
Definition common/Material.hh:218
void SetSpecular(const ignition::math::Color &_clr)
Set the specular color.
BlendMode
Definition common/Material.hh:39
@ MODULATE
Definition common/Material.hh:39
@ REPLACE
Definition common/Material.hh:39
@ BLEND_COUNT
Definition common/Material.hh:39
@ ADD
Definition common/Material.hh:39
void SetTextureImage(const std::string &_tex, const std::string &_resourcePath)
Set a texture image.
ignition::math::Color Emissive() const
Get the emissive color.
void SetDepthWrite(bool _value)
Set depth write.
void SetTransparency(double _t)
Set the transparency percentage (0..1)
Material(const ignition::math::Color &_clr)
Create a material with a default color.
static std::string BlendModeStr[BLEND_COUNT]
Definition common/Material.hh:40
virtual ~Material()
Destructor.
void SetPointSize(double _size)
Set the point size.
double shininess
shininess value (0 to 1)
Definition common/Material.hh:215
ShadeMode GetShadeMode() const
Get the shading mode.
ignition::math::Color Specular() const
Get the specular color.
std::string texImage
the texture image file name
Definition common/Material.hh:197
static std::string ShadeModeStr[SHADE_COUNT]
Definition common/Material.hh:37
ignition::math::Color diffuse
the diffuse ligth color
Definition common/Material.hh:203
ShadeMode shadeMode
the shade mode
Definition common/Material.hh:224
void SetBlendMode(BlendMode _b)
Set the blending mode.
void SetShininess(double _t)
Set the shininess.
friend std::ostream & operator<<(std::ostream &_out, const gazebo::common::Material &_m)
Stream insertion operator param[in] _out the output stream to extract from param[out] _m the material...
Definition common/Material.hh:175
void SetAmbient(const ignition::math::Color &_clr)
Set the ambient color.
std::string GetName() const
Get the name of the material.
std::string name
the name of the material
Definition common/Material.hh:194
BlendMode blendMode
blend mode
Definition common/Material.hh:221
double GetTransparency() const
Get the transparency percentage (0..1)
void SetLighting(bool _value)
Set lighting enabled.
ignition::math::Color specular
the specular light color
Definition common/Material.hh:206
double GetPointSize() const
Get the point size.
ignition::math::Color ambient
the ambient light color
Definition common/Material.hh:200
bool GetLighting() const
Get lighting enabled.
double GetShininess() const
Get the shininess.
double transparency
transparency value in the range 0 to 1
Definition common/Material.hh:212
void SetBlendFactors(double _srcFactor, double _dstFactor)
Set the blende factors.
ShadeMode
Definition common/Material.hh:36
@ FLAT
Definition common/Material.hh:36
@ BLINN
Definition common/Material.hh:36
@ GOURAUD
Definition common/Material.hh:36
@ SHADE_COUNT
Definition common/Material.hh:36
@ PHONG
Definition common/Material.hh:36
std::string GetTextureImage() const
Get a texture image.
ignition::math::Color Ambient() const
Get the ambient color.
void SetEmissive(const ignition::math::Color &_clr)
Set the emissive color.
Forward declarations for the common classes.
Definition Animation.hh:27