From 18260a4278c09279e88bec6d14455d2f19f6f759 Mon Sep 17 00:00:00 2001 From: Fabian Reister <fabian.reister@kit.edu> Date: Fri, 9 Jul 2021 10:25:02 +0200 Subject: [PATCH] aron conversions --- .../libraries/global_planning/Point2Point.cpp | 17 +++++++- .../aron/GlobalPlannerParams.xml | 4 +- .../aron/Point2PointParams.xml | 16 ++++---- .../global_planning/aron_conversions.cpp | 30 ++++++++++++++ .../global_planning/aron_conversions.h | 40 +++++++++++++++++++ 5 files changed, 94 insertions(+), 13 deletions(-) diff --git a/source/Navigation/libraries/global_planning/Point2Point.cpp b/source/Navigation/libraries/global_planning/Point2Point.cpp index ffe51c74..fef24e7f 100644 --- a/source/Navigation/libraries/global_planning/Point2Point.cpp +++ b/source/Navigation/libraries/global_planning/Point2Point.cpp @@ -12,6 +12,8 @@ #include "Navigation/libraries/core/types.h" #include "Navigation/libraries/global_planning/GlobalPlanner.h" #include "Navigation/libraries/global_planning/core.h" +#include <Navigation/libraries/global_planning/aron/Point2PointParams.aron.generated.h> +#include <Navigation/libraries/global_planning/aron_conversions.h> namespace armarx::nav::glob_plan { @@ -25,12 +27,23 @@ namespace armarx::nav::glob_plan aron::datanavigator::DictNavigatorPtr Point2PointParams::toAron() const { - return nullptr; // TODO implement + arondto::Point2PointParams dto; + + Point2PointParams bo; + aron_conv::toAron(dto, bo); + + return dto.toAron(); } Point2PointParams Point2PointParams::FromAron(const aron::datanavigator::DictNavigatorPtr& dict) { - return Point2PointParams(); // TODO implement + arondto::Point2PointParams dto; + dto.fromAron(dict); + + Point2PointParams bo; + aron_conv::fromAron(dto, bo); + + return bo; } // Point2Point diff --git a/source/Navigation/libraries/global_planning/aron/GlobalPlannerParams.xml b/source/Navigation/libraries/global_planning/aron/GlobalPlannerParams.xml index 240840b1..0e908374 100644 --- a/source/Navigation/libraries/global_planning/aron/GlobalPlannerParams.xml +++ b/source/Navigation/libraries/global_planning/aron/GlobalPlannerParams.xml @@ -9,7 +9,7 @@ <GenerateTypes> <Object name='armarx::nav::glob_plan::arondto::GlobalPlannerParams'> - <ObjectChild key='resolution'> + <!-- <ObjectChild key='resolution'> <float /> </ObjectChild> <ObjectChild key='frame'> @@ -17,7 +17,7 @@ </ObjectChild> <ObjectChild key='pose'> <Pose /> - </ObjectChild> + </ObjectChild> --> </Object> diff --git a/source/Navigation/libraries/global_planning/aron/Point2PointParams.xml b/source/Navigation/libraries/global_planning/aron/Point2PointParams.xml index 1c2f006f..84e2f0fd 100644 --- a/source/Navigation/libraries/global_planning/aron/Point2PointParams.xml +++ b/source/Navigation/libraries/global_planning/aron/Point2PointParams.xml @@ -2,6 +2,7 @@ <?xml version="1.0" encoding="UTF-8" ?> <AronTypeDefinition> <CodeIncludes> + <Include include="<Navigation/libraries/global_planning/aron/GlobalPlannerParams.aron.generated.h>" /> </CodeIncludes> <AronIncludes> <Include include="<Navigation/libraries/global_planning/aron/GlobalPlannerParams.xml>" /> @@ -9,17 +10,14 @@ <GenerateTypes> - <Object name='armarx::nav::glob_plan::arondto::GlobalPlannerParams' extends="armarx::nav::glob_plan::arondto::GlobalPlannerParams"> - <ObjectChild key='resolution'> - <float /> - </ObjectChild> - <ObjectChild key='frame'> - <string /> + <!-- <Object name='armarx::nav::glob_plan::arondto::Point2PointParams' extends="armarx::nav::glob_plan::arondto::GlobalPlannerParams"> --> + <Object name='armarx::nav::glob_plan::arondto::Point2PointParams'> + <ObjectChild key='includeStartPose'> + <bool /> </ObjectChild> - <ObjectChild key='pose'> - <Pose /> + <ObjectChild key='velocity'> + <float /> </ObjectChild> - </Object> diff --git a/source/Navigation/libraries/global_planning/aron_conversions.cpp b/source/Navigation/libraries/global_planning/aron_conversions.cpp index e69de29b..54836cfa 100644 --- a/source/Navigation/libraries/global_planning/aron_conversions.cpp +++ b/source/Navigation/libraries/global_planning/aron_conversions.cpp @@ -0,0 +1,30 @@ +#include "aron_conversions.h" + +#include <RobotAPI/libraries/aron/common/aron_conversions.h> + +#include <Navigation/libraries/global_planning/aron/GlobalPlannerParams.aron.generated.h> + +namespace armarx::nav::glob_plan::aron_conv +{ + void toAron(arondto::GlobalPlannerParams& dto, const GlobalPlanner& bo) + { + } + + void fromAron(const arondto::GlobalPlannerParams& dto, GlobalPlanner& bo) + { + } + + void toAron(arondto::Point2PointParams& dto, const Point2PointParams& bo) + { + // fromAron(static_cast<const arondto::GlobalPlannerParams&>(dto), static_cast<const GlobalPlannerParams&>(bo)); + aron::toAron(dto.includeStartPose, bo.includeStartPose); + aron::toAron(dto.velocity, bo.velocity); + } + + void fromAron(const arondto::Point2PointParams& dto, Point2PointParams& bo) + { + // fromAron(static_cast<arondto::GlobalPlannerParams&>(dto), static_cast<GlobalPlannerParams&>(bo)); + aron::fromAron(dto.includeStartPose, bo.includeStartPose); + aron::fromAron(dto.velocity, bo.velocity); + } +} // namespace armarx::nav::glob_plan::aron_conv diff --git a/source/Navigation/libraries/global_planning/aron_conversions.h b/source/Navigation/libraries/global_planning/aron_conversions.h index e69de29b..bd803b3c 100644 --- a/source/Navigation/libraries/global_planning/aron_conversions.h +++ b/source/Navigation/libraries/global_planning/aron_conversions.h @@ -0,0 +1,40 @@ +/* + * This file is part of ArmarX. + * + * ArmarX is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * ArmarX is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + * @author Fabian Reister ( fabian dot reister at kit dot edu ) + * @date 2021 + * @copyright http://www.gnu.org/licenses/gpl-2.0.txt + * GNU General Public License + */ + +#pragma once + +#include "Navigation/libraries/global_planning/GlobalPlanner.h" +#include "Navigation/libraries/global_planning/Point2Point.h" +// #include "Navigation/libraries/global_planning/AStar.h" +#include "Navigation/libraries/global_planning/aron/GlobalPlannerParams.aron.generated.h" +#include "Navigation/libraries/global_planning/aron/Point2PointParams.aron.generated.h" +// #include "Navigation/libraries/global_planning/aron/AStarParams.aron.generated.h" + +namespace armarx::nav::glob_plan::aron_conv +{ + + void toAron(arondto::GlobalPlannerParams& dto, const GlobalPlanner& bo); + void fromAron(const arondto::GlobalPlannerParams& dto, GlobalPlanner& bo); + + void toAron(arondto::Point2PointParams& dto, const Point2PointParams& bo); + void fromAron(const arondto::Point2PointParams& dto, Point2PointParams& bo); + +} // namespace armarx::nav::glob_plan -- GitLab