diff --git a/source/RobotAPI/libraries/aron/common/CMakeLists.txt b/source/RobotAPI/libraries/aron/common/CMakeLists.txt index f8109b4a31f9aa10cfb3caae5b557e4a0c96a391..36cbeb1f837f96ea05b131a843654481b5195bb9 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 626147c3fc35e827a7b905c8a8b0e76babf3f25e..d3c7df9f82d251032ed5f1e49180f74f30cf223f 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 a56bd44287eb16161f84e5d1ef0f5496903e2669..b29300e6cf827cfd0908521a3b9fa040b3b32a3d 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 0000000000000000000000000000000000000000..fa1cf6ae4237e505e00d8ac069824a0004a66e16 --- /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 0000000000000000000000000000000000000000..fb7314e83628ab4ddf951766139fedeee731a0e9 --- /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