Robotics Library  0.6.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | Friends | List of all members
rl::mdl::Model Class Reference

#include <Model.h>

Inheritance diagram for rl::mdl::Model:
Inheritance graph
[legend]
Collaboration diagram for rl::mdl::Model:
Collaboration graph
[legend]

Public Member Functions

 Model ()
 
virtual ~Model ()
 
void add (Compound *compound, const Frame *a, const Frame *b)
 
void add (Frame *frame)
 
void add (Transform *transform, const Frame *a, const Frame *b)
 
bool areColliding (const ::std::size_t &i, const ::std::size_t &j) const
 
Modelclone () const
 
void getAcceleration (::rl::math::Vector &qdd) const
 
::std::size_t getBodies () const
 
const BodygetBody (const ::std::size_t &i) const
 
::std::size_t getDof () const
 
const ::rl::math::TransformgetFrame (const ::std::size_t &i) const
 
const JointgetJoint (const ::std::size_t &i) const
 
const ::rl::math::MotionVectorgetOperationalAcceleration (const ::std::size_t &i) const
 
::std::size_t getOperationalDof () const
 
const ::rl::math::ForceVectorgetOperationalForce (const ::std::size_t &i) const
 
const ::rl::math::TransformgetOperationalPosition (const ::std::size_t &i) const
 
const ::rl::math::MotionVectorgetOperationalVelocity (const ::std::size_t &i) const
 
const ::std::string & getManufacturer () const
 
void getMaximum (::rl::math::Vector &max) const
 
void getMinimum (::rl::math::Vector &min) const
 
const ::std::string & getName () const
 
void getPosition (::rl::math::Vector &q) const
 
void getTorque (::rl::math::Vector &tau) const
 
void getSpeed (::rl::math::Vector &speed) const
 
void getVelocity (::rl::math::Vector &qd) const
 
bool isColliding (const ::std::size_t &i) const
 
void replace (Compound *compound, Transform *transform)
 
void replace (Transform *transform, Compound *compound)
 
void remove (Compound *compound)
 
void remove (Frame *frame)
 
void remove (Transform *transform)
 
void setAcceleration (const ::rl::math::Vector &qdd)
 
void setManufacturer (const ::std::string &manufacturer)
 
void setName (const ::std::string &name)
 
void setOperationalVelocity (const ::std::size_t &i, const ::rl::math::MotionVector &v) const
 
void setPosition (const ::rl::math::Vector &q)
 
void setTorque (const ::rl::math::Vector &tau)
 
void setVelocity (const ::rl::math::Vector &qd)
 
::rl::math::Transformtool (const ::std::size_t &i=0)
 
const ::rl::math::Transformtool (const ::std::size_t &i=0) const
 
virtual void update ()
 
::rl::math::Transformworld ()
 
const ::rl::math::Transformworld () const
 

Protected Types

typedef
::boost::adjacency_list
< ::boost::listS,::boost::listS,::boost::bidirectionalS,::boost::property
< ::boost::vertex_color_t,
Compound *,::boost::shared_ptr
< Frame > >,::boost::property
< ::boost::edge_weight_t,
Compound *,::boost::shared_ptr
< Transform >
>,::boost::no_property,::boost::listS > 
Tree
 
typedef ::boost::graph_traits
< Tree >::edge_descriptor 
Edge
 
typedef ::boost::graph_traits
< Tree >::edge_iterator 
EdgeIterator
 
typedef ::std::pair
< EdgeIterator, EdgeIterator
EdgeIteratorPair
 
typedef ::boost::graph_traits
< Tree >::in_edge_iterator 
InEdgeIterator
 
typedef ::std::pair
< InEdgeIterator,
InEdgeIterator
InEdgeIteratorPair
 
typedef ::boost::graph_traits
< Tree >::out_edge_iterator 
OutEdgeIterator
 
typedef ::std::pair
< OutEdgeIterator,
OutEdgeIterator
OutEdgeIteratorPair
 
typedef ::boost::graph_traits
< Tree >::vertex_descriptor 
Vertex
 
typedef ::boost::graph_traits
< Tree >::vertex_iterator 
VertexIterator
 
typedef ::std::pair
< VertexIterator,
VertexIterator
VertexIteratorPair
 

Protected Member Functions

void update (const Vertex &u)
 

Protected Attributes

::std::vector< Body * > bodies
 
::std::vector< Element * > elements
 
::std::vector< Frame * > frames
 
::std::vector< Joint * > joints
 
::std::vector< Vertexleaves
 
::std::string manufacturer
 
::std::string name
 
Vertex root
 
::std::vector< Edgetools
 
::std::vector< Transform * > transforms
 
Tree tree
 

Friends

class Compound
 

Member Typedef Documentation

