se3::Model Class Reference

#include <multibody/model.hpp>

Collaboration diagram for se3::Model:
[legend]

List of all members.

Public Types

typedef std::size_t Index

Public Member Functions

 Model ()
 ~Model ()
template<typename D >
Index addBody (Index parent, const JointModelBase< D > &j, const SE3 &placement, const Inertia &Y, const std::string &jointName="", const std::string &bodyName="", bool visual=false)
template<typename D >
Index addBody (Index parent, const JointModelBase< D > &j, const SE3 &placement, const Inertia &Y, const Eigen::VectorXd &effort, const Eigen::VectorXd &velocity, const Eigen::VectorXd &lowPos, const Eigen::VectorXd &upPos, const std::string &jointName="", const std::string &bodyName="", bool visual=false)
Index addFixedBody (Index fix_lastMovingParent, const SE3 &placementFromLastMoving, const std::string &jointName="", bool visual=false)
void mergeFixedBody (Index parent, const SE3 &placement, const Inertia &Y)
Index getBodyId (const std::string &name) const
bool existBodyName (const std::string &name) const
const std::string & getBodyName (Index index) const
Index getJointId (const std::string &name) const
bool existJointName (const std::string &name) const
const std::string & getJointName (Index index) const

Public Attributes

int nq
int nv
int nbody
int nFixBody
std::vector< Inertiainertias
std::vector< SE3jointPlacements
JointModelVector joints
std::vector< Indexparents
std::vector< std::string > names
std::vector< std::string > bodyNames
std::vector< bool > hasVisual
std::vector< SE3fix_lmpMi
std::vector< Model::Indexfix_lastMovingParent
std::vector< bool > fix_hasVisual
std::vector< std::string > fix_bodyNames
Motion gravity

Static Public Attributes

static const Eigen::Vector3d gravity981

Member Typedef Documentation

typedef std::size_t se3::Model::Index

Constructor & Destructor Documentation

se3::Model::Model ( ) [inline]
se3::Model::~Model ( ) [inline]

Member Function Documentation

template<typename D >
Model::Index se3::Model::addBody ( Index  parent,
const JointModelBase< D > &  j,
const SE3 placement,
const Inertia Y,
const std::string &  jointName = "",
const std::string &  bodyName = "",
bool  visual = false 
)
template<typename D >
Model::Index se3::Model::addBody ( Index  parent,
const JointModelBase< D > &  j,
const SE3 placement,
const Inertia Y,
const Eigen::VectorXd &  effort,
const Eigen::VectorXd &  velocity,
const Eigen::VectorXd &  lowPos,
const Eigen::VectorXd &  upPos,
const std::string &  jointName = "",
const std::string &  bodyName = "",
bool  visual = false 
)
Model::Index se3::Model::addFixedBody ( Index  fix_lastMovingParent,
const SE3 placementFromLastMoving,
const std::string &  jointName = "",
bool  visual = false 
) [inline]
bool se3::Model::existBodyName ( const std::string &  name) const [inline]

References bodyNames.

bool se3::Model::existJointName ( const std::string &  name) const [inline]

References names.

Model::Index se3::Model::getBodyId ( const std::string &  name) const [inline]
const std::string & se3::Model::getBodyName ( Model::Index  index) const [inline]

References bodyNames, and nbody.

Model::Index se3::Model::getJointId ( const std::string &  name) const [inline]

References joints, and names.

const std::string & se3::Model::getJointName ( Model::Index  index) const [inline]

References joints, and names.

void se3::Model::mergeFixedBody ( Index  parent,
const SE3 placement,
const Inertia Y 
) [inline]

Member Data Documentation

std::vector<std::string> se3::Model::bodyNames
std::vector<std::string> se3::Model::fix_bodyNames

Referenced by addFixedBody().

std::vector<bool> se3::Model::fix_hasVisual

Referenced by addFixedBody().

std::vector<SE3> se3::Model::fix_lmpMi

Referenced by addFixedBody().

const Eigen::Vector3d se3::Model::gravity981 [static]
std::vector<bool> se3::Model::hasVisual

Referenced by addBody(), and se3::operator<<().

Referenced by addBody(), and se3::operator<<().