Choreonoid  1.5
OpenHRPControllerItem.h
Go to the documentation of this file.
1 
5 #ifndef CNOID_OPENHRP_PLUGIN_OPENHRP_CONTROLLER_ITEM_H
6 #define CNOID_OPENHRP_PLUGIN_OPENHRP_CONTROLLER_ITEM_H
7 
8 #ifdef OPENHRP_3_0
9 #include <cnoid/corba/OpenHRP/3.0/Controller.hh>
10 #define OpenHRPControllerItem OpenHRP30ControllerItem
11 #elif OPENHRP_3_1
12 #include <cnoid/corba/OpenHRP/3.1/Controller.hh>
13 #define OpenHRPControllerItem OpenHRP31ControllerItem
14 #endif
15 #include <cnoid/ControllerItem>
16 #include <cnoid/CorbaUtil>
17 #include <cnoid/Process>
18 #include <boost/scoped_ptr.hpp>
19 
20 namespace OpenHRP {
21 class DynamicsSimulator_impl;
22 }
23 
24 namespace cnoid {
25 
26 class MessageView;
27 
29 {
30 public:
33  virtual ~OpenHRPControllerItem();
34 
35  void setControllerServerName(const std::string& name);
36  void setControllerServerCommand(const std::string& command);
37 
38  virtual bool start(ControllerItemIO* io);
39  virtual double timeStep() const;
40  virtual void input();
41  virtual bool control();
42  virtual void output();
43  virtual void stop();
44 
45 protected:
46  virtual void onDisconnectedFromRoot();
47  virtual Item* doDuplicate() const;
48  virtual void doPutProperties(PutPropertyFunction& putProperty);
49  virtual bool store(Archive& archive);
50  virtual bool restore(const Archive& archive);
51 
52 private:
53  void onReadyReadServerProcessOutput();
54 
55  NamingContextHelper* ncHelper;
56  std::string controllerServerName;
57  std::string controllerServerCommand;
58  boost::scoped_ptr<OpenHRP::DynamicsSimulator_impl> dynamicsSimulator;
59  OpenHRP::Controller_var controller;
60  double timeStep_;
61  Process controllerServerProcess;
62  bool signalReadyStandardOutputConnected;
63  MessageView* mv;
64 };
65 
67 }
68 
69 #endif
Definition: DynamicsSimulator_impl.h:14
Definition: Archive.h:21
Definition: PutPropertyFunction.h:35
Definition: Referenced.h:128
Definition: Process.h:24
Definition: MessageView.h:19
ref_ptr< OpenHRPControllerItem > OpenHRPControllerItemPtr
Definition: OpenHRPControllerItem.h:66
Definition: Item.h:38
Defines the minimum processing for performing pasing file for STL.
Definition: AbstractSceneLoader.h:9
Definition: OpenHRPControllerItem.h:28
Definition: ControllerItem.h:28
Definition: CorbaUtil.h:24
Definition: ControllerItem.h:16