AGX Dynamics 2.37.3.4
Loading...
Searching...
No Matches
dependencies/agx_dependencies_231002_Windows_64_VS2019/include/agx-nt-ros2/MessageTypes.h
Go to the documentation of this file.
1/*
2Copyright 2007-2023. Algoryx Simulation AB.
3
4All AGX source code, intellectual property, documentation, sample code,
5tutorials, scene files and technical white papers, are copyrighted, proprietary
6and confidential material of Algoryx Simulation AB. You may not download, read,
7store, distribute, publish, copy or otherwise disseminate, use or expose this
8material unless having a written signed agreement with Algoryx Simulation AB, or having been
9advised so by Algoryx Simulation AB for a time limited evaluation, or having purchased a
10valid commercial license from Algoryx Simulation AB.
11
12Algoryx Simulation AB disclaims all responsibilities for loss or damage caused
13from using this software, unless otherwise stated in written agreements with
14Algoryx Simulation AB.
15*/
16
17#pragma once
18
19// AGX Networking Toolbox includes.
21
22// Standard library includes.
23#include <stdint.h>
24#include <string>
25#include <vector>
26
27#ifdef _MSC_VER
28# pragma warning(push)
29# pragma warning(disable: 4251) // Disable warnings about members needing dll interface.
30#endif
31
32
33namespace agxROS2
34{
35 namespace agxMsgs
36 {
38 {
39 std::vector<uint8_t> data;
40 };
41
43 {
44 std::vector<Any> data;
45 };
46 }
47
48 namespace builtinInterfaces
49 {
51 {
52 int32_t sec {0};
53 uint32_t nanosec {0};
54 };
55
57 {
58 int32_t sec {0};
59 uint32_t nanosec {0};
60 };
61 }
62
63 namespace rosgraphMsgs
64 {
66 {
68 };
69 }
70
71 namespace stdMsgs
72 {
74 {
75 std::string label;
76 uint32_t size {0};
77 uint32_t stride {0};
78 };
79
81 {
82 std::vector<MultiArrayDimension> dim;
83 uint32_t data_offset {0};
84 };
85
87 {
88 bool data = false;
89 };
90
92 {
93 uint8_t data {0};
94 };
95
97 {
99 std::vector<uint8_t> data;
100 };
101
103 {
104 uint8_t data {0};
105 };
106
108 {
109 float r {0.f};
110 float g {0.f};
111 float b {0.f};
112 float a {0.f};
113 };
114
116 {
117 uint8_t structure_needs_at_least_one_member {0};
118 };
119
121 {
122 float data {0.f};
123 };
124
126 {
128 std::vector<float> data;
129 };
130
132 {
133 double data {0.0};
134 };
135
137 {
139 std::vector<double> data;
140 };
141
143 {
144 int16_t data {0};
145 };
146
148 {
150 std::vector<int16_t> data;
151 };
152
154 {
155 int32_t data {0};
156 };
157
159 {
161 std::vector<int32_t> data;
162 };
163
165 {
166 int64_t data {0};
167 };
168
170 {
172 std::vector<int64_t> data;
173 };
174
176 {
177 int8_t data {0};
178 };
179
181 {
183 std::vector<int8_t> data;
184 };
185
187 {
188 std::string data;
189 };
190
192 {
193 uint16_t data {0};
194 };
195
197 {
199 std::vector<uint16_t> data;
200 };
201
203 {
204 uint32_t data {0};
205 };
206
208 {
210 std::vector<uint32_t> data;
211 };
212
214 {
215 uint64_t data {0};
216 };
217
219 {
221 std::vector<uint64_t> data;
222 };
223
225 {
226 uint8_t data {0};
227 };
228
230 {
232 std::vector<uint8_t> data;
233 };
234
236 {
238 std::string frame_id;
239 };
240 }
241
242 namespace geometryMsgs
243 {
244 struct Vector3
245 {
246 double x {0.0};
247 double y {0.0};
248 double z {0.0};
249 };
250
252 {
253 double x {0.0};
254 double y {0.0};
255 double z {0.0};
256 double w {0.0};
257 };
258
259 struct Accel
260 {
263 };
264
266 {
269 };
270
272 {
274 double covariance[36];
275 };
276
278 {
281 };
282
283 struct Inertia
284 {
285 double m {0.0};
287 double ixx {0.0};
288 double ixy {0.0};
289 double ixz {0.0};
290 double iyy {0.0};
291 double iyz {0.0};
292 double izz {0.0};
293 };
294
296 {
299 };
300
301 struct Point
302 {
303 double x {0.0};
304 double y {0.0};
305 double z {0.0};
306 };
307
308 struct Point32
309 {
310 float x {0.f};
311 float y {0.f};
312 float z {0.f};
313 };
314
316 {
319 };
320
321 struct Polygon
322 {
323 std::vector<Point32> points;
324 };
325
327 {
330 };
331
332 struct Pose
333 {
336 };
337
338 struct Pose2D
339 {
340 double x {0.0};
341 double y {0.0};
342 double theta {0.0};
343 };
344
346 {
348 std::vector<Pose> poses;
349 };
350
352 {
355 };
356
358 {
360 double covariance[36];
361 };
362
364 {
367 };
368
370 {
373 };
374
376 {
379 };
380
382 {
384 std::string child_frame_id;
386 };
387
388 struct Twist
389 {
392 };
393
395 {
398 };
399
401 {
403 double covariance[36];
404 };
405
407 {
410 };
411
413 {
416 };
417
418 struct Wrench
419 {
422 };
423
425 {
428 };
429 }
430
431 namespace sensorMsgs
432 {
434 {
436 float voltage {0.f};
437 float temperature {0.f};
438 float current {0.f};
439 float charge {0.f};
440 float capacity {0.f};
441 float design_capacity {0.f};
442 float percentage {0.f};
446 bool present = false;
447 std::vector<float> cell_voltage;
448 std::vector<float> cell_temperature;
449 std::string location;
450 std::string serial_number;
451 };
452
454 {
455 std::string name;
456 std::vector<float> values;
457 };
458
460 {
462 std::string format;
463 std::vector<uint8_t> data;
464 };
465
467 {
469 double fluid_pressure {0.0};
470 double variance {0.0};
471 };
472
474 {
476 double illuminance {0.0};
477 double variance {0.0};
478 };
479
480 struct Image
481 {
483 uint32_t height {0};
484 uint32_t width {0};
485 std::string encoding;
486 uint8_t is_bigendian {0};
487 uint32_t step {0};
488 std::vector<uint8_t> data;
489 };
490
491 struct Imu
492 {
500 };
501
503 {
505 std::vector<std::string> name;
506 std::vector<double> position;
507 std::vector<double> velocity;
508 std::vector<double> effort;
509 };
510
511 struct Joy
512 {
514 std::vector<float> axes;
515 std::vector<int32_t> buttons;
516 };
517
519 {
520 uint8_t type {0};
521 uint8_t id {0};
522 float intensity {0.f};
523 };
524
526 {
527 std::vector<JoyFeedback> array;
528 };
529
531 {
532 std::vector<float> echoes;
533 };
534
536 {
538 float angle_min {0.f};
539 float angle_max {0.f};
540 float angle_increment {0.f};
541 float time_increment {0.f};
542 float scan_time {0.f};
543 float range_min {0.f};
544 float range_max {0.f};
545 std::vector<float> ranges;
546 std::vector<float> intensities;
547 };
548
550 {
554 };
555
557 {
559 std::vector<std::string> joint_names;
560 std::vector<geometryMsgs::Transform> transforms;
561 std::vector<geometryMsgs::Twist> twist;
562 std::vector<geometryMsgs::Wrench> wrench;
563 };
564
566 {
568 float angle_min {0.f};
569 float angle_max {0.f};
570 float angle_increment {0.f};
571 float time_increment {0.f};
572 float scan_time {0.f};
573 float range_min {0.f};
574 float range_max {0.f};
575 std::vector<LaserEcho> ranges;
576 std::vector<LaserEcho> intensities;
577 };
578
580 {
581 int8_t status {0};
582 uint16_t service {0};
583 };
584
586 {
589 double latitude {0.0};
590 double longitude {0.0};
591 double altitude {0.0};
594 };
595
597 {
599 std::vector<geometryMsgs::Point32> points;
600 std::vector<ChannelFloat32> channels;
601 };
602
604 {
605 std::string name;
606 uint32_t offset {0};
607 uint8_t datatype {0};
608 uint32_t count {0};
609 };
610
612 {
614 uint32_t height {0};
615 uint32_t width {0};
616 std::vector<PointField> fields;
617 bool is_bigendian = false;
618 uint32_t point_step {0};
619 uint32_t row_step {0};
620 std::vector<uint8_t> data;
621 bool is_dense = false;
622 };
623
624 struct Range
625 {
627 uint8_t radiation_type {0};
628 float field_of_view {0.f};
629 float min_range {0.f};
630 float max_range {0.f};
631 float range {0.f};
632 };
633
635 {
636 uint32_t x_offset {0};
637 uint32_t y_offset {0};
638 uint32_t height {0};
639 uint32_t width {0};
640 bool do_rectify = false;
641 };
642
644 {
646 uint32_t height {0};
647 uint32_t width {0};
648 std::string distortion_model;
649 std::vector<double> d;
650 double k[9];
651 double r[9];
652 double p[12];
653 uint32_t binning_x {0};
654 uint32_t binning_y {0};
656 };
657
659 {
661 double relative_humidity {0.0};
662 double variance {0.0};
663 };
664
666 {
668 double temperature {0.0};
669 double variance {0.0};
670 };
671
673 {
676 std::string source;
677 };
678 }
679}
680
681#ifdef _MSC_VER
682# pragma warning(pop)
683#endif
#define AGXNTROS2_EXPORT