libvrml1++/Material.hh

Go to the documentation of this file.
00001 
00020 #ifndef MATERIAL_H_
00021 #define MATERIAL_H_
00022 
00023 #include "Node.hh"
00024 #include "SFColor.hh"
00025 
00026 namespace vrml1
00027 {
00028 
00029 class Material : public vrml1::Node
00030 {
00031 public:
00032         Material();
00033         virtual ~Material();
00034         
00035         void setAmbientColor(vector<SFColor> aColor);
00036         vector<SFColor> ambientColor() const;
00037         bool ambientColorExist() const;
00038         
00039         void setDiffuseColor(vector<SFColor> dColor);
00040         vector<SFColor> diffuseColor() const;
00041         bool diffuseColorExist() const;
00042         
00043         void setSpecularColor(vector<SFColor> sColor);
00044         vector<SFColor> specularColor() const;
00045         bool specularColorExist() const;
00046         
00047         void setEmissiveColor(vector<SFColor> eColor);
00048         vector<SFColor> emissiveColor() const;
00049         bool emissiveColorExist() const; 
00050         
00051         void setShininess(vector<float> shininess);
00052         vector<float> shininess() const;
00053         bool shininessExist() const;
00054         
00055         void setTransparency(vector<float> transparency);
00056         vector<float> transparency() const;
00057         bool transparencyExist() const;
00058         
00059         virtual void setAttribute(Attribute *A);
00060         
00061 private:
00062         vector<SFColor> m_ambientColor;
00063         vector<SFColor> m_diffuseColor;
00064         vector<SFColor> m_specularColor;
00065         vector<SFColor> m_emissiveColor;
00066         vector<float> m_shininess;
00067         vector<float> m_transparency;
00068 };
00069 
00070 }
00071 
00072 #endif /*MATERIAL_H_*/

Generated on Mon Jul 21 23:57:09 2008 for libvrml1++ by  doxygen 1.5.4