Choreonoid  1.5
DynamicsSimulator_impl.h
Go to the documentation of this file.
1 
2 #ifndef CNOID_OPENHRP_DYNAMICS_SIMULATOR_IMPL_H_INCLUDED
3 #define CNOID_OPENHRP_DYNAMICS_SIMULATOR_IMPL_H_INCLUDED
4 
5 #ifdef OPENHRP_3_0
6 #include <cnoid/corba/OpenHRP/3.0/DynamicsSimulator.hh>
7 #elif OPENHRP_3_1
8 #include <cnoid/corba/OpenHRP/3.1/DynamicsSimulator.hh>
9 #endif
10 
11 #include <cnoid/Body>
12 #include <cnoid/BasicSensors>
13 
14 namespace OpenHRP {
15 
16 class DynamicsSimulator_impl : virtual public POA_OpenHRP::DynamicsSimulator,
17  virtual public PortableServer::RefCountServantBase
18 {
19 public:
20 
22  virtual ~DynamicsSimulator_impl();
23 
24 #ifdef OPENHRP_3_0
25  virtual void registerCharacter(const char* name, CharacterInfo_ptr cinfo);
26  virtual void registerCollisionCheckPair(const char* char1, const char* name1, const char* char2, const char* name2, ::CORBA::Double staticFriction, ::CORBA::Double slipFriction, const DblSequence6& K, const DblSequence6& C);
27  virtual void checkCollision();
28 
29 #elif OPENHRP_3_1
30  virtual void registerCharacter(const char* name, BodyInfo_ptr cinfo);
31  virtual void registerCollisionCheckPair(const char* char1, const char* name1, const char* char2, const char* name2, ::CORBA::Double staticFriction, ::CORBA::Double slipFriction, const DblSequence6& K, const DblSequence6& C, ::CORBA::Double culling_thresh);
32  virtual void registerIntersectionCheckPair(const char* char1, const char* name1, const char* char2, const char* name2, ::CORBA::Double tolerance);
33  virtual ::CORBA::Boolean checkCollision(::CORBA::Boolean checkAll);
34  virtual LinkPairSequence* checkIntersection(::CORBA::Boolean checkAll);
35  virtual DistanceSequence* checkDistance();
36 #endif
37 
38  virtual void destroy();
39  virtual void init(::CORBA::Double timeStep, OpenHRP::DynamicsSimulator::IntegrateMethod integrateOpt, OpenHRP::DynamicsSimulator::SensorOption sensorOpt);
40  virtual void registerVirtualLink(const char* char1, const char* link1, const char* char2, const char* link2, const LinkPosition& relTransform, ::CORBA::Short transformDefined, const DblSequence9& constraint, const char* connectionName);
41  virtual void getConnectionConstraintForce(const char* characterName, const char* connectionName, DblSequence6_out contactForce);
42  virtual void getCharacterSensorValues(const char* characterName, const char* sensorName, DblSequence_out values);
43  virtual void initSimulation();
44  virtual void stepSimulation();
45  virtual void setCharacterLinkData(const char* character, const char* link, OpenHRP::DynamicsSimulator::LinkDataType type, const DblSequence& data);
46  virtual void getCharacterLinkData(const char* characterName, const char* link, OpenHRP::DynamicsSimulator::LinkDataType type, DblSequence_out rdata);
47  virtual void getCharacterAllLinkData(const char* characterName, OpenHRP::DynamicsSimulator::LinkDataType type, DblSequence_out wdata);
48  virtual void setCharacterAllLinkData(const char* characterName, OpenHRP::DynamicsSimulator::LinkDataType type, const DblSequence& wdata);
49  virtual void setGVector(const DblSequence3& wdata);
50  virtual void getGVector(DblSequence3_out wdata);
51  virtual void setCharacterAllJointModes(const char* characterName, OpenHRP::DynamicsSimulator::JointDriveMode jointMode);
52  virtual ::CORBA::Boolean calcCharacterInverseKinematics(const char* characterName, const char* baseLink, const char* targetLink, const LinkPosition& target);
53  virtual void calcCharacterForwardKinematics(const char* characterName);
54  virtual void calcWorldForwardKinematics();
55  virtual void getWorldState(WorldState_out wstate);
56  virtual void getCharacterSensorState(const char* characterName, SensorState_out sstate);
57  virtual ::CORBA::Boolean getCharacterCollidingPairs(const char* characterName, LinkPairSequence_out pairs);
58  virtual void calcCharacterJacobian(const char* characterName, const char* baseLink, const char* targetLink, DblSequence_out jacobian);
59 
60 private:
61  cnoid::BodyPtr body;
62 
66 };
67 }
68 
69 #endif
70 
virtual void getCharacterLinkData(const char *characterName, const char *link, OpenHRP::DynamicsSimulator::LinkDataType type, DblSequence_out rdata)
Definition: DynamicsSimulator_impl.cpp:187
Definition: DynamicsSimulator_impl.h:14
virtual void setCharacterAllLinkData(const char *characterName, OpenHRP::DynamicsSimulator::LinkDataType type, const DblSequence &wdata)
Definition: DynamicsSimulator_impl.cpp:300
virtual void init(::CORBA::Double timeStep, OpenHRP::DynamicsSimulator::IntegrateMethod integrateOpt, OpenHRP::DynamicsSimulator::SensorOption sensorOpt)
Definition: DynamicsSimulator_impl.cpp:72
virtual void calcCharacterJacobian(const char *characterName, const char *baseLink, const char *targetLink, DblSequence_out jacobian)
Definition: DynamicsSimulator_impl.cpp:443
virtual void setCharacterAllJointModes(const char *characterName, OpenHRP::DynamicsSimulator::JointDriveMode jointMode)
Definition: DynamicsSimulator_impl.cpp:353
virtual void setCharacterLinkData(const char *character, const char *link, OpenHRP::DynamicsSimulator::LinkDataType type, const DblSequence &data)
Definition: DynamicsSimulator_impl.cpp:119
virtual ::CORBA::Boolean calcCharacterInverseKinematics(const char *characterName, const char *baseLink, const char *targetLink, const LinkPosition &target)
Definition: DynamicsSimulator_impl.cpp:359
virtual void setGVector(const DblSequence3 &wdata)
Definition: DynamicsSimulator_impl.cpp:341
virtual void getWorldState(WorldState_out wstate)
Definition: DynamicsSimulator_impl.cpp:400
virtual void getGVector(DblSequence3_out wdata)
Definition: DynamicsSimulator_impl.cpp:347
virtual void destroy()
Definition: DynamicsSimulator_impl.cpp:31
virtual void stepSimulation()
Definition: DynamicsSimulator_impl.cpp:113
virtual void getConnectionConstraintForce(const char *characterName, const char *connectionName, DblSequence6_out contactForce)
Definition: DynamicsSimulator_impl.cpp:88
virtual void initSimulation()
Definition: DynamicsSimulator_impl.cpp:107
virtual void getCharacterSensorValues(const char *characterName, const char *sensorName, DblSequence_out values)
Definition: DynamicsSimulator_impl.cpp:96
virtual ::CORBA::Boolean getCharacterCollidingPairs(const char *characterName, LinkPairSequence_out pairs)
Definition: DynamicsSimulator_impl.cpp:437
Definition: DynamicsSimulator_impl.h:16
virtual ~DynamicsSimulator_impl()
Definition: DynamicsSimulator_impl.cpp:23
virtual void calcCharacterForwardKinematics(const char *characterName)
Definition: DynamicsSimulator_impl.cpp:366
virtual void calcWorldForwardKinematics()
Definition: DynamicsSimulator_impl.cpp:372
virtual void getCharacterAllLinkData(const char *characterName, OpenHRP::DynamicsSimulator::LinkDataType type, DblSequence_out wdata)
Definition: DynamicsSimulator_impl.cpp:260
virtual void getCharacterSensorState(const char *characterName, SensorState_out sstate)
Definition: DynamicsSimulator_impl.cpp:406
DynamicsSimulator_impl(const cnoid::BodyPtr &body)
Definition: DynamicsSimulator_impl.cpp:14
virtual void registerVirtualLink(const char *char1, const char *link1, const char *char2, const char *link2, const LinkPosition &relTransform,::CORBA::Short transformDefined, const DblSequence9 &constraint, const char *connectionName)
Definition: DynamicsSimulator_impl.cpp:80