Skip to content
Snippets Groups Projects
Commit a50875e7 authored by Raphael Grimm's avatar Raphael Grimm
Browse files

Extend RobotNameHelper

parent 0598be0b
No related branches found
No related tags found
No related merge requests found
......@@ -25,6 +25,8 @@
#include <ArmarXCore/core/util/StringHelpers.h>
#include <ArmarXCore/core/exceptions/local/ExpressionException.h>
#include <ArmarXCore/core/system/ArmarXDataPath.h>
#include <ArmarXCore/core/system/cmake/CMakePackageFinder.h>
#include <ArmarXCore/statechart/xmlstates/profiles/StatechartProfiles.h>
#include <ArmarXCore/util/CPPUtility/trace.h>
......@@ -32,7 +34,6 @@
namespace armarx
{
void RobotNameHelper::writeRobotInfoNode(
const RobotInfoNodePtr& n,
std::ostream& str,
......@@ -225,6 +226,14 @@ namespace armarx
return select("HandModelPath");
}
std::string RobotNameHelper::Arm::getAbsoluteHandModelPath() const
{
ArmarXDataPath::FindPackageAndAddDataPath(getHandModelPackage());
auto path = getHandModelPath();
return ArmarXDataPath::getAbsolutePath(path, path) ?
path : "";
}
std::string RobotNameHelper::Arm::getHandModelPackage() const
{
ARMARX_TRACE;
......@@ -289,7 +298,12 @@ namespace armarx
return tcp->getPoseInRootFrame().inverse() * hand->getPoseInRootFrame();
}
RobotNameHelper::Arm RobotNameHelper::RobotArm::getArm() const
const VirtualRobot::RobotPtr& RobotNameHelper::RobotArm::getRobot() const
{
return robot;
}
const RobotNameHelper::Arm& RobotNameHelper::RobotArm::getArm() const
{
return arm;
}
......
......@@ -74,6 +74,7 @@ namespace armarx
std::string getHandControllerName() const;
std::string getHandRootNode() const;
std::string getHandModelPath() const;
std::string getAbsoluteHandModelPath() const;
std::string getHandModelPackage() const;
RobotArm addRobot(const VirtualRobot::RobotPtr& robot) const;
......@@ -104,7 +105,8 @@ namespace armarx
VirtualRobot::RobotNodePtr getTCP() const;
VirtualRobot::RobotNodePtr getHandRootNode() const;
Eigen::Matrix4f getTcp2HandRootTransform() const;
Arm getArm() const;
const Arm& getArm() const;
const VirtualRobot::RobotPtr& getRobot() const;
RobotArm(const Arm& arm, const VirtualRobot::RobotPtr& robot);
RobotArm() = default;
......@@ -114,7 +116,7 @@ namespace armarx
RobotArm& operator=(const RobotArm&) = default;
private:
const Arm arm;
Arm arm;
VirtualRobot::RobotPtr robot;
};
......@@ -123,6 +125,10 @@ namespace armarx
static RobotNameHelperPtr Create(const RobotInfoNodePtr& robotInfo, const StatechartProfilePtr& profile);
RobotNameHelper(const RobotInfoNodePtr& robotInfo, const StatechartProfilePtr& profile = nullptr);
RobotNameHelper(RobotNameHelper&&) = default;
RobotNameHelper(const RobotNameHelper&) = default;
RobotNameHelper& operator=(RobotNameHelper&&) = default;
RobotNameHelper& operator=(const RobotNameHelper&) = default;
Arm getArm(const std::string& side) const;
RobotArm getRobotArm(const std::string& side, const VirtualRobot::RobotPtr& robot) const;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment