Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

GL_Material.h

Go to the documentation of this file.
00001 
00002 //                            GL_Material.h                                   //
00004 
00005 #ifndef GLMATERIAL_H
00006 #define GLMATERIAL_H
00007 
00008 #include "GL_X3DMaterialNode.h"
00009 
00010 #include <vector>
00011 
00012 namespace X3DTK {
00013 namespace GL {
00014 
00017 
00018 class Material : public X3DMaterialNode
00019 {
00020 public:
00022   Material();
00024   virtual SFNode clone() const;
00026   virtual ~Material();
00027   
00029   void setDiffuseColor(const MFFloat &diffuseColor);
00031   void setAmbientColor(const MFFloat &ambientColor);
00033   void setEmissiveColor(const MFFloat &emissiveColor);
00035   void setShininess(const SFFloat &shininess);
00037   void setSpecularColor(const MFFloat &specularColor);
00038 
00040   inline const MFFloat &getDiffuseColor() const {return _diffuseColor;};
00042   inline const MFFloat &getAmbientColor() const {return _ambientColor;};
00044   inline const MFFloat &getEmissiveColor() const {return _emissiveColor;};
00046   inline const SFFloat &getShininess() const {return _shininess;};
00048   inline const MFFloat &getSpecularColor() const {return _specularColor;};
00049 
00051   virtual void update();
00052 
00053 protected:    
00055   Material(const Material &M);
00056 
00057 private:  
00059   MFFloat _diffuseColor;
00061   MFFloat _ambientColor;
00063   MFFloat _emissiveColor;
00065   SFFloat _shininess;
00067   MFFloat _specularColor;
00068 };
00069 
00070 }
00071 }
00072 
00073 #endif

Generated on Thu Dec 4 13:25:46 2003 for X3DToolKit by doxygen1.2.18