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(); 00023 00025 void setAmbientIntensity(const SFFloat &ambientIntensity); 00027 void setDiffuseColor(const SFColor &diffuseColor); 00029 void setEmissiveColor(const SFColor &emissiveColor); 00031 void setShininess(const SFFloat &shininess); 00033 void setSpecularColor(const SFColor &specularColor); 00035 void setTransparency(const SFFloat &transparency); 00036 00038 inline const SFFloat &getAmbientIntensity() const {return _ambientIntensity;}; 00040 inline const SFColor &getDiffuseColor() const {return _diffuseColor;}; 00042 inline const SFColor &getEmissiveColor() const {return _emissiveColor; }; 00044 inline const SFFloat &getShininess() const {return _shininess;}; 00046 inline const SFColor &getSpecularColor() const {return _specularColor;}; 00048 inline const SFFloat &getTransparency() const {return _transparency;}; 00049 00050 private: 00052 SFFloat _ambientIntensity; 00054 SFColor _diffuseColor; 00056 SFColor _emissiveColor; 00058 SFFloat _shininess; 00060 SFColor _specularColor; 00062 SFFloat _transparency; 00063 }; 00064 00065 } 00066 } 00067 00068 #endif