33 #ifndef DART_DYNAMICS_METASKELETON_HPP_
34 #define DART_DYNAMICS_METASKELETON_HPP_
39 #include <Eigen/Dense>
55 class DegreeOfFreedom;
65 =
common::Signal<void(std::shared_ptr<const MetaSkeleton> _skeleton,
66 const std::string& _oldName,
67 const std::string& _newName)>;
76 const std::string& cloneName)
const = 0;
94 virtual const std::string&
setName(
const std::string& _name) = 0;
97 virtual const std::string&
getName()
const = 0;
141 const std::string&
name)
const = 0;
175 virtual std::vector<const Joint*>
getJoints()
const = 0;
194 const std::string&
name)
const = 0;
215 virtual const std::vector<DegreeOfFreedom*>&
getDofs() = 0;
218 virtual std::vector<const DegreeOfFreedom*>
getDofs()
const = 0;
225 bool _warning=
true)
const = 0;
234 void setCommand(std::size_t _index,
double _command);
240 void setCommands(
const Eigen::VectorXd& _commands);
243 void setCommands(
const std::vector<std::size_t>& _indices,
244 const Eigen::VectorXd& _commands);
250 Eigen::VectorXd
getCommands(
const std::vector<std::size_t>& _indices)
const;
271 void setPositions(
const std::vector<std::size_t>& _indices,
272 const Eigen::VectorXd& _positions);
278 Eigen::VectorXd
getPositions(
const std::vector<std::size_t>& _indices)
const;
291 const Eigen::VectorXd& positions);
301 const std::vector<std::size_t>& indices)
const;
311 const Eigen::VectorXd& positions);
321 const std::vector<std::size_t>& indices)
const;
330 void setVelocity(std::size_t _index,
double _velocity);
340 const Eigen::VectorXd& _velocities);
346 Eigen::VectorXd
getVelocities(
const std::vector<std::size_t>& _indices)
const;
360 const Eigen::VectorXd& velocities);
371 const std::vector<std::size_t>& indices)
const;
382 const Eigen::VectorXd& velocities);
393 const std::vector<std::size_t>& indices)
const;
412 const Eigen::VectorXd& _accelerations);
418 Eigen::VectorXd
getAccelerations(
const std::vector<std::size_t>& _indices)
const;
432 const Eigen::VectorXd& accelerations);
443 const std::vector<std::size_t>& indices)
const;
454 const Eigen::VectorXd& accelerations);
465 const std::vector<std::size_t>& indices)
const;
474 void setForce(std::size_t _index,
double _force);
477 double getForce(std::size_t _index)
const;
480 void setForces(
const Eigen::VectorXd& _forces);
483 void setForces(
const std::vector<std::size_t>& _index,
484 const Eigen::VectorXd& _forces);
490 Eigen::VectorXd
getForces(
const std::vector<std::size_t>& _indices)
const;
503 const Eigen::VectorXd& forces);
513 const std::vector<std::size_t>& indices)
const;
523 const Eigen::VectorXd& forces);
533 const std::vector<std::size_t>& indices)
const;
567 const Frame* _inCoordinatesOf)
const = 0;
575 const Frame* _inCoordinatesOf)
const;
582 const Eigen::Vector3d& _localOffset)
const = 0;
589 const Eigen::Vector3d& _localOffset,
590 const Frame* _inCoordinatesOf)
const = 0;
598 const Eigen::Vector3d& _localOffset,
600 const Frame* _inCoordinatesOf)
const;
611 const Eigen::Vector3d& _localOffset)
const = 0;
624 const Eigen::Vector3d& _localOffset,
641 const Eigen::Vector3d& _localOffset,
674 const Frame* _inCoordinatesOf)
const = 0;
681 const Eigen::Vector3d& _localOffset)
const = 0;
688 const Eigen::Vector3d& _localOffset,
689 const Frame* _inCoordinatesOf)
const = 0;
697 const Frame* _inCoordinatesOf)
const;
705 const Eigen::Vector3d& _localOffset,
707 const Frame* _inCoordinatesOf)
const;
719 const Frame* _inCoordinatesOf)
const = 0;
726 const Eigen::Vector3d& _localOffset,
740 const Eigen::Vector3d& _localOffset,
826 const
Frame* _withRespectTo =
Frame::World()) const = 0;
832 const
Frame* _inCoordinatesOf =
Frame::World()) const = 0;
838 const
Frame* _inCoordinatesOf =
Frame::World()) const = 0;
844 const
Frame* _inCoordinatesOf =
Frame::World()) const = 0;
850 const
Frame* _inCoordinatesOf =
Frame::World()) const = 0;
855 const
Frame* _inCoordinatesOf =
Frame::World()) const = 0;
860 const
Frame* _inCoordinatesOf =
Frame::World()) const = 0;
869 const
Frame* _inCoordinatesOf =
Frame::World()) const = 0;
878 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: Random-impl.hpp:92
Matrix< double, 6, 1 > Vector6d
Definition: MathTypes.hpp:49
std::shared_ptr< MetaSkeleton > MetaSkeletonPtr
Definition: SmartPointer.hpp:68
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