00001 00020 #ifndef MATERIALBINDING_H_ 00021 #define MATERIALBINDING_H_ 00022 00023 #include "Node.hh" 00024 #include "Attribute.hh" 00025 00026 namespace vrml1 00027 { 00028 00029 class MaterialBinding : public vrml1::Node 00030 { 00031 public: 00032 MaterialBinding(); 00033 00034 enum e_MaterialValue { DEFAULT=0, OVERALL, PER_PART, PER_PART_INDEXED, 00035 PER_FACE, PER_FACE_INDEXED, 00036 PER_VERTEX, PER_VERTEX_INDEXED }; 00037 00038 void setValue(e_MaterialValue value); 00039 e_MaterialValue value() const; 00040 00041 virtual void setAttribute(Attribute *A); 00042 00043 private: 00044 e_MaterialValue m_value; 00045 }; 00046 00047 } 00048 00049 #endif /*MATERIALBINDING_H_*/