Main Page | Modules | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

X3D_Material.h

Go to the documentation of this file.
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   Material(const SFFloat &ambientIntensity, 
00025            const SFColor &diffuseColor, 
00026            const SFColor &emissiveColor, 
00027            const SFFloat &shininess, 
00028            const SFColor &specularColor, 
00029            const SFFloat &transparency);
00031   virtual SFAbstractNode clone() const;
00033   virtual ~Material();
00034   
00036   void setAmbientIntensity(const SFFloat &ambientIntensity);
00038   void setDiffuseColor(const SFColor &diffuseColor);
00040   void setEmissiveColor(const SFColor &emissiveColor);
00042   void setShininess(const SFFloat &shininess);  
00044   void setSpecularColor(const SFColor &specularColor);  
00046   void setTransparency(const SFFloat &transparency);  
00047   
00049   inline const SFFloat &getAmbientIntensity() const {return _ambientIntensity;};       
00051   inline const SFColor &getDiffuseColor() const {return _diffuseColor;};     
00053   inline const SFColor &getEmissiveColor() const {return _emissiveColor; };    
00055   inline const SFFloat &getShininess() const {return _shininess;};        
00057   inline const SFColor &getSpecularColor() const {return _specularColor;};    
00059   inline const SFFloat &getTransparency() const {return _transparency;};   
00060   
00062   virtual void load(const X3DFileElement *element);
00064   virtual SFString &write(SFString &output) const;
00065 
00066 protected:
00068   Material(const Material &M);
00069 
00070 private:    
00072   SFFloat _ambientIntensity;       
00074   SFColor _diffuseColor;     
00076   SFColor _emissiveColor;    
00078   SFFloat _shininess;        
00080   SFColor _specularColor;    
00082   SFFloat _transparency;     
00083 };
00084 
00085 }
00086 }
00087 
00088 #endif

Generated on Thu Jun 3 10:12:10 2004 for X3DToolKit by doxygen 1.3.6