diff --git a/include/aikido/robot/ConcreteManipulator.hpp b/include/aikido/robot/ConcreteManipulator.hpp index c8c135b43b..0eeab6f14b 100644 --- a/include/aikido/robot/ConcreteManipulator.hpp +++ b/include/aikido/robot/ConcreteManipulator.hpp @@ -16,6 +16,11 @@ AIKIDO_DECLARE_POINTERS(ConcreteManipulator) class ConcreteManipulator : public Manipulator { public: + // Expose base class functions + using Robot::getMetaSkeleton; + using Robot::getStateSpace; + using Manipulator::getHand; + /// Constructor. /// \param[in] robot Robot corresponding to this manipulator. /// \param[in] hand Hand of this manipulator. diff --git a/include/aikido/robot/ConcreteRobot.hpp b/include/aikido/robot/ConcreteRobot.hpp index 98033c05db..85161444f3 100644 --- a/include/aikido/robot/ConcreteRobot.hpp +++ b/include/aikido/robot/ConcreteRobot.hpp @@ -26,6 +26,10 @@ AIKIDO_DECLARE_POINTERS(ConcreteRobot) class ConcreteRobot : public Robot { public: + // Expose base class functions + using Robot::getMetaSkeleton; + using Robot::getStateSpace; + /// Constructor. /// \param[in] name Name of the robot. /// \param[in] metaSkeleton Metaskeleton of the robot. diff --git a/include/aikido/robot/Hand.hpp b/include/aikido/robot/Hand.hpp index dd7c0510b3..5fc28d292c 100644 --- a/include/aikido/robot/Hand.hpp +++ b/include/aikido/robot/Hand.hpp @@ -37,7 +37,10 @@ class Hand virtual void step(const std::chrono::system_clock::time_point& timepoint) = 0; /// Returns the metaskeleton corresponding to this hand. - virtual dart::dynamics::MetaSkeletonPtr getMetaSkeleton() const = 0; + virtual dart::dynamics::ConstMetaSkeletonPtr getMetaSkeleton() const = 0; + + /// Returns the metaskeleton corresponding to this hand. + virtual dart::dynamics::MetaSkeletonPtr getMetaSkeleton() = 0; /// Get the end-effector body node. /// \return DART body node of end-effector diff --git a/include/aikido/robot/Manipulator.hpp b/include/aikido/robot/Manipulator.hpp index c3983c1581..9e9b656827 100644 --- a/include/aikido/robot/Manipulator.hpp +++ b/include/aikido/robot/Manipulator.hpp @@ -16,8 +16,10 @@ class Manipulator : public Robot public: virtual ~Manipulator() = default; - /// Returns the hand. + /// Returns the [const] hand. virtual ConstHandPtr getHand() const = 0; + + /// Returns the hand. HandPtr getHand(); }; diff --git a/include/aikido/robot/Robot.hpp b/include/aikido/robot/Robot.hpp index 868fb6e9d0..e842a37478 100644 --- a/include/aikido/robot/Robot.hpp +++ b/include/aikido/robot/Robot.hpp @@ -66,13 +66,17 @@ class Robot /// \return Name of this Robot virtual std::string getName() const = 0; - /// \return MetaSkeleton of this robot. + /// \return [const] MetaSkeleton of this robot. virtual dart::dynamics::ConstMetaSkeletonPtr getMetaSkeleton() const = 0; + + /// \return MetaSkeleton of this robot. dart::dynamics::MetaSkeletonPtr getMetaSkeleton(); - /// \return MetaSkeletonStateSpace of this robot. + /// \return [const] MetaSkeletonStateSpace of this robot. virtual aikido::statespace::dart::ConstMetaSkeletonStateSpacePtr getStateSpace() const = 0; + + /// \return MetaSkeletonStateSpace of this robot. aikido::statespace::dart::MetaSkeletonStateSpacePtr getStateSpace(); /// Sets the root of this robot.