Choreonoid  1.1
クラス | 公開型 | 公開メンバ関数 | 公開変数類 | 限定公開メンバ関数 | 全メンバ一覧
cnoid::BodyItem クラス

#include <BodyItem.h>

cnoid::BodyItem の継承関係図

クラス

struct  KinematicState
 

公開型

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

公開メンバ関数

 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 ()
 

公開変数類

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

限定公開メンバ関数

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

このクラス詳解は次のファイルから抽出されました: