17 #ifndef SDF_MATERIAL_HH_ 18 #define SDF_MATERIAL_HH_ 23 #include "sdf/sdf_config.h" 29 inline namespace SDF_VERSION_NAMESPACE {
33 class MaterialPrivate;
83 public: ignition::math::Color Ambient()
const;
89 public:
void SetAmbient(
const ignition::math::Color &_color)
const;
95 public: ignition::math::Color Diffuse()
const;
101 public:
void SetDiffuse(
const ignition::math::Color &_color)
const;
107 public: ignition::math::Color Specular()
const;
113 public:
void SetSpecular(
const ignition::math::Color &_color)
const;
119 public: ignition::math::Color Emissive()
const;
125 public:
void SetEmissive(
const ignition::math::Color &_color)
const;
130 public:
bool Lighting()
const;
134 public:
void SetLighting(
const bool _lighting);
145 public: std::string ScriptUri()
const;
149 public:
void SetScriptUri(
const std::string &_uri);
156 public: std::string ScriptName()
const;
161 public:
void SetScriptName(
const std::string &_name);
169 public:
void SetShader(
const ShaderType &_type);
175 public: std::string NormalMap()
const;
179 public:
void SetNormalMap(
const std::string &_map);
183 public:
void SetPbrMaterial(
const Pbr &_pbr);
187 public:
Pbr *PbrMaterial()
const;
191 public:
const std::string &FilePath()
const;
195 public:
void SetFilePath(
const std::string &_filePath);
198 private: MaterialPrivate *dataPtr =
nullptr;
class SDFORMAT_VISIBLE Element
Definition: Element.hh:49
ShaderType
Definition: Material.hh:36
This class contains visual material properties.
Definition: Material.hh:45
#define SDFORMAT_VISIBLE
Use to represent "symbol visible" if supported.
Definition: system_util.hh:48
This class provides access to Physically-Based-Rendering (PBR) material workflows.
Definition: Pbr.hh:246
std::shared_ptr< Element > ElementPtr
Definition: Element.hh:53
namespace for Simulation Description Format parser
Definition: Actor.hh:32
std::vector< Error > Errors
A vector of Error.
Definition: Types.hh:95