openrave.org

 全て クラス ネームスペース ファイル 関数 変数 型定義 列挙型 列挙型の値 フレンド マクロ定義 グループ ページ
構成 | Public 型 | Public メソッド | Static Public 変数 | Protected メソッド | Protected 変数 | すべてのメンバ一覧
クラス OpenRAVE::KinBody::Link

A rigid body holding all its collision and rendering data. [詳細]

#include <kinbody.h>

OpenRAVE::KinBody::Linkに対する継承グラフ
Inheritance graph
[凡例]
OpenRAVE::KinBody::Linkのコラボレーション図
Collaboration graph
[凡例]

構成

class  Geometry
 geometry object holding a link parent and wrapping access to a protected geometry info [詳細]
 

Public 型

typedef KinBody::GeometryInfo
GeometryInfo 
RAVE_DEPRECATED
 
typedef boost::shared_ptr
< KinBody::GeometryInfo >
GeometryInfoPtr 
RAVE_DEPRECATED
 
typedef TriMesh TRIMESH RAVE_DEPRECATED
 
typedef GeometryType GeomType RAVE_DEPRECATED
 
typedef boost::shared_ptr
< Geometry
GeometryPtr
 
typedef boost::shared_ptr
< Geometry const > 
GeometryConstPtr
 
typedef Geometry GEOMPROPERTIES RAVE_DEPRECATED
 

Public メソッド

 Link (KinBodyPtr parent)
 pass in a ODE world
 
virtual ~Link ()
 
const std::string & GetName () const
 
bool IsStatic () const
 Indicates a static body that does not move with respect to the root link.
 
virtual void Enable (bool enable)
 Enables a Link. An enabled link takes part in collision detection and physics simulations.
 
virtual bool IsEnabled () const
 returns true if the link is enabled.
 
virtual bool SetVisible (bool visible)
 Sets all the geometries of the link as visible or non visible.
 
virtual bool IsVisible () const
 
KinBodyPtr GetParent () const
 parent body that link belong to.
 
int GetIndex () const
 unique index into parent KinBody::GetLinks vector
 
const TriMeshGetCollisionData () const
 
virtual AABB ComputeLocalAABB () const
 Compute the aabb of all the geometries of the link in the link coordinate system.
 
virtual AABB ComputeAABB () const
 Compute the aabb of all the geometries of the link in the world coordinate system.
 
Transform GetTransform () const
 Return the current transformation of the link in the world coordinate system.
 
virtual void GetParentLinks (std::vector< boost::shared_ptr< Link > > &vParentLinks) const
 Return all the direct parent links in the kinematics hierarchy of this link.
 
virtual bool IsParentLink (boost::shared_ptr< Link const > plink) const
 Tests if a link is a direct parent.
 
Vector GetLocalCOM () const
 return center of mass offset in the link's local coordinate frame
 
Vector GetGlobalCOM () const
 return center of mass of the link in the global coordinate system
 
Vector GetCOMOffset () const
 
virtual TransformMatrix GetLocalInertia () const
 return inertia in link's local coordinate frame. The translation component is the the COM in the link's frame.
 
virtual TransformMatrix GetGlobalInertia () const
 
TransformMatrix GetInertia () const RAVE_DEPRECATED
 
virtual void SetLocalMassFrame (const Transform &massframe)
 sets a new mass frame with respect to the link coordinate system
 
virtual void SetPrincipalMomentsOfInertia (const Vector &inertiamoments)
 sets new principal moments of inertia (with respect to the mass frame)
 
virtual void SetMass (dReal mass)
 set a new mass
 
const TransformGetLocalMassFrame () const
 return the mass frame in the link's local coordinate system that holds the center of mass and principal axes for inertia.
 
Transform GetGlobalMassFrame () const
 return the mass frame in the global coordinate system that holds the center of mass and principal axes for inertia.
 
const VectorGetPrincipalMomentsOfInertia () const
 return the principal moments of inertia inside the mass frame
 
dReal GetMass () const
 
virtual void SetStatic (bool bStatic)
 sets a link to be static.
 
