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);
139 public:
bool DoubleSided()
const;
143 public:
void SetDoubleSided(
bool _doubleSided);
154 public: std::string ScriptUri()
const;
158 public:
void SetScriptUri(
const std::string &_uri);
165 public: std::string ScriptName()
const;
170 public:
void SetScriptName(
const std::string &_name);
178 public:
void SetShader(
const ShaderType &_type);
184 public: std::string NormalMap()
const;
188 public:
void SetNormalMap(
const std::string &_map);
192 public:
void SetPbrMaterial(
const Pbr &_pbr);
196 public:
Pbr *PbrMaterial()
const;
200 public:
const std::string &FilePath()
const;
204 public:
void SetFilePath(
const std::string &_filePath);
207 private: MaterialPrivate *dataPtr =
nullptr;