23 #include "sdf/sdf_config.h" 
   29   inline namespace SDF_VERSION_NAMESPACE {
 
   33   class PbrWorkflowPrivate;
 
   97     public: 
bool operator==(
const PbrWorkflow &_workflow) 
const;
 
  103     public: 
bool operator!=(
const PbrWorkflow &_workflow) 
const;
 
  109     public: std::string AlbedoMap() 
const;
 
  113     public: 
void SetAlbedoMap(
const std::string &_map);
 
  119     public: std::string NormalMap() 
const;
 
  125     public: 
void SetNormalMap(
const std::string &_map,
 
  136     public: std::string EnvironmentMap() 
const;
 
  140     public: 
void SetEnvironmentMap(
const std::string &_map);
 
  146     public: std::string AmbientOcclusionMap() 
const;
 
  150     public: 
void SetAmbientOcclusionMap(
const std::string &_map);
 
  156     public: std::string RoughnessMap() 
const;
 
  160     public: 
void SetRoughnessMap(
const std::string &_map);
 
  166     public: std::string MetalnessMap() 
const;
 
  170     public: 
void SetMetalnessMap(
const std::string &_map);
 
  176     public: std::string EmissiveMap() 
const;
 
  180     public: 
void SetEmissiveMap(
const std::string &_map);
 
  186     public: std::string LightMap() 
const;
 
  191     public: 
void SetLightMap(
const std::string &_map, 
unsigned int _uvSet = 0u);
 
  195     public: 
unsigned int LightMapTexCoordSet() 
const;
 
  199     public: 
double Metalness() 
const;
 
  203     public: 
void SetMetalness(
const double _value);
 
  207     public: 
double Roughness() 
const;
 
  211     public: 
void SetRoughness(
const double _value);
 
  217     public: std::string GlossinessMap() 
const;
 
  221     public: 
void SetGlossinessMap(
const std::string &_map);
 
  225     public: 
double Glossiness() 
const;
 
  229     public: 
void SetGlossiness(
const double _value);
 
  235     public: std::string SpecularMap() 
const;
 
  239     public: 
void SetSpecularMap(
const std::string &_map);
 
  256     private: PbrWorkflowPrivate *dataPtr = 
nullptr;
 
  268     public: 
Pbr(
const Pbr &_pbr);
 
  272     public: 
Pbr(
Pbr &&_pbr) noexcept;
 
  280     public: 
Pbr &operator=(
const Pbr &_pbr);
 
  285     public: 
Pbr &operator=(
Pbr &&_pbr);
 
  309     private: PbrPrivate *dataPtr = 
nullptr;