diff --git a/source/RobotAPI/libraries/armem_objects/aron_conversions.cpp b/source/RobotAPI/libraries/armem_objects/aron_conversions.cpp index 967060360c3bff360150f1c8988b5d40db4dbd5c..6554397b8f3c706bd4ba4842921baeced30a9a97 100644 --- a/source/RobotAPI/libraries/armem_objects/aron_conversions.cpp +++ b/source/RobotAPI/libraries/armem_objects/aron_conversions.cpp @@ -2,9 +2,8 @@ #include <RobotAPI/libraries/ArmarXObjects/aron_conversions.h> -#include <RobotAPI/libraries/aron/common/aron_conversions/core.h> -#include <RobotAPI/libraries/aron/common/aron_conversions/stl.h> -#include <RobotAPI/libraries/aron/common/aron_conversions/armarx.h> +#include <RobotAPI/libraries/aron/common/aron_conversions.h> +#include <RobotAPI/libraries/armem/core/aron_conversions.h> namespace armarx::armem { @@ -30,6 +29,54 @@ namespace armarx::armem objpose::toAron(dto.pose, bo); } + + /* Attachments */ + void fromAron(const arondto::attachment::AgentDescription& dto, attachment::AgentDescription& bo) + { + fromAron(dto.id, bo.id); + aron::fromAron(dto.frame, bo.frame); + } + + void toAron(arondto::attachment::AgentDescription& dto, const attachment::AgentDescription& bo) + { + toAron(dto.id, bo.id); + aron::toAron(dto.frame, bo.frame); + } + + + void fromAron(const arondto::attachment::ObjectAttachment& dto, attachment::ObjectAttachment& bo) + { + fromAron(dto.agent, bo.agent); + aron::fromAron(dto.transformation, bo.transformation); + fromAron(dto.object, bo.object); + + } + + void toAron(arondto::attachment::ObjectAttachment& dto, const attachment::ObjectAttachment& bo) + { + toAron(dto.agent, bo.agent); + aron::toAron(dto.transformation, bo.transformation); + toAron(dto.object, bo.object); + } + + + void fromAron(const arondto::attachment::ArticulatedObjectAttachment& dto, attachment::ArticulatedObjectAttachment& bo) + { + fromAron(dto.agent, bo.agent); + aron::fromAron(dto.transformation, bo.transformation); + fromAron(dto.object, bo.object); + } + + void toAron(arondto::attachment::ArticulatedObjectAttachment& dto, const attachment::ArticulatedObjectAttachment& bo) + { + toAron(dto.agent, bo.agent); + aron::toAron(dto.transformation, bo.transformation); + toAron(dto.object, bo.object); + } + + + + } // namespace armarx::armem armarx::armem::MemoryID diff --git a/source/RobotAPI/libraries/armem_objects/aron_conversions.h b/source/RobotAPI/libraries/armem_objects/aron_conversions.h index 1d74e95317521e27467753e46320914192558908..61e89c37ec00aaabed94e1b20a2ba1b50be976a8 100644 --- a/source/RobotAPI/libraries/armem_objects/aron_conversions.h +++ b/source/RobotAPI/libraries/armem_objects/aron_conversions.h @@ -3,6 +3,8 @@ #include <RobotAPI/libraries/ArmarXObjects/ObjectPose.h> #include <RobotAPI/libraries/armem_objects/aron/ObjectInstance.aron.generated.h> +#include <RobotAPI/libraries/armem_objects/aron/Attachment.aron.generated.h> + #include <RobotAPI/libraries/armem_objects/types.h> namespace armarx::armem @@ -13,6 +15,17 @@ namespace armarx::armem void fromAron(const arondto::ObjectInstance& dto, objpose::ObjectPose& bo); void toAron(arondto::ObjectInstance& dto, const objpose::ObjectPose& bo); + + /* Attachments */ + void fromAron(const arondto::attachment::AgentDescription& dto, attachment::AgentDescription& bo); + void toAron(arondto::attachment::AgentDescription& dto, const attachment::AgentDescription& bo); + + void fromAron(const arondto::attachment::ObjectAttachment& dto, attachment::ObjectAttachment& bo); + void toAron(arondto::attachment::ObjectAttachment& dto, const attachment::ObjectAttachment& bo); + + void fromAron(const arondto::attachment::ArticulatedObjectAttachment& dto, attachment::ArticulatedObjectAttachment& bo); + void toAron(arondto::attachment::ArticulatedObjectAttachment& dto, const attachment::ArticulatedObjectAttachment& bo); + } // namespace armarx::armem