virtual void SetTransform (const Transform &transform)
 Sets the transform of the link regardless of kinematics.
 
virtual void SetForce (const Vector &force, const Vector &pos, bool add)
 
virtual void SetTorque (const Vector &torque, bool add)
 
virtual void SetVelocity (const Vector &linearvel, const Vector &angularvel)
 
virtual void GetVelocity (Vector &linearvel, Vector &angularvel) const
 get the velocity of the link
 
virtual std::pair< Vector, VectorGetVelocity () const
 return the linear/angular velocity of the link
 
const std::vector< GeometryPtr > & GetGeometries () const
 returns a list of all the geometry objects.
 
virtual GeometryPtr GetGeometry (int index)
 
virtual void InitGeometries (std::vector< KinBody::GeometryInfoConstPtr > &geometries)
 inits the current geometries with the new geometry info.
 
virtual void InitGeometries (std::list< KinBody::GeometryInfo > &geometries)
 
virtual void SwapGeometries (boost::shared_ptr< Link > &link)
 swaps the geometries with the link
 
virtual bool ValidateContactNormal (const Vector &position, Vector &normal) const
 
virtual bool IsRigidlyAttached (boost::shared_ptr< Link const > plink) const
 returns true if plink is rigidily attahced to this link.
 
virtual void GetRigidlyAttachedLinks (std::vector< boost::shared_ptr< Link > > &vattachedlinks) const
 Gets all the rigidly attached links to linkindex, also adds the link to the list.
 
virtual void serialize (std::ostream &o, int options) const
 
const std::map< std::string,
std::vector< dReal > > & 
GetFloatParameters () const
 return a map of custom float parameters
 
virtual void SetFloatParameters (const std::string &key, const std::vector< dReal > &parameters)
 set custom float parameters
 
const std::map< std::string,
std::vector< int > > & 
GetIntParameters () const
 return a map of custom integer parameters
 
virtual void SetIntParameters (const std::string &key, const std::vector< int > &parameters)
 set custom int parameters
 
virtual void UpdateInfo ()
 Updates several fields in _info depending on the current state of the link.
 
const KinBody::LinkInfoGetInfo () const
 returns the current info structure of the link.
 
const KinBody::LinkInfoUpdateAndGetInfo ()
 Calls UpdateInfo and returns the link structure.
 

Static Public 変数

static const GeometryType GeomNone RAVE_DEPRECATED = OpenRAVE::GT_None
 
static const GeometryType GeomBox RAVE_DEPRECATED = OpenRAVE::GT_Box
 
static const GeometryType
GeomSphere 
RAVE_DEPRECATED = OpenRAVE::GT_Sphere
 
static const GeometryType
GeomCylinder 
RAVE_DEPRECATED = OpenRAVE::GT_Cylinder
 
static const GeometryType
GeomTrimesh 
RAVE_DEPRECATED = OpenRAVE::GT_TriMesh
 

Protected メソッド

virtual void _Update ()
 Updates the cached information due to changes in the collision data.
 

Protected 変数

std::vector< GeometryPtr_vGeometries
 
LinkInfo _info
 parameter information of the link
 

説明

A rigid body holding all its collision and rendering data.

kinbody.h186 行で定義されています。

型定義

typedef boost::shared_ptr<Geometry const> OpenRAVE::KinBody::Link::GeometryConstPtr

kinbody.h326 行で定義されています。

typedef boost::shared_ptr<Geometry> OpenRAVE::KinBody::Link::GeometryPtr

kinbody.h325 行で定義されています。

非推奨:
(12/10/18)

kinbody.h193 行で定義されています。

kinbody.h194 行で定義されています。

kinbody.h195 行で定義されています。

kinbody.h196 行で定義されています。

kinbody.h327 行で定義されています。

コンストラクタとデストラクタ

OpenRAVE::KinBody::Link::Link ( KinBodyPtr  parent)

pass in a ODE world

kinbodylink.cpp25 行で定義されています。

OpenRAVE::KinBody::Link::~Link ( )
virtual

