00001 #ifndef __MaterialFactory__ 00002 #define __MaterialFactory__ 00003 00004 #include <osg/Vec4d> 00005 #include <osg/Material> 00006 #include <map> 00007 00008 00009 class MaterialFactory { 00010 public: 00011 ~MaterialFactory(); 00012 00013 static MaterialFactory& instance(); 00014 00015 osg::Material* getMaterial(osg::Vec4d& color); 00016 00017 protected: 00018 MaterialFactory(); 00019 00020 std::map<osg::Vec4d, osg::ref_ptr<osg::Material>> _materials; 00021 }; 00022 00023 #endif