00001 #ifndef X3DTK_X3D_MATERIAL_H 00002 #define X3DTK_X3D_MATERIAL_H 00003 00004 #include "X3DTypes.h" 00005 #include "X3D_X3DMaterialNode.h" 00006 00007 namespace X3DTK { 00008 namespace X3D { 00009 00018 class Material : public X3DMaterialNode 00019 { 00020 public: 00022 Material(); 00024 virtual ~Material(); 00025 00027 void setAmbientIntensity(const SFFloat &ambientIntensity); 00029 void setDiffuseColor(const SFColor &diffuseColor); 00031 void setEmissiveColor(const SFColor &emissiveColor); 00033 void setShininess(const SFFloat &shininess); 00035 void setSpecularColor(const SFColor &specularColor); 00037 void setTransparency(const SFFloat &transparency); 00038 00040 inline const SFFloat &getAmbientIntensity() const {return _ambientIntensity;}; 00042 inline const SFColor &getDiffuseColor() const {return _diffuseColor;}; 00044 inline const SFColor &getEmissiveColor() const {return _emissiveColor; }; 00046 inline const SFFloat &getShininess() const {return _shininess;}; 00048 inline const SFColor &getSpecularColor() const {return _specularColor;}; 00050 inline const SFFloat &getTransparency() const {return _transparency;}; 00051 00052 private: 00054 SFFloat _ambientIntensity; 00056 SFColor _diffuseColor; 00058 SFColor _emissiveColor; 00060 SFFloat _shininess; 00062 SFColor _specularColor; 00064 SFFloat _transparency; 00065 }; 00066 00067 } 00068 } 00069 00070 #endif