diff --git a/source/RobotAPI/components/armem/client/TransformClient/TransformReaderClient.cpp b/source/RobotAPI/components/armem/client/TransformClient/TransformReaderClient.cpp index cd0b4c31fa54f2e49512484e47df607093a19377..de3fb2527b221ca71688f128af152b45b4e2be5a 100644 --- a/source/RobotAPI/components/armem/client/TransformClient/TransformReaderClient.cpp +++ b/source/RobotAPI/components/armem/client/TransformClient/TransformReaderClient.cpp @@ -40,6 +40,7 @@ // ArmarX #include <ArmarXCore/core/exceptions/local/ExpressionException.h> #include "ArmarXCore/core/logging/Logging.h" +#include "RobotAPI/components/armem/client/TransformClient/aron_conversions.h" #include <ArmarXCore/core/time/CycleUtil.h> // this package @@ -51,6 +52,8 @@ #include <RobotAPI/libraries/armem/core/ProviderSegment.h> #include <RobotAPI/libraries/aron/core/navigator/type/NavigatorFactory.h> #include <RobotAPI/libraries/core/FramedPose.h> +#include <RobotAPI/components/armem/client/TransformClient/aron/Transform.aron.generated.h> + namespace armarx { @@ -215,26 +218,14 @@ namespace armarx } const auto item = entity.getLatestSnapshot().getInstance(0); - const auto dataNavigator = item.data(); - // auto type = dataNavigator->getDescriptor(); - - // armarx::aron::typenavigator::PoseNavigator; - // class PoseNavigator; - - // switch(type) - // { - // switch(aron::data::) - // } - - - // switch (type) - // { - // case aron::type::Descriptor::eIVTCByteImage: - // aron::Pose pose; // snapshot.getInstance().data() + aron::Transform aronTransform; + aronTransform.fromAron(item.data()); - // TODO(fabian.reister): implement - return Eigen::Affine3f::Identity(); + Transform transform; + fromAron(aronTransform, transform); + + return transform.transform; });