|
Choreonoid
1.1
|
#include <Body.h>
クラス | |
| struct | LinkConnection |
公開型 | |
| typedef std::vector< LinkConnection > | LinkConnectionArray |
公開メンバ関数 | |
| Body () | |
| virtual | ~Body () |
| virtual BodyPtr | duplicate () const |
| const std::string & | name () |
| void | setName (const std::string &name) |
| const std::string & | modelName () |
| void | setModelName (const std::string &name) |
| void | setRootLink (Link *link) |
| void | updateLinkTree () |
| int | numJoints () const |
| Link * | joint (int id) const |
| const std::vector< Link * > & | joints () const |
| int | numLinks () const |
| Link * | link (int index) const |
| const LinkTraverse & | links () const |
| const LinkTraverse & | linkTraverse () const |
| Link * | link (const std::string &name) const |
| Link * | rootLink () const |
| Sensor * | createSensor (Link *link, int sensorType, int id, const std::string &name) |
| void | addSensor (Sensor *sensor, int sensorType, int id) |
| Sensor * | sensor (int sensorType, int sensorId) const |
| int | numSensors (int sensorType) const |
| int | numSensorTypes () const |
| void | clearSensorValues () |
| template<class TSensor > | |
| TSensor * | sensor (int id) const |
| template<class TSensor > | |
| TSensor * | sensor (const std::string &name) const |
| bool | isStaticModel () |
| double | calcTotalMass () |
| double | totalMass () const |
| Vector3 | calcCM () |
| const Vector3 & | lastCM () |
| void | calcTotalMomentum (Vector3 &out_P, Vector3 &out_L) |
| void | setDefaultRootPosition (const Vector3 &p, const Matrix3 &R) |
| void | getDefaultRootPosition (Vector3 &out_p, Matrix3 &out_R) |
| void | initializeConfiguration () |
| void | calcForwardKinematics (bool calcVelocity=false, bool calcAcceleration=false) |
| void | clearExternalForces () |
| JointPathPtr | getJointPath (Link *baseLink, Link *targetLink) |
| void | setVirtualJointForces () |
| virtual InverseKinematicsPtr | getDefaultIK (Link *targetLink) |
| void | updateLinkColdetModelPositions () |
| void | putInformation (std::ostream &out) |
| bool | installCustomizer () |
| bool | installCustomizer (BodyCustomizerInterface *customizerInterface) |
| YamlMapping * | info () |
| void | resetInfo (YamlMappingPtr info) |
| LinkGroup * | linkGroup () |
基底クラス cnoid::Referenced に属する継承公開メンバ関数 | |
| Referenced () | |
| virtual | ~Referenced () |
静的公開メンバ関数 | |
| static void | addCustomizerDirectory (const std::string &path) |
| static BodyInterface * | bodyInterface () |
公開変数類 | |
| LinkConnectionArray | linkConnections |
限定公開メンバ関数 | |
| Body (const Body &org) | |
| virtual void | doResetInfo (const YamlMapping &info) |
基底クラス cnoid::Referenced に属する継承限定公開メンバ関数 | |
| int | refCounter () |
フレンド | |
| class | CustomizedJointPath |
| typedef std::vector<LinkConnection> cnoid::Body::LinkConnectionArray |
| Body::Body | ( | ) |
|
virtual |
|
protected |
|
static |
| void Body::addSensor | ( | Sensor * | sensor, |
| int | sensorType, | ||
| int | id | ||
| ) |
|
static |
| Vector3 Body::calcCM | ( | ) |
| void Body::calcForwardKinematics | ( | bool | calcVelocity = false, |
| bool | calcAcceleration = false |
||
| ) |
| double Body::calcTotalMass | ( | ) |
| void Body::clearExternalForces | ( | ) |
| void Body::clearSensorValues | ( | ) |
|
protectedvirtual |
cnoid::LeggedBodyで再実装されています。
|
virtual |
cnoid::LeggedBodyで再実装されています。
|
virtual |
| JointPathPtr Body::getJointPath | ( | Link * | baseLink, |
| Link * | targetLink | ||
| ) |
|
inline |
| void Body::initializeConfiguration | ( | ) |
| bool Body::installCustomizer | ( | ) |
The function installs the pre-loaded customizer corresponding to the model name.
| bool Body::installCustomizer | ( | BodyCustomizerInterface * | customizerInterface | ) |
|
inline |
This function returns true when the whole body is a static, fixed object like a floor.
|
inline |
This function returns a link that has a given joint ID. If there is no link that has a given joint ID, the function returns a dummy link object whose ID is minus one. The maximum id can be obtained by numJoints().
|
inline |
The vector<Link*> corresponding to the sequence of joint().
|
inline |
|
inline |
This function returns the link of a given index in the whole link sequence. The order of the sequence corresponds to a link-tree traverse from the root link. The size of the sequence can be obtained by numLinks().
| Link * Body::link | ( | const std::string & | name | ) | const |
This function returns a link that has a given name.
This function returns a link object whose name of Joint node matches a given name. Null is returned when the body has no joint of the given name.
|
inline |
|
inline |
|
inline |
LinkTraverse object that traverses all the links from the root link
|
inline |
|
inline |
|
inline |
The number of the links that work as a joint. Note that the acutal value is the maximum joint ID plus one. Thus there may be a case where the value does not correspond to the actual number of the joint-links. In other words, the value represents the size of the link sequence obtained by joint() function.
|
inline |
The number of all the links the body has. The value corresponds to the size of the sequence obtained by link() function.
|
inline |
|
inline |
| void Body::putInformation | ( | std::ostream & | out | ) |
| void Body::resetInfo | ( | YamlMappingPtr | info | ) |
|
inline |
The root link of the body
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
| void Body::setRootLink | ( | Link * | link | ) |
| void Body::setVirtualJointForces | ( | ) |
|
inline |
| void Body::updateLinkColdetModelPositions | ( | ) |
This function must be called before the collision detection. It updates the positions and orientations of the models for detecting collisions between links.
| void Body::updateLinkTree | ( | ) |
This function must be called when the structure of the link tree is changed.
|
friend |
| LinkConnectionArray cnoid::Body::linkConnections |
1.8.9.1