00001 #ifndef _MATERIAL_LIST_H_ 00002 #define _MATERIAL_LIST_H_ 00003 00004 #include <vector> 00005 #include "cglib/material.h" 00006 #include "cglib/object.h" 00007 #include "cglib/reference.h" 00008 00010 class MaterialList : public Object 00011 { 00012 public: 00014 MaterialList (); 00015 00017 virtual ~MaterialList (); 00018 00020 int get_material_count() const; 00021 00023 void append_material(Material * material); 00024 00026 Material *get_material(int index); 00027 00029 void set_material(int index, Material *material); 00030 00032 virtual void accept(Visitor *visitor); 00033 00034 private: 00035 std::vector< Reference<Material> > list; 00036 }; 00037 00038 #endif /* _MATERIAL_LIST_H_ */