diff --git a/source/RobotAPI/components/RobotState/SharedRobotServants.cpp b/source/RobotAPI/components/RobotState/SharedRobotServants.cpp index ba706483d794fe354d875367db1be3a02e49dea2..b34cfebc5c889bcc0f1df72954727a0b0f93f827 100644 --- a/source/RobotAPI/components/RobotState/SharedRobotServants.cpp +++ b/source/RobotAPI/components/RobotState/SharedRobotServants.cpp @@ -428,6 +428,11 @@ namespace armarx _robot->setGlobalPose(PosePtr::dynamicCast(pose)->toEigen(), true); } + float SharedRobotServant::getScaling(const Current&) + { + return _robot->getScaling(); + } + RobotPtr SharedRobotServant::getRobot() const { return this->_robot; diff --git a/source/RobotAPI/components/RobotState/SharedRobotServants.h b/source/RobotAPI/components/RobotState/SharedRobotServants.h index 178ca105a2dcb4e176c56ce2378e16d6c96a0b02..b79d1eb757d2816481818abb2cef831cea4768b3 100644 --- a/source/RobotAPI/components/RobotState/SharedRobotServants.h +++ b/source/RobotAPI/components/RobotState/SharedRobotServants.h @@ -49,7 +49,7 @@ namespace armarx */ class SharedRobotNodeServant : virtual public SharedRobotNodeInterface, - public SharedObjectBase + public SharedObjectBase { public: SharedRobotNodeServant(VirtualRobot::RobotNodePtr node /*,const Ice::Current & current = Ice::Current()*/); @@ -113,6 +113,8 @@ namespace armarx NameValueMap getConfig(const Ice::Current& current = Ice::Current()); virtual void setGlobalPose(const PoseBasePtr& pose, const Ice::Current& current = Ice::Current()); + virtual float getScaling(const Ice::Current& = Ice::Current()); + VirtualRobot::RobotPtr getRobot() const; void setTimestamp(const IceUtil::Time& updateTime); diff --git a/source/RobotAPI/interface/core/RobotState.ice b/source/RobotAPI/interface/core/RobotState.ice index ecf90dbafba3bc373f84939c11d5f31a1f38d519..0106cb5e8cd595c454dc1fbebe2252563710ae52 100644 --- a/source/RobotAPI/interface/core/RobotState.ice +++ b/source/RobotAPI/interface/core/RobotState.ice @@ -120,6 +120,8 @@ module armarx void setGlobalPose(PoseBase globalPose); PoseBase getGlobalPose(); NameValueMap getConfig(); + + float getScaling(); }; diff --git a/source/RobotAPI/libraries/core/remoterobot/RemoteRobot.cpp b/source/RobotAPI/libraries/core/remoterobot/RemoteRobot.cpp index fa4636b56f9b5c0c83e38678e5b274c9b64226a7..56fc9149f6da6dd904a35faf7d608f2748abe4c7 100644 --- a/source/RobotAPI/libraries/core/remoterobot/RemoteRobot.cpp +++ b/source/RobotAPI/libraries/core/remoterobot/RemoteRobot.cpp @@ -157,6 +157,11 @@ namespace armarx return p->toEigen(); // convert to eigen first } + float RemoteRobot::getScaling() + { + return _robot->getScaling(); + } + SharedRobotInterfacePrx RemoteRobot::getSharedRobot() const { return this->_robot; @@ -360,7 +365,7 @@ namespace armarx else { StringList includePaths; - for (const std::string & projectName : packages) + for (const std::string& projectName : packages) { if (projectName.empty()) { diff --git a/source/RobotAPI/libraries/core/remoterobot/RemoteRobot.h b/source/RobotAPI/libraries/core/remoterobot/RemoteRobot.h index 6d9b69c8a491b4d18acadc744935e26c4c1e8816..984e1ec1a5e91856bdc0ea03e89f1ea8ff9519a6 100644 --- a/source/RobotAPI/libraries/core/remoterobot/RemoteRobot.h +++ b/source/RobotAPI/libraries/core/remoterobot/RemoteRobot.h @@ -171,6 +171,8 @@ namespace armarx */ Eigen::Matrix4f getGlobalPose() const; + float getScaling(); + /// Use this method to share the robot instance over Ice.