17 #ifndef SDF_MATERIAL_HH_ 
   18 #define SDF_MATERIAL_HH_ 
   21 #include <ignition/utils/ImplPtr.hh> 
   24 #include "sdf/sdf_config.h" 
   30   inline namespace SDF_VERSION_NAMESPACE {
 
   62     public: ignition::math::Color Ambient() 
const;
 
   68     public: 
void SetAmbient(
const ignition::math::Color &_color);
 
   74     public: ignition::math::Color Diffuse() 
const;
 
   80     public: 
void SetDiffuse(
const ignition::math::Color &_color);
 
   86     public: ignition::math::Color Specular() 
const;
 
   92     public: 
void SetSpecular(
const ignition::math::Color &_color);
 
   98     public: ignition::math::Color Emissive() 
const;
 
  104     public: 
void SetEmissive(
const ignition::math::Color &_color);
 
  108     public: 
float RenderOrder() 
const;
 
  112     public: 
void SetRenderOrder(
const float _renderOrder);
 
  117     public: 
bool Lighting() 
const;
 
  121     public: 
void SetLighting(
const bool _lighting);
 
  126     public: 
bool DoubleSided() 
const;
 
  130     public: 
void SetDoubleSided(
bool _doubleSided);
 
  141     public: std::string ScriptUri() 
const;
 
  145     public: 
void SetScriptUri(
const std::string &_uri);
 
  152     public: std::string ScriptName() 
const;
 
  157     public: 
void SetScriptName(
const std::string &_name);
 
  165     public: 
void SetShader(
const ShaderType &_type);
 
  171     public: std::string NormalMap() 
const;
 
  175     public: 
void SetNormalMap(
const std::string &_map);
 
  179     public: 
void SetPbrMaterial(
const Pbr &_pbr);
 
  183     public: 
const Pbr *PbrMaterial() 
const;
 
  187     public: 
const std::string &FilePath() 
const;
 
  191     public: 
void SetFilePath(
const std::string &_filePath);
 
  194     IGN_UTILS_IMPL_PTR(dataPtr)