diff --git a/include/hpp/manipulation/device.hh b/include/hpp/manipulation/device.hh index 62c3d68f89b790cc6d0e122afa0266b521814c05..31bb3a8239dee1fb40e350ddbd3c8a34d4c0277b 100644 --- a/include/hpp/manipulation/device.hh +++ b/include/hpp/manipulation/device.hh @@ -51,12 +51,7 @@ class HPP_MANIPULATION_DLLAPI Device : public pinocchio::HumanoidRobot { /// Constructor /// \param name of the new instance, - static DevicePtr_t create(const std::string& name) { - Device* ptr = new Device(name); - DevicePtr_t shPtr(ptr); - ptr->init(shPtr); - return shPtr; - } + static DevicePtr_t create(const std::string& name); DevicePtr_t self() const { return self_.lock(); } @@ -84,7 +79,7 @@ class HPP_MANIPULATION_DLLAPI Device : public pinocchio::HumanoidRobot { /// \param name of the new instance, /// \param robot Robots that manipulate objects, /// \param objects Set of objects manipulated by the robot. - Device(const std::string& name) : Parent_t(name) {} + Device(const std::string& name); void init(const DeviceWkPtr_t& self) { Parent_t::init(self); diff --git a/src/device.cc b/src/device.cc index 36d286453fcd164e6d58dcb002dd88055bac241a..6ffddde62dbbbcf45f71a640ef5f7deca70e8ace 100644 --- a/src/device.cc +++ b/src/device.cc @@ -43,6 +43,17 @@ namespace hpp { namespace manipulation { using ::pinocchio::Frame; +DevicePtr_t Device::create(const std::string& name) { + Device* ptr = new Device(name); + DevicePtr_t shPtr(ptr); + ptr->init(shPtr); + return shPtr; +} + +Device::Device(const std::string& name) : Parent_t(name) +{ +} + pinocchio::DevicePtr_t Device::clone() const { Device* ptr = new Device(*this); DevicePtr_t shPtr(ptr);