kinbodylink.cpp31 行で定義されています。

関数

void OpenRAVE::KinBody::Link::_Update ( )
protectedvirtual

Updates the cached information due to changes in the collision data.

kinbodylink.cpp420 行で定義されています。

AABB OpenRAVE::KinBody::Link::ComputeAABB ( ) const
virtual

Compute the aabb of all the geometries of the link in the world coordinate system.

kinbodylink.cpp203 行で定義されています。

AABB OpenRAVE::KinBody::Link::ComputeLocalAABB ( ) const
virtual

Compute the aabb of all the geometries of the link in the link coordinate system.

kinbodylink.cpp148 行で定義されています。

void OpenRAVE::KinBody::Link::Enable ( bool  enable)
virtual

Enables a Link. An enabled link takes part in collision detection and physics simulations.

kinbodylink.cpp36 行で定義されています。

const TriMesh& OpenRAVE::KinBody::Link::GetCollisionData ( ) const
inline

kinbody.h364 行で定義されています。

Vector OpenRAVE::KinBody::Link::GetCOMOffset ( ) const
inline

kinbody.h402 行で定義されています。

const std::map<std::string, std::vector<dReal> >& OpenRAVE::KinBody::Link::GetFloatParameters ( ) const
inline

return a map of custom float parameters

kinbody.h511 行で定義されています。

const std::vector<GeometryPtr>& OpenRAVE::KinBody::Link::GetGeometries ( ) const
inline

returns a list of all the geometry objects.

kinbody.h479 行で定義されています。

KinBody::Link::GeometryPtr OpenRAVE::KinBody::Link::GetGeometry ( int  index)
virtual

kinbodylink.cpp317 行で定義されています。

Vector OpenRAVE::KinBody::Link::GetGlobalCOM ( ) const
inline

return center of mass of the link in the global coordinate system

kinbody.h398 行で定義されています。

TransformMatrix OpenRAVE::KinBody::Link::GetGlobalInertia ( ) const
virtual

kinbodylink.cpp125 行で定義されています。

Transform OpenRAVE::KinBody::Link::GetGlobalMassFrame ( ) const
inline

return the mass frame in the global coordinate system that holds the center of mass and principal axes for inertia.

kinbody.h433 行で定義されています。

int OpenRAVE::KinBody::Link::GetIndex ( ) const
inline

unique index into parent KinBody::GetLinks vector

kinbody.h361 行で定義されています。

TransformMatrix OpenRAVE::KinBody::Link::GetInertia ( ) const
inline
非推奨:
(12/1/20)

kinbody.h413 行で定義されています。

const KinBody::LinkInfo& OpenRAVE::KinBody::Link::GetInfo ( ) const
inline

returns the current info structure of the link.

The LinkInfo::_vgeometryinfos do not reflect geometry changes that happened since the robot was created. User will need to call Geometry::GetInfo on each individual geometry.

kinbody.h537 行で定義されています。

const std::map<std::string, std::vector<int> >& OpenRAVE::KinBody::Link::GetIntParameters ( ) const
inline

return a map of custom integer parameters

kinbody.h521 行で定義されています。

Vector OpenRAVE::KinBody::Link::GetLocalCOM ( ) const
inline

return center of mass offset in the link's local coordinate frame

kinbody.h393 行で定義されています。

TransformMatrix OpenRAVE::KinBody::Link::GetLocalInertia ( ) const
virtual

return inertia in link's local coordinate frame. The translation component is the the COM in the link's frame.

kinbodylink.cpp120 行で定義されています。

const Transform& OpenRAVE::KinBody::Link::GetLocalMassFrame ( ) const
inline

return the mass frame in the link's local coordinate system that holds the center of mass and principal axes for inertia.

kinbody.h428 行で定義されています。

dReal OpenRAVE::KinBody::Link::GetMass ( ) const
inline

kinbody.h441 行で定義されています。

const std::string& OpenRAVE::KinBody::Link::GetName ( ) const
inline

kinbody.h329 行で定義されています。

KinBodyPtr OpenRAVE::KinBody::Link::GetParent ( ) const
inline

