00001 #include <hrpCorba/OnlineViewer.hh> 00002 #include <map> 00003 #include <string> 00004 #include "hrpsys/util/LogManager.h" 00005 00006 class GLscene; 00007 class GLbody; 00008 00009 namespace OpenHRP{ 00010 00011 class OnlineViewer_impl : public POA_OpenHRP::OnlineViewer 00012 { 00013 public: 00014 OnlineViewer_impl(CORBA::ORB_ptr orb, PortableServer::POA_ptr poa, 00015 GLscene *i_scene, LogManager<OpenHRP::WorldState> *i_log); 00016 virtual ~OnlineViewer_impl(); 00017 00018 virtual PortableServer::POA_ptr _default_POA(); 00019 00020 void update(const WorldState& state); 00021 void load(const char* name, const char* url); 00022 void clearLog(); 00023 void clearData(); 00024 void drawScene(const WorldState& state); 00025 void setLineWidth(::CORBA::Float width); 00026 void setLineScale(::CORBA::Float scale); 00027 ::CORBA::Boolean getPosture(const char* robotId, DblSequence_out posture); 00028 void setLogName(const char* name); 00029 00030 private: 00031 CORBA::ORB_var orb; 00032 PortableServer::POA_var poa; 00033 GLscene *scene; 00034 LogManager<OpenHRP::WorldState> *log; 00035 std::map<std::string, GLbody *> models; 00036 }; 00037 00038 };