33#ifndef DART_DYNAMICS_METASKELETON_HPP_
34#define DART_DYNAMICS_METASKELETON_HPP_
65 =
common::Signal<void(std::shared_ptr<const MetaSkeleton> _skeleton,
66 const std::string& _oldName,
67 const std::string& _newName)>;
85 virtual const std::string&
setName(
const std::string& _name) = 0;
88 virtual const std::string&
getName()
const = 0;
132 const std::string&
name)
const = 0;
166 virtual std::vector<const Joint*>
getJoints()
const = 0;
185 const std::string&
name)
const = 0;
206 virtual const std::vector<DegreeOfFreedom*>&
getDofs() = 0;
209 virtual std::vector<const DegreeOfFreedom*>
getDofs()
const = 0;
216 bool _warning=
true)
const = 0;
225 void setCommand(std::size_t _index,
double _command);
231 void setCommands(
const Eigen::VectorXd& _commands);
234 void setCommands(
const std::vector<std::size_t>& _indices,
235 const Eigen::VectorXd& _commands);
241 Eigen::VectorXd
getCommands(
const std::vector<std::size_t>& _indices)
const;
262 void setPositions(
const std::vector<std::size_t>& _indices,
263 const Eigen::VectorXd& _positions);
269 Eigen::VectorXd
getPositions(
const std::vector<std::size_t>& _indices)
const;
282 const Eigen::VectorXd& positions);
292 const std::vector<std::size_t>& indices)
const;
302 const Eigen::VectorXd& positions);
312 const std::vector<std::size_t>& indices)
const;
321 void setVelocity(std::size_t _index,
double _velocity);
331 const Eigen::VectorXd& _velocities);
337 Eigen::VectorXd
getVelocities(
const std::vector<std::size_t>& _indices)
const;
351 const Eigen::VectorXd& velocities);
362 const std::vector<std::size_t>& indices)
const;
373 const Eigen::VectorXd& velocities);
384 const std::vector<std::size_t>& indices)
const;
403 const Eigen::VectorXd& _accelerations);
409 Eigen::VectorXd
getAccelerations(
const std::vector<std::size_t>& _indices)
const;
423 const Eigen::VectorXd& accelerations);
434 const std::vector<std::size_t>& indices)
const;
445 const Eigen::VectorXd& accelerations);
456 const std::vector<std::size_t>& indices)
const;
465 void setForce(std::size_t _index,
double _force);
468 double getForce(std::size_t _index)
const;
471 void setForces(
const Eigen::VectorXd& _forces);
474 void setForces(
const std::vector<std::size_t>& _index,
475 const Eigen::VectorXd& _forces);
481 Eigen::VectorXd
getForces(
const std::vector<std::size_t>& _indices)
const;
494 const Eigen::VectorXd& forces);
504 const std::vector<std::size_t>& indices)
const;
514 const Eigen::VectorXd& forces);
524 const std::vector<std::size_t>& indices)
const;
558 const Frame* _inCoordinatesOf)
const = 0;
566 const Frame* _inCoordinatesOf)
const;
573 const Eigen::Vector3d& _localOffset)
const = 0;
580 const Eigen::Vector3d& _localOffset,
581 const Frame* _inCoordinatesOf)
const = 0;
589 const Eigen::Vector3d& _localOffset,
591 const Frame* _inCoordinatesOf)
const;
602 const Eigen::Vector3d& _localOffset)
const = 0;
615 const Eigen::Vector3d& _localOffset,
632 const Eigen::Vector3d& _localOffset,
665 const Frame* _inCoordinatesOf)
const = 0;
672 const Eigen::Vector3d& _localOffset)
const = 0;
679 const Eigen::Vector3d& _localOffset,
680 const Frame* _inCoordinatesOf)
const = 0;
688 const Frame* _inCoordinatesOf)
const;
696 const Eigen::Vector3d& _localOffset,
698 const Frame* _inCoordinatesOf)
const;
710 const Frame* _inCoordinatesOf)
const = 0;
717 const Eigen::Vector3d& _localOffset,
731 const Eigen::Vector3d& _localOffset,
817 const
Frame* _withRespectTo =
Frame::World()) const = 0;
823 const
Frame* _inCoordinatesOf =
Frame::World()) const = 0;
829 const
Frame* _inCoordinatesOf =
Frame::World()) const = 0;
835 const
Frame* _inCoordinatesOf =
Frame::World()) const = 0;
841 const
Frame* _inCoordinatesOf =
Frame::World()) const = 0;
846 const
Frame* _inCoordinatesOf =
Frame::World()) const = 0;
851 const
Frame* _inCoordinatesOf =
Frame::World()) const = 0;
860 const
Frame* _inCoordinatesOf =
Frame::World()) const = 0;
869 const
Frame* _inCoordinatesOf =
Frame::World()) const = 0;
#define DART_DEPRECATED(version)
Definition Deprecated.hpp:51
std::string * name
Definition SkelParser.cpp:1642
std::size_t index
Definition SkelParser.cpp:1617
The Subject class is a base class for any object that wants to report when it gets destroyed.
Definition Subject.hpp:58
BodyNode class represents a single node of the skeleton.
Definition BodyNode.hpp:78
DegreeOfFreedom class is a proxy class for accessing single degrees of freedom (aka generalized coord...
Definition DegreeOfFreedom.hpp:53
The Frame class serves as the backbone of DART's kinematic tree structure.
Definition Frame.hpp:57
static Frame * World()
Definition Frame.cpp:72
The JacobianNode class serves as a common interface for BodyNodes and EndEffectors to both be used as...
Definition JacobianNode.hpp:54
class Joint
Definition Joint.hpp:59
Definition MathTypes.hpp:47
Eigen::Matrix< double, 6, Eigen::Dynamic > Jacobian
Definition MathTypes.hpp:108
Eigen::Matrix< double, 3, Eigen::Dynamic > AngularJacobian
Definition MathTypes.hpp:107
Eigen::Matrix< double, 3, Eigen::Dynamic > LinearJacobian
Definition MathTypes.hpp:106
Definition BulletCollisionDetector.cpp:63