Skip to content
Snippets Groups Projects
Commit 5a2afce3 authored by Rainer Kartmann's avatar Rainer Kartmann
Browse files

Add conversion for ObjectClass/Instance/Pose and RobotDescription/State

parent cc791aac
No related branches found
No related tags found
No related merge requests found
#include "aron_conversions.h" #include "aron_conversions.h"
#include <RobotAPI/libraries/aron/common/aron_conversions.h>
#include <RobotAPI/libraries/ArmarXObjects/ObjectID.h>
#include <RobotAPI/libraries/ArmarXObjects/aron_conversions.h>
#include <RobotAPI/libraries/aron/common/aron_conversions/core.h> #include <RobotAPI/libraries/aron/common/aron_conversions/core.h>
#include <RobotAPI/libraries/aron/common/aron_conversions/stl.h> #include <RobotAPI/libraries/aron/common/aron_conversions/stl.h>
#include <RobotAPI/libraries/aron/common/aron_conversions/armarx.h> #include <RobotAPI/libraries/aron/common/aron_conversions/armarx.h>
namespace armarx::armem::robot namespace armarx::armem::robot
{ {
...@@ -59,3 +65,47 @@ namespace armarx::armem::robot ...@@ -59,3 +65,47 @@ namespace armarx::armem::robot
} }
} // namespace armarx::armem::robot } // namespace armarx::armem::robot
namespace armarx::armem
{
void robot::fromAron(const arondto::ObjectClass& dto, RobotDescription& bo)
{
bo.name = aron::fromAron<armarx::ObjectID>(dto.id).str();
fromAron(dto.articulatedSimoxXmlPath, bo.xml);
}
void robot::toAron(arondto::ObjectClass& dto, const RobotDescription& bo)
{
toAron(dto.id, ObjectID(bo.name));
toAron(dto.articulatedSimoxXmlPath, bo.xml);
}
void robot::fromAron(const arondto::ObjectInstance& dto, RobotState& bo)
{
fromAron(dto.pose, bo);
}
void robot::toAron(arondto::ObjectInstance& dto, const RobotState& bo)
{
toAron(dto.pose, bo);
}
void robot::fromAron(const objpose::arondto::ObjectPose& dto, RobotState& bo)
{
bo.timestamp = dto.timestamp;
bo.globalPose = dto.objectPoseGlobal;
bo.jointMap = dto.objectJointValues;
}
void robot::toAron(objpose::arondto::ObjectPose& dto, const RobotState& bo)
{
dto.timestamp = bo.timestamp;
dto.objectPoseGlobal = bo.globalPose.matrix();
dto.objectJointValues = bo.jointMap;
}
} // namespace armarx::armem
#pragma once #pragma once
#include <RobotAPI/libraries/armem_robot/types.h> #include <RobotAPI/libraries/armem_objects/aron/ObjectClass.aron.generated.h>
#include <RobotAPI/libraries/armem_objects/aron/ObjectInstance.aron.generated.h>
#include <RobotAPI/libraries/ArmarXObjects/aron/ObjectPose.aron.generated.h>
#include <RobotAPI/libraries/armem_robot/types.h>
#include <RobotAPI/libraries/armem_robot/aron/RobotDescription.aron.generated.h> #include <RobotAPI/libraries/armem_robot/aron/RobotDescription.aron.generated.h>
#include <RobotAPI/libraries/armem_robot/aron/RobotState.aron.generated.h> #include <RobotAPI/libraries/armem_robot/aron/RobotState.aron.generated.h>
#include <RobotAPI/libraries/armem_robot/aron/Robot.aron.generated.h> #include <RobotAPI/libraries/armem_robot/aron/Robot.aron.generated.h>
namespace armarx::armem::robot namespace armarx::armem::robot
{ {
// TODO move the following // TODO move the following
...@@ -22,4 +26,14 @@ namespace armarx::armem::robot ...@@ -22,4 +26,14 @@ namespace armarx::armem::robot
void fromAron(const arondto::RobotState& dto, RobotState& bo); void fromAron(const arondto::RobotState& dto, RobotState& bo);
void toAron(arondto::RobotState& dto, const RobotState& bo); void toAron(arondto::RobotState& dto, const RobotState& bo);
void fromAron(const arondto::ObjectClass& dto, RobotDescription& bo);
void toAron(arondto::ObjectClass& dto, const RobotDescription& bo);
void fromAron(const arondto::ObjectInstance& dto, RobotState& bo);
void toAron(arondto::ObjectInstance& dto, const RobotState& bo);
void fromAron(const objpose::arondto::ObjectPose& dto, RobotState& bo);
void toAron(objpose::arondto::ObjectPose& dto, const RobotState& bo);
} // namespace armarx::armem::robot } // namespace armarx::armem::robot
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