17 #ifndef SDF_MATERIAL_HH_ 
   18 #define SDF_MATERIAL_HH_ 
   21 #include <gz/utils/ImplPtr.hh> 
   30   inline namespace SDF_VERSION_NAMESPACE {
 
   62     public: gz::math::Color Ambient() 
const;
 
   68     public: 
void SetAmbient(
const gz::math::Color &_color);
 
   74     public: gz::math::Color Diffuse() 
const;
 
   80     public: 
void SetDiffuse(
const gz::math::Color &_color);
 
   86     public: gz::math::Color Specular() 
const;
 
   92     public: 
void SetSpecular(
const gz::math::Color &_color);
 
   96     public: 
double Shininess() 
const;
 
  100     public: 
void SetShininess(
const double _shininess);
 
  106     public: gz::math::Color Emissive() 
const;
 
  112     public: 
void SetEmissive(
const gz::math::Color &_color);
 
  118     public: 
float RenderOrder() 
const;
 
  123     public: 
void SetRenderOrder(
const float _renderOrder);
 
  128     public: 
bool Lighting() 
const;
 
  132     public: 
void SetLighting(
const bool _lighting);
 
  137     public: 
bool DoubleSided() 
const;
 
  141     public: 
void SetDoubleSided(
bool _doubleSided);
 
  152     public: std::string ScriptUri() 
const;
 
  156     public: 
void SetScriptUri(
const std::string &_uri);
 
  163     public: std::string ScriptName() 
const;
 
  168     public: 
void SetScriptName(
const std::string &_name);
 
  176     public: 
void SetShader(
const ShaderType &_type);
 
  182     public: std::string NormalMap() 
const;
 
  186     public: 
void SetNormalMap(
const std::string &_map);
 
  190     public: 
void SetPbrMaterial(
const Pbr &_pbr);
 
  194     public: 
const Pbr *PbrMaterial() 
const;
 
  198     public: 
const std::string &FilePath() 
const;
 
  202     public: 
void SetFilePath(
const std::string &_filePath);
 
  212     GZ_UTILS_IMPL_PTR(dataPtr)