diff --git a/source/RobotAPI/libraries/aron/common/CMakeLists.txt b/source/RobotAPI/libraries/aron/common/CMakeLists.txt index 98cfb29ec529238b6e76c50c51e6563cb4fb4dcb..498c79c47b9428cfc667c9f567a03b8f52a03955 100644 --- a/source/RobotAPI/libraries/aron/common/CMakeLists.txt +++ b/source/RobotAPI/libraries/aron/common/CMakeLists.txt @@ -13,6 +13,7 @@ armarx_add_library( HEADERS aron_conversions.h + forward_declarations.h aron_conversions/core.h aron_conversions/armarx.h aron_conversions/simox.h @@ -36,6 +37,7 @@ armarx_enable_aron_file_generation_for_target( ARON_FILES aron/trajectory.xml aron/color.xml + aron/Color.xml aron/PackagePath.xml aron/AxisAlignedBoundingBox.xml aron/OrientedBox.xml diff --git a/source/RobotAPI/libraries/aron/common/aron/Color.xml b/source/RobotAPI/libraries/aron/common/aron/Color.xml new file mode 100644 index 0000000000000000000000000000000000000000..180a9b372464de917400387032bdff9d4c086f79 --- /dev/null +++ b/source/RobotAPI/libraries/aron/common/aron/Color.xml @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<AronTypeDefinition> + + <GenerateTypes> + + <Object name='simox::arondto::Color'> + <ObjectChild key='r'> + <int /> + </ObjectChild> + + <ObjectChild key='g'> + <int /> + </ObjectChild> + + <ObjectChild key='b'> + <int /> + </ObjectChild> + + <ObjectChild key='a'> + <int /> + </ObjectChild> + </Object> + + </GenerateTypes> + +</AronTypeDefinition> diff --git a/source/RobotAPI/libraries/aron/common/aron_conversions/simox.cpp b/source/RobotAPI/libraries/aron/common/aron_conversions/simox.cpp index c87d13cdbd7e30aa5b7984cda69cb80261c378a7..f8629190d5f2dac1dd8189f4eb2be2425479464e 100644 --- a/source/RobotAPI/libraries/aron/common/aron_conversions/simox.cpp +++ b/source/RobotAPI/libraries/aron/common/aron_conversions/simox.cpp @@ -1,5 +1,8 @@ #include "simox.h" +#include <RobotAPI/libraries/aron/common/aron/AxisAlignedBoundingBox.aron.generated.h> +#include <RobotAPI/libraries/aron/common/aron/Color.aron.generated.h> +#include <RobotAPI/libraries/aron/common/aron/OrientedBox.aron.generated.h> void simox::fromAron(const arondto::AxisAlignedBoundingBox& dto, AxisAlignedBoundingBox& bo) @@ -15,7 +18,6 @@ void simox::toAron(arondto::AxisAlignedBoundingBox& dto, const AxisAlignedBoundi } - void simox::fromAron(const arondto::OrientedBox& dto, OrientedBoxf& bo) { bo = OrientedBoxf(dto.center, dto.orientation, dto.extents); @@ -28,3 +30,19 @@ void simox::toAron(arondto::OrientedBox& dto, const OrientedBoxf& bo) dto.extents = bo.dimensions(); } + +void simox::fromAron(const arondto::Color& dto, Color& bo) +{ + bo.r = dto.r; + bo.g = dto.g; + bo.b = dto.b; + bo.a = dto.a; +} + +void simox::toAron(arondto::Color& dto, const Color& bo) +{ + dto.r = bo.r; + dto.g = bo.g; + dto.b = bo.b; + dto.a = bo.a; +} diff --git a/source/RobotAPI/libraries/aron/common/aron_conversions/simox.h b/source/RobotAPI/libraries/aron/common/aron_conversions/simox.h index 64e847afbb06c5b58d92db3817c7adccf7e3b563..5440ac1c6e39134c0034ccb67a06c4fff94445fa 100644 --- a/source/RobotAPI/libraries/aron/common/aron_conversions/simox.h +++ b/source/RobotAPI/libraries/aron/common/aron_conversions/simox.h @@ -1,10 +1,10 @@ #pragma once +#include <SimoxUtility/color/Color.h> #include <SimoxUtility/shapes/AxisAlignedBoundingBox.h> -#include <RobotAPI/libraries/aron/common/aron/AxisAlignedBoundingBox.aron.generated.h> - #include <SimoxUtility/shapes/OrientedBox.h> -#include <RobotAPI/libraries/aron/common/aron/OrientedBox.aron.generated.h> + +#include <RobotAPI/libraries/aron/common/forward_declarations.h> namespace simox @@ -14,5 +14,8 @@ namespace simox void fromAron(const arondto::OrientedBox& dto, OrientedBoxf& bo); void toAron(arondto::OrientedBox& dto, const OrientedBoxf& bo); + + void fromAron(const arondto::Color& dto, Color& bo); + void toAron(arondto::Color& dto, const Color& bo); } diff --git a/source/RobotAPI/libraries/aron/common/forward_declarations.h b/source/RobotAPI/libraries/aron/common/forward_declarations.h new file mode 100644 index 0000000000000000000000000000000000000000..ba4679a857fc35d1983877271d4db41c930a202e --- /dev/null +++ b/source/RobotAPI/libraries/aron/common/forward_declarations.h @@ -0,0 +1,9 @@ +#pragma once + + +namespace simox::arondto +{ + class AxisAlignedBoundingBox; + class Color; + class OrientedBox; +}