17 #ifndef SDF_MATERIAL_HH_ 
   18 #define SDF_MATERIAL_HH_ 
   21 #include <gz/utils/ImplPtr.hh> 
   30   inline namespace SDF_VERSION_NAMESPACE {
 
   72     public: gz::math::Color Ambient() 
const;
 
   78     public: 
void SetAmbient(
const gz::math::Color &_color);
 
   84     public: gz::math::Color Diffuse() 
const;
 
   90     public: 
void SetDiffuse(
const gz::math::Color &_color);
 
   96     public: gz::math::Color Specular() 
const;
 
  102     public: 
void SetSpecular(
const gz::math::Color &_color);
 
  106     public: 
double Shininess() 
const;
 
  110     public: 
void SetShininess(
const double _shininess);
 
  116     public: gz::math::Color Emissive() 
const;
 
  122     public: 
void SetEmissive(
const gz::math::Color &_color);
 
  128     public: 
float RenderOrder() 
const;
 
  133     public: 
void SetRenderOrder(
const float _renderOrder);
 
  138     public: 
bool Lighting() 
const;
 
  142     public: 
void SetLighting(
const bool _lighting);
 
  147     public: 
bool DoubleSided() 
const;
 
  151     public: 
void SetDoubleSided(
bool _doubleSided);
 
  162     public: std::string ScriptUri() 
const;
 
  166     public: 
void SetScriptUri(
const std::string &_uri);
 
  173     public: std::string ScriptName() 
const;
 
  178     public: 
void SetScriptName(
const std::string &_name);
 
  186     public: 
void SetShader(
const ShaderType &_type);
 
  192     public: std::string NormalMap() 
const;
 
  196     public: 
void SetNormalMap(
const std::string &_map);
 
  200     public: 
void SetPbrMaterial(
const Pbr &_pbr);
 
  204     public: 
const Pbr *PbrMaterial() 
const;
 
  208     public: 
const std::string &FilePath() 
const;
 
  212     public: 
void SetFilePath(
const std::string &_filePath);
 
  222     GZ_UTILS_IMPL_PTR(dataPtr)