typedef ::boost::graph_traits< Tree >::edge_descriptor rl::mdl::Model::Edge
protected
typedef ::boost::graph_traits< Tree >::edge_iterator rl::mdl::Model::EdgeIterator
protected
typedef ::std::pair< EdgeIterator, EdgeIterator > rl::mdl::Model::EdgeIteratorPair
protected
typedef ::boost::graph_traits< Tree >::in_edge_iterator rl::mdl::Model::InEdgeIterator
protected
typedef ::boost::graph_traits< Tree >::out_edge_iterator rl::mdl::Model::OutEdgeIterator
protected
typedef ::boost::adjacency_list< ::boost::listS, ::boost::listS, ::boost::bidirectionalS, ::boost::property< ::boost::vertex_color_t, Compound*, ::boost::shared_ptr< Frame > >, ::boost::property< ::boost::edge_weight_t, Compound*, ::boost::shared_ptr< Transform > >, ::boost::no_property, ::boost::listS > rl::mdl::Model::Tree
protected
typedef ::boost::graph_traits< Tree >::vertex_descriptor rl::mdl::Model::Vertex
protected
typedef ::boost::graph_traits< Tree >::vertex_iterator rl::mdl::Model::VertexIterator
protected

Constructor & Destructor Documentation

rl::mdl::Model::Model ( )
rl::mdl::Model::~Model ( )
virtual

Member Function Documentation

void rl::mdl::Model::add ( Compound compound,
const Frame a,
const Frame b 
)
void rl::mdl::Model::add ( Frame frame)
void rl::mdl::Model::add ( Transform transform,
const Frame a,
const Frame b 
)
bool rl::mdl::Model::areColliding ( const ::std::size_t &  i,
const ::std::size_t &  j 
) const
Model * rl::mdl::Model::clone ( ) const
void rl::mdl::Model::getAcceleration ( ::rl::math::Vector qdd) const
std::size_t rl::mdl::Model::getBodies ( ) const
const Body * rl::mdl::Model::getBody ( const ::std::size_t &  i) const
std::size_t rl::mdl::Model::getDof ( ) const
const ::rl::math::Transform & rl::mdl::Model::getFrame ( const ::std::size_t &  i) const
const Joint * rl::mdl::Model::getJoint ( const ::std::size_t &  i) const
const ::std::string & rl::mdl::Model::getManufacturer ( ) const
void rl::mdl::Model::getMaximum ( ::rl::math::Vector max) const
void rl::mdl::Model::getMinimum ( ::rl::math::Vector min) const
const ::std::string & rl::mdl::Model::getName ( ) const
const ::rl::math::MotionVector & rl::mdl::Model::getOperationalAcceleration ( const ::std::size_t &  i) const
std::size_t rl::mdl::Model::getOperationalDof ( ) const
const ::rl::math::ForceVector & rl::mdl::Model::getOperationalForce ( const ::std::size_t &  i) const
const ::rl::math::Transform & rl::mdl::Model::getOperationalPosition ( const ::std::size_t &  i) const
const ::rl::math::MotionVector & rl::mdl::Model::getOperationalVelocity ( const ::std::size_t &  i) const
void rl::mdl::Model::getPosition ( ::rl::math::Vector q) const
void rl::mdl::Model::getSpeed ( ::rl::math::Vector speed) const
void rl::mdl::Model::getTorque ( ::rl::math::Vector tau) const
void rl::mdl::Model::getVelocity ( ::rl::math::Vector qd) const
bool rl::mdl::Model::isColliding ( const ::std::size_t &  i) const
void rl::mdl::Model::remove ( Compound compound)
void rl::mdl::Model::remove ( Frame frame)
void rl::mdl::Model::remove ( Transform transform)
void rl::mdl::Model::replace ( Compound compound,
Transform transform 
)
void rl::mdl::Model::replace ( Transform transform,
Compound compound 
)
void rl::mdl::Model::setAcceleration ( const ::rl::math::Vector qdd)
void rl::mdl::Model::setManufacturer ( const ::std::string &  manufacturer)
void rl::mdl::Model::setName ( const ::std::string &  name)
void rl::mdl::Model::setOperationalVelocity ( const ::std::size_t &  i,
const ::rl::math::MotionVector v 
) const
void rl::mdl::Model::setPosition ( const ::rl::math::Vector q)
void rl::mdl::Model::setTorque ( const ::rl::math::Vector tau)
void rl::mdl::Model::setVelocity ( const ::rl::math::Vector qd)
rl::math::Transform & rl::mdl::Model::tool ( const ::std::size_t &  i = 0)
const ::rl::math::Transform & rl::mdl::Model::tool ( const ::std::size_t &  i = 0) const
void rl::mdl::Model::update ( )
virtual

Reimplemented in rl::mdl::Dynamic, and rl::mdl::Kinematic.

void rl::mdl::Model::update ( const Vertex u)
protected
rl::math::Transform & rl::mdl::Model::world ( )
const ::rl::math::Transform & rl::mdl::Model::world ( ) const

Friends And Related Function Documentation

friend class Compound
friend

Member Data Documentation

::std::vector< Body* > rl::mdl::Model::bodies
protected
::std::vector< Element* > rl::mdl::Model::elements
protected
::std::vector< Frame* > rl::mdl::Model::frames
protected
::std::vector< Joint* > rl::mdl::Model::joints
protected
::std::vector< Vertex > rl::mdl::Model::leaves
protected
::std::string rl::mdl::Model::manufacturer
protected
::std::string rl::mdl::Model::name
protected
Vertex rl::mdl::Model::root
protected
::std::vector< Edge > rl::mdl::Model::tools
protected
::std::vector< Transform* > rl::mdl::Model::transforms
protected
Tree rl::mdl::Model::tree
protected

The documentation for this class was generated from the following files: