00001
00002
00004
00005 #ifndef GLMATERIAL_H
00006 #define GLMATERIAL_H
00007
00008 #include "X3DGLMaterialNode.h"
00009
00010 #include <vector>
00011
00012 namespace X3DTK {
00013
00014 class Material;
00015
00018
00019 class GLMaterial : public X3DGLMaterialNode
00020 {
00021 public:
00023 GLMaterial();
00025 virtual SFNode clone() const;
00027 ~GLMaterial();
00028
00030 inline MFFloat &getDiffuseColor() const {return (MFFloat &)_diffuseColor;};
00032 inline MFFloat &getAmbientColor() const {return (MFFloat &)_ambientColor;};
00034 inline MFFloat &getEmissiveColor() const {return (MFFloat &)_emissiveColor;};
00036 inline SFFloat &getShininess() const {return (SFFloat &)_shininess;};
00038 inline MFFloat &getSpecularColor() const {return (MFFloat &)_specularColor;};
00039
00040 protected:
00042 GLMaterial(const GLMaterial &M);
00043
00044 private:
00045
00046 MFFloat _diffuseColor;
00047 MFFloat _ambientColor;
00048 MFFloat _emissiveColor;
00049 SFFloat _shininess;
00050 MFFloat _specularColor;
00051 };
00052
00053 }
00054
00055 #endif