diff --git a/source/armarx/navigation/graph/CMakeLists.txt b/source/armarx/navigation/graph/CMakeLists.txt new file mode 100644 index 0000000000000000000000000000000000000000..ae1cf290b24c04e9ece5f30f421b2d718edc88c4 --- /dev/null +++ b/source/armarx/navigation/graph/CMakeLists.txt @@ -0,0 +1,30 @@ +set(LIB_NAME ${PROJECT_NAME}Graph) + +armarx_component_set_name("${LIB_NAME}") +armarx_set_target("Library: ${LIB_NAME}") + + +armarx_add_library( + LIBS + ArmarXCoreInterfaces + ArmarXCore + # ${PROJECT_NAME}Core + SOURCES + constants.cpp + HEADERS + constants.h +) + + +add_library( + ${PROJECT_NAME}::Graph + ALIAS + "${LIB_NAME}" +) + +armarx_enable_aron_file_generation_for_target( + TARGET_NAME + "${LIB_NAME}" + ARON_FILES + aron/Graph.xml +) diff --git a/source/armarx/navigation/graph/aron/Graph.xml b/source/armarx/navigation/graph/aron/Graph.xml new file mode 100644 index 0000000000000000000000000000000000000000..38d9fe74668c3d9709a292062c5a1716720aea53 --- /dev/null +++ b/source/armarx/navigation/graph/aron/Graph.xml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<AronTypeDefinition> + <CodeIncludes> + <!--Include include="armarx/navigation/locations/aron/Location.aron.generated.h" /--> + </CodeIncludes> + <AronIncludes> + <!-- <Include include="<armarx/navigation/locations/aron/Location.xml>" /> --> + </AronIncludes> + + <GenerateTypes> + + <Object name='armarx::nav::graphs::arondto::Graph'> + + <!--ObjectChild key='location'> + <armarx::nav::locs::arondto::Location /> + </ObjectChild--> + + </Object> + + </GenerateTypes> +</AronTypeDefinition> diff --git a/source/armarx/navigation/graph/constants.cpp b/source/armarx/navigation/graph/constants.cpp new file mode 100644 index 0000000000000000000000000000000000000000..e1b0ee56699816d740a8d7cbe5bc1e376036ec78 --- /dev/null +++ b/source/armarx/navigation/graph/constants.cpp @@ -0,0 +1,11 @@ +#include "aron_conversions.h" + + +namespace armarx::nav +{ + + void core::test() + { + + } +} diff --git a/source/armarx/navigation/graph/constants.h b/source/armarx/navigation/graph/constants.h new file mode 100644 index 0000000000000000000000000000000000000000..0897a62a14b5f1cb64bb7638afae375ae934020e --- /dev/null +++ b/source/armarx/navigation/graph/constants.h @@ -0,0 +1,30 @@ +/** + * 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 Rainer Kartmann ( rainer dot kartmann at kit dot edu ) + * @date 2021 + * @copyright http://www.gnu.org/licenses/gpl-2.0.txt + * GNU General Public License + */ + +#pragma once + + +namespace armarx::nav::core +{ + + void test(); + +} diff --git a/source/armarx/navigation/location/CMakeLists.txt b/source/armarx/navigation/location/CMakeLists.txt new file mode 100644 index 0000000000000000000000000000000000000000..a23eb4a292460078701c04efbadd37d7983c959f --- /dev/null +++ b/source/armarx/navigation/location/CMakeLists.txt @@ -0,0 +1,29 @@ +set(LIB_NAME ${PROJECT_NAME}Location) + +armarx_component_set_name("${LIB_NAME}") +armarx_set_target("Library: ${LIB_NAME}") + + +armarx_add_library( + LIBS + ArmarXCoreInterfaces + ArmarXCore + # ${ProjectName}Libraries + SOURCES + constants.cpp + HEADERS + constants.h +) + +add_library( + ${PROJECT_NAME}::Location + ALIAS + ${LIB_NAME} +) + +armarx_enable_aron_file_generation_for_target( + TARGET_NAME + "${LIB_NAME}" + ARON_FILES + aron/Location.xml +) diff --git a/source/armarx/navigation/location/aron/Location.xml b/source/armarx/navigation/location/aron/Location.xml new file mode 100644 index 0000000000000000000000000000000000000000..eb3cc69694a5afa77c9905d45c27d5f6d3e5aef0 --- /dev/null +++ b/source/armarx/navigation/location/aron/Location.xml @@ -0,0 +1,44 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<AronTypeDefinition> + <CodeIncludes> + </CodeIncludes> + <AronIncludes> + <Include include="<RobotAPI/libraries/armem/aron/MemoryID.xml>" autoinclude="true"/> + </AronIncludes> + + <GenerateTypes> + + <!-- + ToDo: Model regions. Ideas: + - Polygon (convex, non-convex) + - + --> + + + <Object name='armarx::nav::locs::arondto::ObjectRelativeLocation'> + + <ObjectChild key='objectInstanceID'> + <armarx::armem::arondto::MemoryID /> + </ObjectChild> + + <ObjectChild key='relativeRobotPose'> + <Pose /> + </ObjectChild> + + </Object> + + + <Object name='armarx::nav::locs::arondto::Location'> + + <ObjectChild key='globalRobotPose'> + <Pose /> + </ObjectChild> + + <ObjectChild key='relativeToObject'> + <armarx::nav::locs::arondto::ObjectRelativeLocation optional="true" /> + </ObjectChild> + + </Object> + + </GenerateTypes> +</AronTypeDefinition> diff --git a/source/armarx/navigation/location/constants.cpp b/source/armarx/navigation/location/constants.cpp new file mode 100644 index 0000000000000000000000000000000000000000..d35921fdfa4dab9065db84466266e72caf3b0d93 --- /dev/null +++ b/source/armarx/navigation/location/constants.cpp @@ -0,0 +1,11 @@ +#include "aron_conversions.h" + + +namespace armarx::nav +{ + + void coree::test() + { + + } +} diff --git a/source/armarx/navigation/location/constants.h b/source/armarx/navigation/location/constants.h new file mode 100644 index 0000000000000000000000000000000000000000..44692727b775dd29659fecaf1de744692f10cf1c --- /dev/null +++ b/source/armarx/navigation/location/constants.h @@ -0,0 +1,30 @@ +/** + * 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 Rainer Kartmann ( rainer dot kartmann at kit dot edu ) + * @date 2021 + * @copyright http://www.gnu.org/licenses/gpl-2.0.txt + * GNU General Public License + */ + +#pragma once + + +namespace armarx::nav::coree +{ + +void test(); + +}