00001 #ifndef _OBJECTFACTORY_H_ 00002 #define _OBJECTFACTORY_H_ 00003 00004 #include <string> 00005 #include <map> 00006 using namespace std; 00007 00008 #include <GL/gl.h> 00009 #include <GL/glu.h> 00010 00011 #include "ObjLoader.h" 00012 00013 typedef map < string, GLuint > loaderMap; 00014 typedef map < string, double > doubleMap; 00015 00016 class ObjectFactory 00017 { 00018 public: 00019 ObjectFactory(); 00020 virtual ~ObjectFactory(); 00021 00022 static void clear(); 00023 static GLuint load(string filename, int type = 0); 00024 static double getCollisionRadius(string filename); 00025 00026 protected: 00027 static GLuint createDisplayList(FileLoader *fl); 00028 00029 static loaderMap _fileLoaders; 00030 static doubleMap _collisionRadius; 00031 }; 00032 00033 #endif