parent body that link belong to.

kinbody.h356 行で定義されています。

void OpenRAVE::KinBody::Link::GetParentLinks ( std::vector< boost::shared_ptr< Link > > &  vParentLinks) const
virtual

Return all the direct parent links in the kinematics hierarchy of this link.

A parent link is is immediately connected to this link by a joint and has a path to the root joint so that it is possible to compute this link's transformation from its parent.

引数
[out]filledwith the parent links

kinbodylink.cpp77 行で定義されています。

const Vector& OpenRAVE::KinBody::Link::GetPrincipalMomentsOfInertia ( ) const
inline

return the principal moments of inertia inside the mass frame

kinbody.h438 行で定義されています。

void OpenRAVE::KinBody::Link::GetRigidlyAttachedLinks ( std::vector< boost::shared_ptr< Link > > &  vattachedlinks) const
virtual

Gets all the rigidly attached links to linkindex, also adds the link to the list.

引数
vattachedlinksthe array to insert all links attached to linkindex with the link itself.

kinbodylink.cpp370 行で定義されています。

Transform OpenRAVE::KinBody::Link::GetTransform ( ) const
inline

Return the current transformation of the link in the world coordinate system.

kinbody.h375 行で定義されています。

void OpenRAVE::KinBody::Link::GetVelocity ( Vector linearvel,
Vector angularvel 
) const
virtual

get the velocity of the link

引数
[out]linearvelthe translational velocity
[out]angularvelis the rotation axis * angular speed

kinbodylink.cpp304 行で定義されています。

std::pair< Vector, Vector > OpenRAVE::KinBody::Link::GetVelocity ( ) const
virtual

return the linear/angular velocity of the link

kinbodylink.cpp310 行で定義されています。

void OpenRAVE::KinBody::Link::InitGeometries ( std::vector< KinBody::GeometryInfoConstPtr > &  geometries)
virtual

inits the current geometries with the new geometry info.

This gives a user control for dynamically changing the object geometry. Note that the kinbody/robot hash could change.

引数
geometriesa list of geometry infos to be initialized into new geometry objects, note that the geometry info data is copied

kinbodylink.cpp322 行で定義されています。

void OpenRAVE::KinBody::Link::InitGeometries ( std::list< KinBody::GeometryInfo > &  geometries)
virtual

kinbodylink.cpp332 行で定義されています。

bool OpenRAVE::KinBody::Link::IsEnabled ( ) const
virtual

returns true if the link is enabled.

参照
Enable

kinbodylink.cpp46 行で定義されています。

bool OpenRAVE::KinBody::Link::IsParentLink ( boost::shared_ptr< Link const >  plink) const
virtual

Tests if a link is a direct parent.

参照
GetParentLinks
引数
linkThe link to test if it is one of the parents of this link.

kinbodylink.cpp86 行で定義されています。

bool OpenRAVE::KinBody::Link::IsRigidlyAttached ( boost::shared_ptr< Link const >  plink) const
virtual

returns true if plink is rigidily attahced to this link.

kinbodylink.cpp401 行で定義されています。

bool OpenRAVE::KinBody::Link::IsStatic ( ) const
inline

Indicates a static body that does not move with respect to the root link.

Static should be used when an object has infinite mass and shouldn't be affected by physics (including gravity). Collision still works.

kinbody.h337 行で定義されています。

bool OpenRAVE::KinBody::Link::IsVisible ( ) const
virtual
戻り値
true if any geometry of the link is visible.

kinbodylink.cpp67 行で定義されています。

void OpenRAVE::KinBody::Link::serialize ( std::ostream &  o,
int  options 
) const
virtual

kinbodylink.cpp259 行で定義されています。

void OpenRAVE::KinBody::Link::SetFloatParameters ( const std::string &  key,
const std::vector< dReal > &  parameters 
)
virtual

set custom float parameters

引数
parametersif empty, then removes the parameter

kinbodylink.cpp379 行で定義されています。

void OpenRAVE::KinBody::Link::SetForce ( const Vector force,
const Vector pos,
bool  add 
)
virtual

