From 7f1232d46228c85b326dcaa574675c251c29b039 Mon Sep 17 00:00:00 2001 From: Rainer Kartmann <rainer.kartmann@kit.edu> Date: Tue, 31 Oct 2023 11:11:14 +0100 Subject: [PATCH] Add json conversions for arondto::FrameID --- .../libraries/aron/common/CMakeLists.txt | 2 ++ .../aron/common/forward_declarations.h | 7 ++++--- .../libraries/aron/common/json_conversions.h | 1 + .../aron/common/json_conversions/framed.cpp | 17 +++++++++++++++++ .../aron/common/json_conversions/framed.h | 12 ++++++++++++ 5 files changed, 36 insertions(+), 3 deletions(-) create mode 100644 source/RobotAPI/libraries/aron/common/json_conversions/framed.cpp create mode 100644 source/RobotAPI/libraries/aron/common/json_conversions/framed.h diff --git a/source/RobotAPI/libraries/aron/common/CMakeLists.txt b/source/RobotAPI/libraries/aron/common/CMakeLists.txt index f8109b4a3..36cbeb1f8 100644 --- a/source/RobotAPI/libraries/aron/common/CMakeLists.txt +++ b/source/RobotAPI/libraries/aron/common/CMakeLists.txt @@ -28,6 +28,7 @@ armarx_add_library( aron_conversions/eigen.h json_conversions/armarx.h + json_conversions/framed.h rw/time.h rw/eigen.h @@ -47,6 +48,7 @@ armarx_add_library( aron_conversions/eigen.cpp json_conversions/armarx.cpp + json_conversions/framed.cpp rw/time.cpp rw/eigen.cpp diff --git a/source/RobotAPI/libraries/aron/common/forward_declarations.h b/source/RobotAPI/libraries/aron/common/forward_declarations.h index 626147c3f..d3c7df9f8 100644 --- a/source/RobotAPI/libraries/aron/common/forward_declarations.h +++ b/source/RobotAPI/libraries/aron/common/forward_declarations.h @@ -1,13 +1,14 @@ #pragma once - namespace simox::arondto { class AxisAlignedBoundingBox; class Color; class OrientedBox; -} +} // namespace simox::arondto + namespace armarx::arondto { class Names; -} + class FrameID; +} // namespace armarx::arondto diff --git a/source/RobotAPI/libraries/aron/common/json_conversions.h b/source/RobotAPI/libraries/aron/common/json_conversions.h index a56bd4428..b29300e6c 100644 --- a/source/RobotAPI/libraries/aron/common/json_conversions.h +++ b/source/RobotAPI/libraries/aron/common/json_conversions.h @@ -1,3 +1,4 @@ #pragma once #include "json_conversions/armarx.h" +#include "json_conversions/framed.h" diff --git a/source/RobotAPI/libraries/aron/common/json_conversions/framed.cpp b/source/RobotAPI/libraries/aron/common/json_conversions/framed.cpp new file mode 100644 index 000000000..fa1cf6ae4 --- /dev/null +++ b/source/RobotAPI/libraries/aron/common/json_conversions/framed.cpp @@ -0,0 +1,17 @@ +#include "framed.h" + +#include <RobotAPI/libraries/aron/common/aron/framed.aron.generated.h> + +void +armarx::arondto::to_json(nlohmann::json& j, const FrameID& bo) +{ + j["agent"] = bo.agent; + j["frame"] = bo.frame; +} + +void +armarx::arondto::from_json(const nlohmann::json& j, FrameID& bo) +{ + j.at("agent").get_to(bo.agent); + j.at("frame").get_to(bo.frame); +} diff --git a/source/RobotAPI/libraries/aron/common/json_conversions/framed.h b/source/RobotAPI/libraries/aron/common/json_conversions/framed.h new file mode 100644 index 000000000..fb7314e83 --- /dev/null +++ b/source/RobotAPI/libraries/aron/common/json_conversions/framed.h @@ -0,0 +1,12 @@ +#pragma once + +#include <SimoxUtility/json/json.h> + +#include <RobotAPI/libraries/aron/common/forward_declarations.h> + +namespace armarx::arondto +{ + void to_json(nlohmann::json& j, const FrameID& bo); + void from_json(const nlohmann::json& j, FrameID& bo); + +} // namespace armarx::arondto -- GitLab