Gazebo Msgs

API Reference

9.5.1
gz/msgs/Utility.hh
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2016 Open Source Robotics Foundation
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  *
16 */
17 #ifndef GZ_MSGS_UTILITY_HH_
18 #define GZ_MSGS_UTILITY_HH_
19 
20 #include <string>
21 #include <utility>
22 #include <vector>
23 
24 #include <gz/math/AxisAlignedBox.hh>
25 #include <gz/math/Color.hh>
26 #include <gz/math/Inertial.hh>
27 #include <gz/math/Pose3.hh>
28 #include <gz/math/Plane.hh>
29 #include <gz/math/SphericalCoordinates.hh>
30 #include <gz/math/Vector3.hh>
31 
32 #include "gz/msgs/config.hh"
33 #include "gz/msgs/Export.hh"
34 #include "gz/msgs/MessageTypes.hh"
35 
39 
40 namespace gz
41 {
42  namespace msgs
43  {
44  // Inline bracket to help doxygen filtering.
45  inline namespace GZ_MSGS_VERSION_NAMESPACE {
46  //
50  GZ_MSGS_VISIBLE
51  gz::math::Vector3d Convert(const msgs::Vector3d &_v);
52 
56  GZ_MSGS_VISIBLE
57  gz::math::Vector2d Convert(const msgs::Vector2d &_v);
58 
62  GZ_MSGS_VISIBLE
63  gz::math::Quaterniond Convert(const msgs::Quaternion &_q);
64 
68  GZ_MSGS_VISIBLE
69  gz::math::Pose3d Convert(const msgs::Pose &_p);
70 
74  GZ_MSGS_VISIBLE
75  math::Color Convert(const msgs::Color &_c);
76 
80  GZ_MSGS_VISIBLE
81  gz::math::Planed Convert(const msgs::PlaneGeom &_p);
82 
86  GZ_MSGS_VISIBLE
87  math::Inertiald Convert(const msgs::Inertial &_i);
88 
93  GZ_MSGS_VISIBLE
94  math::SphericalCoordinates Convert(
95  const msgs::SphericalCoordinates &_coord);
96 
101  GZ_MSGS_VISIBLE
103  const msgs::SphericalCoordinatesType &_sc);
104 
109  GZ_MSGS_VISIBLE
110  math::AxisAlignedBox Convert(const msgs::AxisAlignedBox &_b);
111 
116  GZ_MSGS_VISIBLE
117  msgs::AxisAlignedBox Convert(const math::AxisAlignedBox &_b);
118 
122  GZ_MSGS_VISIBLE
123  std::string Convert(const msgs::StringMsg &_m);
124 
128  GZ_MSGS_VISIBLE
129  bool Convert(const msgs::Boolean &_m);
130 
134  GZ_MSGS_VISIBLE
135  int32_t Convert(const msgs::Int32 &_m);
136 
140  GZ_MSGS_VISIBLE
141  uint32_t Convert(const msgs::UInt32 &_m);
142 
146  GZ_MSGS_VISIBLE
147  int64_t Convert(const msgs::Int64 &_m);
148 
152  GZ_MSGS_VISIBLE
153  uint64_t Convert(const msgs::UInt64 &_m);
154 
158  GZ_MSGS_VISIBLE
159  double Convert(const msgs::Double &_m);
160 
164  GZ_MSGS_VISIBLE
165  float Convert(const msgs::Float &_m);
166 
170  GZ_MSGS_VISIBLE
171  std::chrono::steady_clock::duration Convert(const msgs::Time &_time);
172 
176  GZ_MSGS_VISIBLE
177  msgs::Vector3d Convert(const gz::math::Vector3d &_v);
178 
182  GZ_MSGS_VISIBLE
183  msgs::Vector2d Convert(const gz::math::Vector2d &_v);
184 
188  GZ_MSGS_VISIBLE
189  msgs::Quaternion Convert(const gz::math::Quaterniond &_q);
190 
194  GZ_MSGS_VISIBLE
195  msgs::Pose Convert(const gz::math::Pose3d &_p);
196 
200  GZ_MSGS_VISIBLE
201  msgs::Color Convert(const math::Color &_c);
202 
206  GZ_MSGS_VISIBLE
207  msgs::Inertial Convert(const math::Inertiald &_i);
208 
212  GZ_MSGS_VISIBLE
213  msgs::Inertial Convert(const math::MassMatrix3d &_m);
214 
219  GZ_MSGS_VISIBLE
220  msgs::SphericalCoordinates Convert(
221  const math::SphericalCoordinates &_coord);
222 
227  GZ_MSGS_VISIBLE
230 
234  GZ_MSGS_VISIBLE
235  msgs::PlaneGeom Convert(const gz::math::Planed &_p);
236 
240  GZ_MSGS_VISIBLE
241  msgs::StringMsg Convert(const std::string &_s);
242 
246  GZ_MSGS_VISIBLE
247  msgs::Boolean Convert(const bool &_b);
248 
252  GZ_MSGS_VISIBLE
253  msgs::Int32 Convert(const int32_t &_i);
254 
258  GZ_MSGS_VISIBLE
259  msgs::UInt32 Convert(const uint32_t &_u);
260 
264  GZ_MSGS_VISIBLE
265  msgs::Int64 Convert(const int64_t &_i);
266 
270  GZ_MSGS_VISIBLE
271  msgs::UInt64 Convert(const uint64_t &_u);
272 
276  GZ_MSGS_VISIBLE
277  msgs::Double Convert(const double &_d);
278 
282  GZ_MSGS_VISIBLE
283  msgs::Float Convert(const float &_f);
284 
289  GZ_MSGS_VISIBLE
290  msgs::Time Convert(
291  const std::chrono::steady_clock::duration &_time_point);
292 
297  GZ_MSGS_VISIBLE
299 
304  GZ_MSGS_VISIBLE
306 
310  GZ_MSGS_VISIBLE
312 
316  GZ_MSGS_VISIBLE
318 
322  GZ_MSGS_VISIBLE
324 
327  // \param[in] _t PixelFormatType enum value.
329  GZ_MSGS_VISIBLE
331 
336  GZ_MSGS_VISIBLE
338 
343  GZ_MSGS_VISIBLE
345 
349  GZ_MSGS_VISIBLE
350  void Set(msgs::Vector3d *_pt, const gz::math::Vector3d &_v);
351 
355  GZ_MSGS_VISIBLE
356  void Set(msgs::Vector2d *_pt, const gz::math::Vector2d &_v);
357 
361  GZ_MSGS_VISIBLE
362  void Set(msgs::Quaternion *_q, const gz::math::Quaterniond &_v);
363 
367  GZ_MSGS_VISIBLE
368  void Set(msgs::Pose *_p, const gz::math::Pose3d &_v);
369 
373  GZ_MSGS_VISIBLE
374  void Set(msgs::Color *_c, const math::Color &_v);
375 
379  GZ_MSGS_VISIBLE
380  void Set(msgs::Inertial *_i, const math::Inertiald &_m);
381 
385  GZ_MSGS_VISIBLE
386  void Set(msgs::Inertial *_i, const math::MassMatrix3d &_m);
387 
392  GZ_MSGS_VISIBLE
393  void Set(msgs::SphericalCoordinates *_sc,
394  const math::SphericalCoordinates &_m);
395 
399  GZ_MSGS_VISIBLE
400  void Set(msgs::PlaneGeom *_p, const gz::math::Planed &_v);
401 
405  GZ_MSGS_VISIBLE
406  void Set(msgs::StringMsg *_p, const std::string &_v);
407 
411  GZ_MSGS_VISIBLE
412  void Set(msgs::Boolean *_p, const bool &_v);
413 
417  GZ_MSGS_VISIBLE
418  void Set(msgs::Int32 *_p, const int32_t &_v);
419 
423  GZ_MSGS_VISIBLE
424  void Set(msgs::UInt32 *_p, const uint32_t &_v);
425 
429  GZ_MSGS_VISIBLE
430  void Set(msgs::Int64 *_p, const int64_t &_v);
431 
435  GZ_MSGS_VISIBLE
436  void Set(msgs::UInt64 *_p, const uint64_t &_v);
437 
441  GZ_MSGS_VISIBLE
442  void Set(msgs::Double *_p, const double &_v);
443 
447  GZ_MSGS_VISIBLE
448  void Set(msgs::Float *_p, const float &_v);
449 
453  GZ_MSGS_VISIBLE
454  void Set(msgs::AxisAlignedBox *_b, const math::AxisAlignedBox &_v);
455 
471  GZ_MSGS_VISIBLE
472  void InitPointCloudPacked(msgs::PointCloudPacked &_msg,
473  const std::string &_frameId, bool _memoryAligned,
476 
479  // \param[in] _t Type of the discovery message.
481  GZ_MSGS_VISIBLE
483 
495  GZ_MSGS_VISIBLE
496  bool ConvertFuelMetadata(const std::string &_modelConfigStr,
497  msgs::FuelMetadata &_meta);
498 
510  GZ_MSGS_VISIBLE
511  bool ConvertFuelMetadata(const msgs::FuelMetadata &_meta,
512  std::string &_modelConfigStr);
513  }
514  }
515 }
516 #endif