adds an external force at pos (absolute coords)

引数
[in]forcethe direction and magnitude of the force
[in]posin the world where the force is getting applied
[in]addif true, force is added to previous forces, otherwise it is set

kinbodylink.cpp289 行で定義されています。

void OpenRAVE::KinBody::Link::SetIntParameters ( const std::string &  key,
const std::vector< int > &  parameters 
)
virtual

set custom int parameters

引数
parametersif empty, then removes the parameter

kinbodylink.cpp390 行で定義されています。

void OpenRAVE::KinBody::Link::SetLocalMassFrame ( const Transform massframe)
virtual

sets a new mass frame with respect to the link coordinate system

kinbodylink.cpp130 行で定義されています。

void OpenRAVE::KinBody::Link::SetMass ( dReal  mass)
virtual

set a new mass

kinbodylink.cpp142 行で定義されています。

void OpenRAVE::KinBody::Link::SetPrincipalMomentsOfInertia ( const Vector inertiamoments)
virtual

sets new principal moments of inertia (with respect to the mass frame)

kinbodylink.cpp136 行で定義されています。

void OpenRAVE::KinBody::Link::SetStatic ( bool  bStatic)
virtual

sets a link to be static.

Because this can affect the kinematics, it requires the body's internal structures to be recomputed

kinbodylink.cpp275 行で定義されています。

void OpenRAVE::KinBody::Link::SetTorque ( const Vector torque,
bool  add 
)
virtual

adds torque to a body (absolute coords)

引数
addif true, torque is added to previous torques, otherwise it is set

kinbodylink.cpp294 行で定義されています。

void OpenRAVE::KinBody::Link::SetTransform ( const Transform transform)
virtual

Sets the transform of the link regardless of kinematics.

引数
[in]tthe new transformation

kinbodylink.cpp283 行で定義されています。

void OpenRAVE::KinBody::Link::SetVelocity ( const Vector linearvel,
const Vector angularvel 
)
virtual

forces the velocity of the link

引数
[in]linearvelthe translational velocity
[in]angularvelis the rotation axis * angular speed

kinbodylink.cpp299 行で定義されています。

bool OpenRAVE::KinBody::Link::SetVisible ( bool  visible)
virtual

Sets all the geometries of the link as visible or non visible.

戻り値
true if changed

kinbodylink.cpp51 行で定義されています。

void OpenRAVE::KinBody::Link::SwapGeometries ( boost::shared_ptr< Link > &  link)
virtual

swaps the geometries with the link

kinbodylink.cpp344 行で定義されています。

const KinBody::LinkInfo& OpenRAVE::KinBody::Link::UpdateAndGetInfo ( )
inline

Calls UpdateInfo and returns the link structure.

kinbody.h542 行で定義されています。

void OpenRAVE::KinBody::Link::UpdateInfo ( )
virtual

Updates several fields in _info depending on the current state of the link.

kinbodylink.cpp406 行で定義されています。

bool OpenRAVE::KinBody::Link::ValidateContactNormal ( const Vector position,
Vector normal 
) const
virtual

validates the contact normal on link and makes sure the normal faces "outside" of the geometry shape it lies on. An exception can be thrown if position is not on a geometry surface

引数
positionthe position of the contact point specified in the link's coordinate system, assumes it is on a particular geometry
normalthe unit normal of the contact point specified in the link's coordinate system
戻り値
true if the normal is changed to face outside of the shape

kinbodylink.cpp359 行で定義されています。

変数

LinkInfo OpenRAVE::KinBody::Link::_info
protected

parameter information of the link

kinbody.h553 行で定義されています。

std::vector<GeometryPtr> OpenRAVE::KinBody::Link::_vGeometries
protected
参照
GetGeometries

kinbody.h551 行で定義されています。

kinbody.h197 行で定義されています。

kinbody.h198 行で定義されています。

kinbody.h199 行で定義されています。

kinbody.h200 行で定義されています。

kinbody.h201 行で定義されています。


このクラスの説明は次のファイルから生成されました: