aron_conversions.cpp
Go to the documentation of this file.
1 #include "aron_conversions.h"
2 
4 
7 
9 
11 {
12 
13 }
14 
16 {
17 
18  void
19  fromAron(const armarx::human::arondto::HumanPose& dto, HumanPose& bo)
20  {
22 
23  fromAron(dto.poseModelId, bo.poseModelId);
24  bo.humanTrackingId = dto.humanTrackingId;
25  bo.cameraFrameName = dto.cameraFrameName;
26  fromAron(dto.keypoints, bo.keypoints);
27  }
28 
29  void
30  toAron(armarx::human::arondto::HumanPose& dto, const HumanPose& bo)
31  {
33 
34  toAron(dto.poseModelId, bo.poseModelId);
35  dto.humanTrackingId = bo.humanTrackingId;
36  dto.cameraFrameName = bo.cameraFrameName;
37  toAron(dto.keypoints, bo.keypoints);
38  }
39 
40  void
41  fromAron(const std::map<std::string, armarx::human::arondto::PoseKeypoint>& dto,
42  std::map<std::string, armarx::armem::human::PoseKeypoint>& bo)
43  {
44  bo.clear();
45  for (const auto& [keypoint_name, keypoint] : dto)
46  {
48  keypoint_bo.label = keypoint_name;
49  fromAron(keypoint, keypoint_bo);
50  bo[keypoint_name] = keypoint_bo;
51  }
52  }
53 
54  void
55  toAron(std::map<std::string, armarx::human::arondto::PoseKeypoint>& dto,
56  const std::map<std::string, armarx::armem::human::PoseKeypoint>& bo)
57  {
58  dto.clear();
59  for (const auto& [keypoint_name, keypoint] : bo)
60  {
61  armarx::human::arondto::PoseKeypoint keypoint_dto;
62  toAron(keypoint_dto, keypoint);
63  dto[keypoint_name] = keypoint_dto;
64  }
65  }
66 
67  void
68  fromAron(const armarx::human::arondto::PoseKeypoint& dto, PoseKeypoint& bo)
69  {
70  armarx::fromAron(dto.positionCamera, bo.positionCamera);
71  armarx::fromAron(dto.orientationCamera, bo.orientationCamera);
72  armarx::fromAron(dto.positionRobot, bo.positionRobot);
73  armarx::fromAron(dto.orientationRobot, bo.orientationRobot);
74  armarx::fromAron(dto.positionGlobal, bo.positionGlobal);
75  armarx::fromAron(dto.orientationGlobal, bo.orientationGlobal);
76  bo.confidence = dto.confidence;
77  }
78 
79  void
80  toAron(armarx::human::arondto::PoseKeypoint& dto, const PoseKeypoint& bo)
81  {
82  armarx::toAron(dto.positionCamera, bo.positionCamera);
83  armarx::toAron(dto.orientationCamera, bo.orientationCamera);
84  armarx::toAron(dto.positionRobot, bo.positionRobot);
85  armarx::toAron(dto.orientationRobot, bo.orientationRobot);
86  armarx::toAron(dto.positionGlobal, bo.positionGlobal);
87  armarx::toAron(dto.orientationGlobal, bo.orientationGlobal);
88  dto.confidence = bo.confidence;
89  }
90 
91  void
92  fromAron(const armarx::human::arondto::HumanPose2D& dto, HumanPose2D& bo)
93  {
95 
97 
98  fromAron(dto.poseModelId, bo.poseModelId);
99  bo.humanTrackingId = dto.humanTrackingId;
100  bo.cameraFrameName = dto.cameraFrameName;
101  fromAron(dto.keypoints, bo.keypoints);
102  }
103 
104  void
105  toAron(armarx::human::arondto::HumanPose2D& dto, const HumanPose2D& bo)
106  {
107  using armarx::aron::toAron;
108 
109  toAron(dto.poseModelId, bo.poseModelId);
110  dto.humanTrackingId = bo.humanTrackingId;
111  dto.cameraFrameName = bo.cameraFrameName;
112  toAron(dto.keypoints, bo.keypoints);
113  }
114 
115  void
116  fromAron(const std::map<std::string, armarx::human::arondto::PoseKeypoint2D>& dto,
117  std::map<std::string, armarx::armem::human::PoseKeypoint2D>& bo)
118  {
119  bo.clear();
120  for (const auto& [keypoint_name, keypoint] : dto)
121  {
123  keypoint_bo.label = keypoint_name;
124  fromAron(keypoint, keypoint_bo);
125  bo[keypoint_name] = keypoint_bo;
126  }
127  }
128 
129  void
130  toAron(std::map<std::string, armarx::human::arondto::PoseKeypoint2D>& dto,
131  const std::map<std::string, armarx::armem::human::PoseKeypoint2D>& bo)
132  {
133  dto.clear();
134  for (const auto& [keypoint_name, keypoint] : bo)
135  {
136  armarx::human::arondto::PoseKeypoint2D keypoint_dto;
137  toAron(keypoint_dto, keypoint);
138  dto[keypoint_name] = keypoint_dto;
139  }
140  }
141 
142  void
143  fromAron(const armarx::human::arondto::PoseKeypoint2D& dto, PoseKeypoint2D& bo)
144  {
145  bo.position = Eigen::Vector2f(dto.x, dto.y);
146  bo.confidence = dto.confidence;
147  }
148 
149  void
150  toAron(armarx::human::arondto::PoseKeypoint2D& dto, const PoseKeypoint2D& bo)
151  {
152  dto.x = bo.position.x();
153  dto.y = bo.position.y();
154  dto.confidence = bo.confidence;
155  }
156 
157 } // namespace armarx::armem::human
armarx::armem::human::PoseKeypoint2D::label
std::string label
Definition: types.h:42
framed.h
armarx::armem::human::toAron
void toAron(armarx::human::arondto::HumanPose &dto, const HumanPose &bo)
Definition: aron_conversions.cpp:30
trace.h
armarx::armem::human::HumanPose2D
Definition: types.h:49
armarx::armem::human::PoseKeypoint::label
std::string label
Definition: types.h:18
aron_conversions.h
ARMARX_TRACE
#define ARMARX_TRACE
Definition: trace.h:69
armarx::armem::human::PoseKeypoint
Definition: types.h:16
types.h
armarx::armem::human::PoseKeypoint2D
Definition: types.h:40
armarx::armem::human::HumanPose
Definition: types.h:29
armarx::armem::server::human
Definition: aron_conversions.cpp:10
armarx::aron::toAron
void toAron(T &dto, const T &bo)
Framework for converting ARON DTOs (Data Transfer Objects) to C++ BOs (Business Objects) and back.
Definition: aron_conversions.h:74
armarx::fromAron
void fromAron(const arondto::PackagePath &dto, PackageFileLocation &bo)
armarx::armem::human
Definition: aron_conversions.cpp:15
armarx::toAron
void toAron(arondto::PackagePath &dto, const PackageFileLocation &bo)
armarx::aron::fromAron
void fromAron(const T &dto, T &bo)
Definition: aron_conversions.h:79
armarx::aron::bo
const std::optional< BoT > & bo
Definition: aron_conversions.h:166
armarx::armem::human::fromAron
void fromAron(const armarx::human::arondto::HumanPose &dto, HumanPose &bo)
Definition: aron_conversions.cpp:19