#ifndef HGL_TOOL_MODEL_CONVERT_ASSIMP_LOADER_INCLUDE #define HGL_TOOL_MODEL_CONVERT_ASSIMP_LOADER_INCLUDE #include #include #include #include #include #include #include #include #include #include #include #include using namespace hgl; using namespace hgl::graph; class AssimpLoader { OSString main_filename; uint total_file_bytes; const aiScene *scene; public: aiVector3D scene_min, scene_max, scene_center; private: UTF8StringList tex_list; int material_count; MaterialData *material_list; private: void get_bounding_box_for_node(const aiNode *,aiVector3D *,aiVector3D *,aiMatrix4x4 *); void get_bounding_box(const aiNode *,aiVector3D *,aiVector3D *); //bool Convert(MaterialData &md,aiMaterial *mtl); //void LoadMaterial(); void LoadMesh(); void LoadScene(const UTF8String &,io::DataOutputStream *,const aiNode *); //void SaveFile(const void *,const uint &,const OSString &); //void SaveFile(void **,const int64 *,const int &,const OSString &); //void SaveTextures(); //template //void SaveFaces(io::FileOutputStream *,const aiFace *,const T); //void SaveTexCoord(float *,const aiVector3D *,const uint,const uint); public: AssimpLoader(); ~AssimpLoader(); bool LoadFile(const OSString &); //bool SaveFile(const OSString &); };//class AssimpLoader #endif//HGL_TOOL_MODEL_CONVERT_ASSIMP_LOADER_INCLUDE