Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00015 #ifndef OPENHRP_MODELLOADER_IMPL_H_INCLUDED
00016 #define OPENHRP_MODELLOADER_IMPL_H_INCLUDED
00017
00018 #include <map>
00019 #include <string>
00020 #include <hrpCorba/ORBwrap.h>
00021 #include <hrpCorba/ModelLoader.hh>
00022
00023 #include "BodyInfo_impl.h"
00024 #include "BodyInfoCollada_impl.h"
00025 #include "SceneInfo_impl.h"
00026
00027 using namespace OpenHRP;
00028
00029
00030 class ModelLoader_impl : public POA_OpenHRP::ModelLoader
00031 {
00032 CORBA::ORB_var orb;
00033 PortableServer::POA_var poa;
00034
00035 typedef std::map<std::string, POA_OpenHRP::BodyInfo*> UrlToBodyInfoMap;
00036 UrlToBodyInfoMap urlToBodyInfoMap;
00037
00038 POA_OpenHRP::BodyInfo* loadBodyInfoFromModelFile(const std::string url, const OpenHRP::ModelLoader::ModelLoadOption option );
00039
00040 public:
00041
00042 ModelLoader_impl(CORBA::ORB_ptr orb, PortableServer::POA_ptr poa);
00043 virtual ~ModelLoader_impl();
00044
00045 virtual PortableServer::POA_ptr _default_POA();
00046
00047 virtual BodyInfo_ptr getBodyInfo(const char* url)
00048 throw (CORBA::SystemException, OpenHRP::ModelLoader::ModelLoaderException);
00049
00050 virtual BodyInfo_ptr getBodyInfoEx(const char* url, const OpenHRP::ModelLoader::ModelLoadOption& option )
00051 throw (CORBA::SystemException, OpenHRP::ModelLoader::ModelLoaderException);
00052
00053 virtual BodyInfo_ptr loadBodyInfo(const char* url)
00054 throw (CORBA::SystemException, OpenHRP::ModelLoader::ModelLoaderException);
00055
00056 virtual BodyInfo_ptr loadBodyInfoEx(const char* url, const OpenHRP::ModelLoader::ModelLoadOption& option)
00057 throw (CORBA::SystemException, OpenHRP::ModelLoader::ModelLoaderException);
00058
00059 virtual SceneInfo_ptr loadSceneInfo(const char* url)
00060 throw (CORBA::SystemException, OpenHRP::ModelLoader::ModelLoaderException);
00061
00062 virtual void clearData();
00063
00064 void shutdown();
00065 };
00066
00067
00068 #endif