Choreonoid  1.1
構成 | Public 型 | Public メソッド | Public 変数 | Protected メソッド | すべてのメンバ一覧
クラス cnoid::BodyItem

#include <BodyItem.h>

構成

struct  KinematicState

Public 型

enum  PresetPoseID { INITIAL_POSE, STANDARD_POSE }
enum  PositionType {
  CM_PROJECTION, HOME_COP, RIGHT_HOME_COP, LEFT_HOME_COP,
  ZMP
}

Public メソッド

 BodyItem ()
 BodyItem (const BodyItem &org)
virtual ~BodyItem ()
void init ()
bool loadModelFile (const std::string &filename)
virtual void setName (const std::string &name)
Bodybody ()
ModelNodeSetPtr modelNodeSet ()
const std::string & errorMessage ()
void moveToOrigin ()
void setPresetPose (PresetPoseID id)
LinkcurrentBaseLink () const
void setCurrentBaseLink (Link *link)
void calcForwardKinematics (bool calcVelocity=false, bool calcAcceleration=false)
void copyKinematicState ()
void pasteKinematicState ()
void storeKinematicState (KinematicState &state)
bool restoreKinematicState (const KinematicState &state)
void beginKinematicStateEdit ()
void acceptKinematicStateEdit ()
bool undoKinematicState ()
bool redoKinematicState ()
PinDragIKptr pinDragIK ()
InverseKinematicsPtr getCurrentIK (Link *targetLink)
PenetrationBlockerPtr createPenetrationBlocker (Link *link, bool excludeSelfCollisions=false)
SignalProxy< boost::signal
< void()> > 
sigKinematicStateChanged ()
void notifyKinematicStateChange (bool requestFK=false, bool requestVelFK=false, bool requestAccFK=false)
void notifyKinematicStateChange (boost::signals::connection &connectionToBlock, bool requestFK=false, bool requestVelFK=false, bool requestAccFK=false)
SignalProxy< boost::signal
< void()> > 
sigKinematicStateEdited ()
WorldItemworldItem ()
void updateColdetModelPositions (bool force=false)
void enableSelfCollisionDetection (bool on)
bool isSelfCollisionDetectionEnabled ()
bool updateSelfCollisions (bool force=false)
void clearSelfCollisions ()
SignalProxy< boost::signal
< void()> > 
sigSelfCollisionsUpdated ()
SignalProxy< boost::signal
< void()> > 
sigSelfCollisionLinkSetChanged ()
std::vector< ColdetLinkPairPtr > & worldColdetPairsOfLink (int linkIndex)
const std::vector
< ColdetLinkPairPtr > & 
worldColdetPairsOfLink (int linkIndex) const
SignalProxy< boost::signal
< void()> > 
sigWorldCollisionsUpdated ()
SignalProxy< boost::signal
< void()> > 
sigWorldCollisionLinkSetChanged ()
void notifyWorldCollisionLinkSetChange ()
void notifyWorldCollisionUpdate ()
const Vector3centerOfMass ()
bool doLegIkToMoveCm (const Vector3 &c, bool onlyProjectionToFloor=false)
const Vector3zmp ()
void setZmp (const Vector3 &zmp)
void editZmp (const Vector3 &zmp)
boost::optional< Vector3getParticularPosition (PositionType posType)
bool setStance (double width)
const std::string modelFilePath ()

Public 変数

std::vector< ColdetLinkPairPtrselfColdetPairs
boost::dynamic_bitset selfCollisionLinkBitSet
boost::dynamic_bitset worldCollisionLinkBitSet

Protected メソッド

virtual ItemPtr doDuplicate () const
virtual void doPutProperties (PutPropertyFunction &putProperty)
virtual bool store (Archive &archive)
virtual bool restore (const Archive &archive)

列挙型

列挙型の値:
CM_PROJECTION 
HOME_COP 
RIGHT_HOME_COP 
LEFT_HOME_COP 
ZMP 
列挙型の値:
INITIAL_POSE 
STANDARD_POSE 

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

BodyItem::BodyItem ( )
BodyItem::BodyItem ( const BodyItem org)
BodyItem::~BodyItem ( )
virtual

関数

void BodyItem::acceptKinematicStateEdit ( )
void BodyItem::beginKinematicStateEdit ( )
Body* cnoid::BodyItem::body ( )
inline
void BodyItem::calcForwardKinematics ( bool  calcVelocity = false,
bool  calcAcceleration = false 
)

Forward kinematics from the current base link is done.

