00001 #pragma once 00002 #define NOMINMAX 00003 #include <windows.h> 00004 #include <string> 00005 #include <vector> 00006 #include "GSingletonManager.h" 00007 #include "constants.h" 00008 #include "GMesh.h" 00009 #include "types.h" 00010 00012 class GModelLoader : public GSingletonManager<GModelLoader> 00013 { 00014 protected: 00016 int parseface(char str[256], GMesh *Mesh, int mat); 00018 int parsematerial(std::string filename, GMesh *Mesh); 00020 int mapmaterial(std::string str, GMesh *Mesh); 00022 int setupMaterials(std::string filename, GMesh *Mesh); 00023 public: 00025 GMesh *LoadMesh(std::string filename); 00027 vector<std::string> LoadHierarchy(std::string filename); 00029 vector<vertexmapper_t> LoadVertexMapping(std::string filename); 00030 };