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 () |
![]() | |
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) |
![]() | |
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 |