const Vector3 & BodyItem::centerOfMass ( )
void BodyItem::clearSelfCollisions ( )
void BodyItem::copyKinematicState ( )
PenetrationBlockerPtr BodyItem::createPenetrationBlocker ( Link link,
bool  excludeSelfCollisions = false 
)
Link* cnoid::BodyItem::currentBaseLink ( ) const
inline
ItemPtr BodyItem::doDuplicate ( ) const
protectedvirtual
bool BodyItem::doLegIkToMoveCm ( const Vector3 c,
bool  onlyProjectionToFloor = false 
)
TODO:
use getDefaultIK() if the kinematics bar is in the AUTO mode.
void BodyItem::doPutProperties ( PutPropertyFunction &  putProperty)
protectedvirtual
void BodyItem::editZmp ( const Vector3 zmp)
void BodyItem::enableSelfCollisionDetection ( bool  on)
const std::string& cnoid::BodyItem::errorMessage ( )
inline
InverseKinematicsPtr BodyItem::getCurrentIK ( Link targetLink)
boost::optional< Vector3 > BodyItem::getParticularPosition ( PositionType  posType)
void BodyItem::init ( )
bool cnoid::BodyItem::isSelfCollisionDetectionEnabled ( )
inline
bool BodyItem::loadModelFile ( const std::string &  filename)
const std::string cnoid::BodyItem::modelFilePath ( )
inline
ModelNodeSetPtr cnoid::BodyItem::modelNodeSet ( )
inline
void BodyItem::moveToOrigin ( )
void BodyItem::notifyKinematicStateChange ( bool  requestFK = false,
bool  requestVelFK = false,
bool  requestAccFK = false 
)
void BodyItem::notifyKinematicStateChange ( boost::signals::connection &  connectionToBlock,
bool  requestFK = false,
bool  requestVelFK = false,
bool  requestAccFK = false 
)
void cnoid::BodyItem::notifyWorldCollisionLinkSetChange ( )
inline
void cnoid::BodyItem::notifyWorldCollisionUpdate ( )
inline
void BodyItem::pasteKinematicState ( )
PinDragIKptr BodyItem::pinDragIK ( )
bool BodyItem::redoKinematicState ( )
bool BodyItem::restore ( const Archive &  archive)
protectedvirtual
bool BodyItem::restoreKinematicState ( const KinematicState state)
戻り値
false if the restored state is same as the current state
void BodyItem::setCurrentBaseLink ( Link link)
void BodyItem::setName ( const std::string &  name)
virtual
void BodyItem::setPresetPose ( PresetPoseID  id)
bool BodyItem::setStance ( double  width)
void cnoid::BodyItem::setZmp ( const Vector3 zmp)
inline
SignalProxy< boost::signal<void()> > cnoid::BodyItem::sigKinematicStateChanged ( )
inline
SignalProxy< boost::signal<void()> > cnoid::BodyItem::sigKinematicStateEdited ( )
inline
SignalProxy< boost::signal<void()> > cnoid::BodyItem::sigSelfCollisionLinkSetChanged ( )
inline
SignalProxy< boost::signal<void()> > cnoid::BodyItem::sigSelfCollisionsUpdated ( )
inline
SignalProxy< boost::signal<void()> > cnoid::BodyItem::sigWorldCollisionLinkSetChanged ( )
inline
SignalProxy< boost::signal<void()> > cnoid::BodyItem::sigWorldCollisionsUpdated ( )
inline
bool BodyItem::store ( Archive &  archive)
protectedvirtual
void BodyItem::storeKinematicState ( KinematicState state)
bool BodyItem::undoKinematicState ( )
void BodyItem::updateColdetModelPositions ( bool  force = false)
bool BodyItem::updateSelfCollisions ( bool  force = false)

true if a colliding link set changes

std::vector<ColdetLinkPairPtr>& cnoid::BodyItem::worldColdetPairsOfLink ( int  linkIndex)
inline
const std::vector<ColdetLinkPairPtr>& cnoid::BodyItem::worldColdetPairsOfLink ( int  linkIndex) const
inline
WorldItem* cnoid::BodyItem::worldItem ( )
inline

WorldItem that contains this body item if exists.

const Vector3& cnoid::BodyItem::zmp ( )
inline

変数

std::vector<ColdetLinkPairPtr> cnoid::BodyItem::selfColdetPairs
boost::dynamic_bitset cnoid::BodyItem::selfCollisionLinkBitSet
boost::dynamic_bitset cnoid::BodyItem::worldCollisionLinkBitSet

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