Update code style for Material objects

This commit is contained in:
Eryn Wells 2014-07-20 16:45:40 -07:00
parent 0d2011931c
commit ac8421b5e1
2 changed files with 63 additions and 45 deletions

View file

@ -8,78 +8,82 @@
#include "material.h"
namespace charles {
Material::Material()
: diffuse_level(0.8),
diffuse_color(Color::White),
specular_level(0.5),
specular_color(Color::White)
: mDiffuseModel(DiffuseShaderModel::Lambert),
mDiffuseIntensity(0.8),
mDiffuseColor(Color::White),
mSpecularModel(SpecularShaderModel::Phong),
mSpecularIntensity(0.5),
mSpecularColor(Color::White)
{ }
float
Material::get_diffuse_level()
Double
Material::GetDiffuseIntensity()
const
{
return diffuse_level;
return mDiffuseIntensity;
}
void
Material::set_diffuse_level(const float &kd)
Material::SetDiffuseIntensity(const Double& kd)
{
diffuse_level = kd;
_clamp_parameter(diffuse_level);
mDiffuseIntensity = kd;
ClampParameter(mDiffuseIntensity);
}
const Color &
Material::get_diffuse_color()
const Color&
Material::GetDiffuseColor()
const
{
return diffuse_color;
return mDiffuseColor;
}
void
Material::set_diffuse_color(const Color &c)
Material::SetDiffuseColor(const Color& color)
{
diffuse_color = c;
mDiffuseColor = color;
}
float
Material::get_specular_level()
Double
Material::GetSpecularIntensity()
const
{
return specular_level;
return mSpecularIntensity;
}
void
Material::set_specular_level(const float &ks)
Material::SetSpecularIntensity(const Double& ks)
{
specular_level = ks;
_clamp_parameter(specular_level);
mSpecularIntensity = ks;
ClampParameter(mSpecularIntensity);
}
const Color &
Material::get_specular_color()
const Color&
Material::GetSpecularColor()
const
{
return specular_color;
return mSpecularColor;
}
void
Material::set_specular_color(const Color &c)
Material::SetSpecularColor(const Color& color)
{
specular_color = c;
mSpecularColor = color;
}
void
Material::_clamp_parameter(float &param)
Material::ClampParameter(Double& param)
{
if (param < 0.0) {
param = 0.0;
@ -88,3 +92,5 @@ Material::_clamp_parameter(float &param)
param = 1.0;
}
}
} /* namespace charles */

View file

@ -9,37 +9,49 @@
#define __MATERIAL_H__
#include "basics.h"
#include "types.hh"
namespace charles {
class Material
struct Material
{
public:
enum {
DiffuseLightingTypeLambert = 1,
} DiffuseLightingType;
enum class DiffuseShaderModel {
Lambert,
};
enum class SpecularShaderModel {
Blinn,
Phong
};
Material();
float get_diffuse_level() const;
void set_diffuse_level(const float &kd);
const Color &get_diffuse_color() const;
void set_diffuse_color(const Color &c);
Double GetDiffuseIntensity() const;
void SetDiffuseIntensity(const Double& kd);
float get_specular_level() const;
void set_specular_level(const float &kd);
const Color &get_specular_color() const;
void set_specular_color(const Color &c);
const Color& GetDiffuseColor() const;
void SetDiffuseColor(const Color& c);
Double GetSpecularIntensity() const;
void SetSpecularIntensity(const Double& kd);
const Color &GetSpecularColor() const;
void SetSpecularColor(const Color& c);
private:
void _clamp_parameter(float &param);
void ClampParameter(Double& param);
// Diffuse parameters.
float diffuse_level;
Color diffuse_color;
DiffuseShaderModel mDiffuseModel;
Double mDiffuseIntensity;
Color mDiffuseColor;
// Specular parameters.
float specular_level;
Color specular_color;
SpecularShaderModel mSpecularModel;
Double mSpecularIntensity;
Color mSpecularColor;
};
} /* namespace charles */
#endif