4 #ifndef PROTOBUF_INCLUDED_jaiabot_2fmessages_2fimu_2eproto
5 #define PROTOBUF_INCLUDED_jaiabot_2fmessages_2fimu_2eproto
9 #include <google/protobuf/stubs/common.h>
11 #if GOOGLE_PROTOBUF_VERSION < 3006001
12 #error This file was generated by a newer version of protoc which is
13 #error incompatible with your Protocol Buffer headers. Please update
16 #if 3006001 < GOOGLE_PROTOBUF_MIN_PROTOC_VERSION
17 #error This file was generated by an older version of protoc which is
18 #error incompatible with your Protocol Buffer headers. Please
19 #error regenerate this file with a newer version of protoc.
22 #include <google/protobuf/io/coded_stream.h>
23 #include <google/protobuf/arena.h>
24 #include <google/protobuf/arenastring.h>
25 #include <google/protobuf/generated_message_table_driven.h>
26 #include <google/protobuf/generated_message_util.h>
27 #include <google/protobuf/inlined_string_field.h>
28 #include <google/protobuf/metadata.h>
29 #include <google/protobuf/message.h>
30 #include <google/protobuf/repeated_field.h>
31 #include <google/protobuf/extension_set.h>
32 #include <google/protobuf/generated_enum_reflection.h>
33 #include <google/protobuf/unknown_field_set.h>
34 #include "dccl/option_extensions.pb.h"
36 #include <boost/units/quantity.hpp>
37 #include <boost/units/absolute.hpp>
38 #include <boost/units/dimensionless_type.hpp>
39 #include <boost/units/make_scaled_unit.hpp>
41 #include <boost/units/systems/angle/degrees.hpp>
43 #include <boost/units/systems/si.hpp>
45 #define PROTOBUF_INTERNAL_EXPORT_protobuf_jaiabot_2fmessages_2fimu_2eproto
50 static const ::google::protobuf::internal::ParseTableField
entries[];
51 static const ::google::protobuf::internal::AuxillaryParseTableField
aux[];
52 static const ::google::protobuf::internal::ParseTable
schema[7];
55 static const ::google::protobuf::uint32
offsets[];
62 class IMUCommandDefaultTypeInternal;
65 class IMUDataDefaultTypeInternal;
67 class IMUData_Acceleration;
68 class IMUData_AccelerationDefaultTypeInternal;
70 class IMUData_AngularVelocity;
71 class IMUData_AngularVelocityDefaultTypeInternal;
73 class IMUData_EulerAngles;
74 class IMUData_EulerAnglesDefaultTypeInternal;
76 class IMUData_Quaternion;
77 class IMUData_QuaternionDefaultTypeInternal;
80 class IMUIssueDefaultTypeInternal;
113 return ::google::protobuf::internal::NameOfEnum(
118 return ::google::protobuf::internal::ParseNamedEnum<IMUCommand_IMUCommandType>(
139 return ::google::protobuf::internal::NameOfEnum(
144 return ::google::protobuf::internal::ParseNamedEnum<IMUIssue_SolutionType>(
157 return ::google::protobuf::internal::NameOfEnum(
162 return ::google::protobuf::internal::ParseNamedEnum<IMUIssue_IssueType>(
176 return ::google::protobuf::internal::NameOfEnum(
181 return ::google::protobuf::internal::ParseNamedEnum<IMUCalibrationState>(
200 *
this = ::std::move(from);
204 if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
205 if (
this != &from) InternalSwap(&from);
213 return _internal_metadata_.unknown_fields();
216 return _internal_metadata_.mutable_unknown_fields();
219 static const ::google::protobuf::Descriptor*
descriptor();
238 return CreateMaybeMessage<IMUCommand>(NULL);
242 return CreateMaybeMessage<IMUCommand>(arena);
244 void CopyFrom(const ::google::protobuf::Message& from)
final;
245 void MergeFrom(const ::google::protobuf::Message& from)
final;
253 ::
google::protobuf::io::CodedInputStream* input) final;
255 ::
google::protobuf::io::CodedOutputStream* output) const final;
257 bool deterministic, ::
google::protobuf::uint8* target) const final;
263 void SetCachedSize(
int size)
const final;
266 inline ::google::protobuf::Arena* GetArenaNoVirtual()
const {
269 inline void* MaybeArenaPtr()
const {
274 ::google::protobuf::Metadata
GetMetadata() const final;
300 static inline const ::google::protobuf::EnumDescriptor*
324 void clear_has_type();
326 ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
327 ::google::protobuf::internal::HasBits<1> _has_bits_;
328 mutable ::google::protobuf::internal::CachedSize _cached_size_;
330 friend struct ::protobuf_jaiabot_2fmessages_2fimu_2eproto::TableStruct;
348 *
this = ::std::move(from);
352 if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
353 if (
this != &from) InternalSwap(&from);
361 return _internal_metadata_.unknown_fields();
364 return _internal_metadata_.mutable_unknown_fields();
367 static const ::google::protobuf::Descriptor*
descriptor();
386 return CreateMaybeMessage<IMUData_EulerAngles>(NULL);
390 return CreateMaybeMessage<IMUData_EulerAngles>(arena);
392 void CopyFrom(const ::google::protobuf::Message& from)
final;
393 void MergeFrom(const ::google::protobuf::Message& from)
final;
401 ::
google::protobuf::io::CodedInputStream* input) final;
403 ::
google::protobuf::io::CodedOutputStream* output) const final;
405 bool deterministic, ::
google::protobuf::uint8* target) const final;
411 void SetCachedSize(
int size)
const final;
414 inline ::google::protobuf::Arena* GetArenaNoVirtual()
const {
417 inline void* MaybeArenaPtr()
const {
422 ::google::protobuf::Metadata
GetMetadata() const final;
439 double pitch() const;
453 template<typename Quantity >
455 {
set_heading(boost::units::quantity<heading_unit,double >(value_w_units).value() ); };
457 template<
typename Quantity >
462 {
return heading_with_units<boost::units::quantity< heading_unit,double > >(); };
466 typedef boost::units::unit<pitch_dimension,boost::units::degree::system>
pitch_unit;
468 template<
typename Quantity >
470 {
set_pitch(boost::units::quantity<pitch_unit,double >(value_w_units).value() ); };
472 template<
typename Quantity >
477 {
return pitch_with_units<boost::units::quantity< pitch_unit,double > >(); };
481 typedef boost::units::unit<roll_dimension,boost::units::degree::system>
roll_unit;
483 template<
typename Quantity >
485 {
set_roll(boost::units::quantity<roll_unit,double >(value_w_units).value() ); };
487 template<
typename Quantity >
492 {
return roll_with_units<boost::units::quantity< roll_unit,double > >(); };
496 void set_has_heading();
497 void clear_has_heading();
498 void set_has_pitch();
499 void clear_has_pitch();
501 void clear_has_roll();
503 ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
504 ::google::protobuf::internal::HasBits<1> _has_bits_;
505 mutable ::google::protobuf::internal::CachedSize _cached_size_;
509 friend struct ::protobuf_jaiabot_2fmessages_2fimu_2eproto::TableStruct;
527 *
this = ::std::move(from);
531 if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
532 if (
this != &from) InternalSwap(&from);
540 return _internal_metadata_.unknown_fields();
543 return _internal_metadata_.mutable_unknown_fields();
546 static const ::google::protobuf::Descriptor*
descriptor();
565 return CreateMaybeMessage<IMUData_Acceleration>(NULL);
569 return CreateMaybeMessage<IMUData_Acceleration>(arena);
571 void CopyFrom(const ::google::protobuf::Message& from)
final;
572 void MergeFrom(const ::google::protobuf::Message& from)
final;
580 ::
google::protobuf::io::CodedInputStream* input) final;
582 ::
google::protobuf::io::CodedOutputStream* output) const final;
584 bool deterministic, ::
google::protobuf::uint8* target) const final;
590 void SetCachedSize(
int size)
const final;
593 inline ::google::protobuf::Arena* GetArenaNoVirtual()
const {
596 inline void* MaybeArenaPtr()
const {
601 ::google::protobuf::Metadata
GetMetadata() const final;
612 void set_x(
double value);
619 void set_y(
double value);
626 void set_z(
double value);
637 ::
google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
638 ::
google::protobuf::internal::HasBits<1> _has_bits_;
639 mutable ::
google::protobuf::internal::CachedSize _cached_size_;
661 *
this = ::std::move(from);
664 inline IMUData_AngularVelocity&
operator=(IMUData_AngularVelocity&& from) noexcept {
665 if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
666 if (
this != &from) InternalSwap(&from);
674 return _internal_metadata_.unknown_fields();
677 return _internal_metadata_.mutable_unknown_fields();
680 static const ::google::protobuf::Descriptor*
descriptor();
699 return CreateMaybeMessage<IMUData_AngularVelocity>(NULL);
703 return CreateMaybeMessage<IMUData_AngularVelocity>(arena);
705 void CopyFrom(const ::google::protobuf::Message& from)
final;
706 void MergeFrom(const ::google::protobuf::Message& from)
final;
714 ::
google::protobuf::io::CodedInputStream* input) final;
716 ::
google::protobuf::io::CodedOutputStream* output) const final;
718 bool deterministic, ::
google::protobuf::uint8* target) const final;
724 void SetCachedSize(
int size)
const final;
727 inline ::google::protobuf::Arena* GetArenaNoVirtual()
const {
730 inline void* MaybeArenaPtr()
const {
735 ::google::protobuf::Metadata
GetMetadata() const final;
746 void set_x(
double value);
753 void set_y(
double value);
760 void set_z(
double value);
766 template<typename Quantity >
767 void set_x_with_units(Quantity value_w_units)
768 {
set_x(boost::units::quantity<x_unit,double >(value_w_units).value() ); };
770 template<
typename Quantity >
772 {
return Quantity(
x() *
x_unit()); };
775 {
return x_with_units<boost::units::quantity< x_unit,double > >(); };
777 typedef boost::units::angular_velocity_dimension y_dimension;
779 typedef boost::units::unit<y_dimension,boost::units::si::system>
y_unit;
781 template<
typename Quantity >
783 {
set_y(boost::units::quantity<y_unit,double >(value_w_units).value() ); };
785 template<
typename Quantity >
787 {
return Quantity(
y() *
y_unit()); };
790 {
return y_with_units<boost::units::quantity< y_unit,double > >(); };
792 typedef boost::units::angular_velocity_dimension z_dimension;
794 typedef boost::units::unit<z_dimension,boost::units::si::system>
z_unit;
796 template<
typename Quantity >
798 {
set_z(boost::units::quantity<z_unit,double >(value_w_units).value() ); };
800 template<
typename Quantity >
802 {
return Quantity(
z() *
z_unit()); };
805 {
return z_with_units<boost::units::quantity< z_unit,double > >(); };
816 ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
817 ::google::protobuf::internal::HasBits<1> _has_bits_;
818 mutable ::google::protobuf::internal::CachedSize _cached_size_;
822 friend struct ::protobuf_jaiabot_2fmessages_2fimu_2eproto::TableStruct;
840 *
this = ::std::move(from);
843 inline IMUData_Quaternion&
operator=(IMUData_Quaternion&& from) noexcept {
844 if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
845 if (
this != &from) InternalSwap(&from);
853 return _internal_metadata_.unknown_fields();
856 return _internal_metadata_.mutable_unknown_fields();
859 static const ::google::protobuf::Descriptor*
descriptor();
878 return CreateMaybeMessage<IMUData_Quaternion>(NULL);
882 return CreateMaybeMessage<IMUData_Quaternion>(arena);
884 void CopyFrom(const ::google::protobuf::Message& from)
final;
885 void MergeFrom(const ::google::protobuf::Message& from)
final;
893 ::
google::protobuf::io::CodedInputStream* input) final;
895 ::
google::protobuf::io::CodedOutputStream* output) const final;
897 bool deterministic, ::
google::protobuf::uint8* target) const final;
903 void SetCachedSize(
int size)
const final;
906 inline ::google::protobuf::Arena* GetArenaNoVirtual()
const {
909 inline void* MaybeArenaPtr()
const {
914 ::google::protobuf::Metadata
GetMetadata() const final;
923 static const
int kWFieldNumber = 1;
925 void set_w(
double value);
932 void set_x(
double value);
939 void set_y(
double value);
946 void set_z(
double value);
959 ::
google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
960 ::
google::protobuf::internal::HasBits<1> _has_bits_;
961 mutable ::
google::protobuf::internal::CachedSize _cached_size_;
984 *
this = ::std::move(from);
987 inline IMUData&
operator=(IMUData&& from) noexcept {
988 if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
989 if (
this != &from) InternalSwap(&from);
997 return _internal_metadata_.unknown_fields();
1000 return _internal_metadata_.mutable_unknown_fields();
1003 static const ::google::protobuf::Descriptor*
descriptor();
1008 return reinterpret_cast<const IMUData*
>(
1022 return CreateMaybeMessage<IMUData>(NULL);
1026 return CreateMaybeMessage<IMUData>(arena);
1028 void CopyFrom(const ::google::protobuf::Message& from)
final;
1029 void MergeFrom(const ::google::protobuf::Message& from)
final;
1037 ::
google::protobuf::io::CodedInputStream* input) final;
1039 ::
google::protobuf::io::CodedOutputStream* output) const final;
1041 bool deterministic, ::
google::protobuf::uint8* target) const final;
1047 void SetCachedSize(
int size)
const final;
1048 void InternalSwap(
IMUData* other);
1050 inline ::google::protobuf::Arena* GetArenaNoVirtual()
const {
1053 inline void* MaybeArenaPtr()
const {
1058 ::google::protobuf::Metadata
GetMetadata() const final;
1070 bool has_imu_type() const;
1071 void clear_imu_type();
1072 static const
int kImuTypeFieldNumber = 11;
1073 const ::std::
string& imu_type() const;
1074 void set_imu_type(const ::std::
string& value);
1076 void set_imu_type(::std::string&& value);
1078 void set_imu_type(
const char* value);
1079 void set_imu_type(
const char* value,
size_t size);
1080 ::std::string* mutable_imu_type();
1081 ::std::string* release_imu_type();
1082 void set_allocated_imu_type(::std::string* imu_type);
1085 bool has_euler_angles()
const;
1086 void clear_euler_angles();
1087 static const int kEulerAnglesFieldNumber = 1;
1089 const ::jaiabot::protobuf::IMUData_EulerAngles& _internal_euler_angles()
const;
1091 const ::jaiabot::protobuf::IMUData_EulerAngles& euler_angles()
const;
1097 bool has_linear_acceleration()
const;
1098 void clear_linear_acceleration();
1099 static const int kLinearAccelerationFieldNumber = 2;
1101 const ::jaiabot::protobuf::IMUData_Acceleration& _internal_linear_acceleration()
const;
1103 const ::jaiabot::protobuf::IMUData_Acceleration& linear_acceleration()
const;
1109 bool has_gravity()
const;
1110 void clear_gravity();
1111 static const int kGravityFieldNumber = 3;
1113 const ::jaiabot::protobuf::IMUData_Acceleration& _internal_gravity()
const;
1115 const ::jaiabot::protobuf::IMUData_Acceleration& gravity()
const;
1121 bool has_angular_velocity()
const;
1122 void clear_angular_velocity();
1123 static const int kAngularVelocityFieldNumber = 9;
1125 const ::jaiabot::protobuf::IMUData_AngularVelocity& _internal_angular_velocity()
const;
1127 const ::jaiabot::protobuf::IMUData_AngularVelocity& angular_velocity()
const;
1133 bool has_quaternion()
const;
1134 void clear_quaternion();
1135 static const int kQuaternionFieldNumber = 10;
1137 const ::jaiabot::protobuf::IMUData_Quaternion& _internal_quaternion()
const;
1139 const ::jaiabot::protobuf::IMUData_Quaternion& quaternion()
const;
1145 bool has_calibration_status()
const;
1146 void clear_calibration_status();
1147 static const int kCalibrationStatusFieldNumber = 4;
1148 ::google::protobuf::int32 calibration_status()
const;
1149 void set_calibration_status(::google::protobuf::int32 value);
1152 bool has_bot_rolled_over()
const;
1153 void clear_bot_rolled_over();
1154 static const int kBotRolledOverFieldNumber = 6;
1155 bool bot_rolled_over()
const;
1156 void set_bot_rolled_over(
bool value);
1159 bool has_significant_wave_height()
const;
1160 void clear_significant_wave_height();
1161 static const int kSignificantWaveHeightFieldNumber = 7;
1162 double significant_wave_height()
const;
1163 void set_significant_wave_height(
double value);
1166 bool has_max_acceleration()
const;
1167 void clear_max_acceleration();
1168 static const int kMaxAccelerationFieldNumber = 8;
1169 double max_acceleration()
const;
1170 void set_max_acceleration(
double value);
1173 bool has_calibration_state()
const;
1174 void clear_calibration_state();
1175 static const int kCalibrationStateFieldNumber = 5;
1183 template<
typename Quantity >
1185 { set_significant_wave_height(boost::units::quantity<significant_wave_height_unit,double >(value_w_units).value() ); };
1187 template<
typename Quantity >
1192 {
return significant_wave_height_with_units<boost::units::quantity< significant_wave_height_unit,double > >(); };
1194 typedef boost::units::acceleration_dimension max_acceleration_dimension;
1198 template<
typename Quantity >
1200 { set_max_acceleration(boost::units::quantity<max_acceleration_unit,double >(value_w_units).value() ); };
1202 template<
typename Quantity >
1207 {
return max_acceleration_with_units<boost::units::quantity< max_acceleration_unit,double > >(); };
1211 void set_has_euler_angles();
1212 void clear_has_euler_angles();
1213 void set_has_linear_acceleration();
1214 void clear_has_linear_acceleration();
1215 void set_has_gravity();
1216 void clear_has_gravity();
1217 void set_has_calibration_status();
1218 void clear_has_calibration_status();
1219 void set_has_calibration_state();
1220 void clear_has_calibration_state();
1221 void set_has_bot_rolled_over();
1222 void clear_has_bot_rolled_over();
1223 void set_has_significant_wave_height();
1224 void clear_has_significant_wave_height();
1225 void set_has_max_acceleration();
1226 void clear_has_max_acceleration();
1227 void set_has_angular_velocity();
1228 void clear_has_angular_velocity();
1229 void set_has_quaternion();
1230 void clear_has_quaternion();
1231 void set_has_imu_type();
1232 void clear_has_imu_type();
1234 ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
1235 ::google::protobuf::internal::HasBits<1> _has_bits_;
1236 mutable ::google::protobuf::internal::CachedSize _cached_size_;
1237 ::google::protobuf::internal::ArenaStringPtr imu_type_;
1243 ::google::protobuf::int32 calibration_status_;
1244 bool bot_rolled_over_;
1245 double significant_wave_height_;
1246 double max_acceleration_;
1247 int calibration_state_;
1248 friend struct ::protobuf_jaiabot_2fmessages_2fimu_2eproto::TableStruct;
1266 *
this = ::std::move(from);
1269 inline IMUIssue&
operator=(IMUIssue&& from) noexcept {
1270 if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
1271 if (
this != &from) InternalSwap(&from);
1279 return _internal_metadata_.unknown_fields();
1282 return _internal_metadata_.mutable_unknown_fields();
1285 static const ::google::protobuf::Descriptor*
descriptor();
1290 return reinterpret_cast<const IMUIssue*
>(
1304 return CreateMaybeMessage<IMUIssue>(NULL);
1308 return CreateMaybeMessage<IMUIssue>(arena);
1310 void CopyFrom(const ::google::protobuf::Message& from)
final;
1311 void MergeFrom(const ::google::protobuf::Message& from)
final;
1319 ::
google::protobuf::io::CodedInputStream* input) final;
1321 ::
google::protobuf::io::CodedOutputStream* output) const final;
1323 bool deterministic, ::
google::protobuf::uint8* target) const final;
1329 void SetCachedSize(
int size)
const final;
1330 void InternalSwap(
IMUIssue* other);
1332 inline ::google::protobuf::Arena* GetArenaNoVirtual()
const {
1335 inline void* MaybeArenaPtr()
const {
1340 ::google::protobuf::Metadata
GetMetadata() const final;
1363 static inline
bool SolutionType_IsValid(
int value) {
1370 static const int SolutionType_ARRAYSIZE =
1372 static inline const ::google::protobuf::EnumDescriptor*
1385 static const IssueType HEADING_COURSE_DIFFERENCE_TOO_LARGE =
1394 static const int IssueType_ARRAYSIZE =
1396 static inline const ::google::protobuf::EnumDescriptor*
1411 bool has_solution()
const;
1412 void clear_solution();
1413 static const int kSolutionFieldNumber = 1;
1418 bool has_type()
const;
1420 static const int kTypeFieldNumber = 2;
1425 bool has_mission_state()
const;
1426 void clear_mission_state();
1427 static const int kMissionStateFieldNumber = 3;
1432 bool has_heading()
const;
1433 void clear_heading();
1434 static const int kHeadingFieldNumber = 31;
1435 double heading()
const;
1436 void set_heading(
double value);
1439 bool has_desired_heading()
const;
1440 void clear_desired_heading();
1441 static const int kDesiredHeadingFieldNumber = 32;
1442 double desired_heading()
const;
1443 void set_desired_heading(
double value);
1446 bool has_course_over_ground()
const;
1447 void clear_course_over_ground();
1448 static const int kCourseOverGroundFieldNumber = 33;
1449 double course_over_ground()
const;
1450 void set_course_over_ground(
double value);
1453 bool has_heading_course_difference()
const;
1454 void clear_heading_course_difference();
1455 static const int kHeadingCourseDifferenceFieldNumber = 34;
1456 double heading_course_difference()
const;
1457 void set_heading_course_difference(
double value);
1460 bool has_pitch()
const;
1462 static const int kPitchFieldNumber = 35;
1463 double pitch()
const;
1464 void set_pitch(
double value);
1467 bool has_speed_over_ground()
const;
1468 void clear_speed_over_ground();
1469 static const int kSpeedOverGroundFieldNumber = 36;
1470 double speed_over_ground()
const;
1471 void set_speed_over_ground(
double value);
1474 bool has_desired_speed()
const;
1475 void clear_desired_speed();
1476 static const int kDesiredSpeedFieldNumber = 37;
1477 double desired_speed()
const;
1478 void set_desired_speed(
double value);
1481 bool has_imu_heading_course_max_diff()
const;
1482 void clear_imu_heading_course_max_diff();
1483 static const int kImuHeadingCourseMaxDiffFieldNumber = 30;
1484 double imu_heading_course_max_diff()
const;
1485 void set_imu_heading_course_max_diff(
double value);
1489 typedef boost::units::unit<heading_dimension,boost::units::degree::system>
heading_unit;
1491 template<
typename Quantity >
1493 { set_heading(boost::units::quantity<heading_unit,double >(value_w_units).value() ); };
1495 template<
typename Quantity >
1500 {
return heading_with_units<boost::units::quantity< heading_unit,double > >(); };
1502 typedef boost::units::plane_angle_dimension desired_heading_dimension;
1506 template<
typename Quantity >
1508 { set_desired_heading(boost::units::quantity<desired_heading_unit,double >(value_w_units).value() ); };
1510 template<
typename Quantity >
1515 {
return desired_heading_with_units<boost::units::quantity< desired_heading_unit,double > >(); };
1517 typedef boost::units::plane_angle_dimension course_over_ground_dimension;
1521 template<
typename Quantity >
1523 { set_course_over_ground(boost::units::quantity<course_over_ground_unit,double >(value_w_units).value() ); };
1525 template<
typename Quantity >
1530 {
return course_over_ground_with_units<boost::units::quantity< course_over_ground_unit,double > >(); };
1532 typedef boost::units::plane_angle_dimension heading_course_difference_dimension;
1536 template<
typename Quantity >
1538 { set_heading_course_difference(boost::units::quantity<heading_course_difference_unit,double >(value_w_units).value() ); };
1540 template<
typename Quantity >
1545 {
return heading_course_difference_with_units<boost::units::quantity< heading_course_difference_unit,double > >(); };
1547 typedef boost::units::plane_angle_dimension pitch_dimension;
1549 typedef boost::units::unit<pitch_dimension,boost::units::degree::system>
pitch_unit;
1551 template<
typename Quantity >
1553 { set_pitch(boost::units::quantity<pitch_unit,double >(value_w_units).value() ); };
1555 template<
typename Quantity >
1557 {
return Quantity(pitch() *
pitch_unit()); };
1560 {
return pitch_with_units<boost::units::quantity< pitch_unit,double > >(); };
1562 typedef boost::units::velocity_dimension speed_over_ground_dimension;
1566 template<
typename Quantity >
1568 { set_speed_over_ground(boost::units::quantity<speed_over_ground_unit,double >(value_w_units).value() ); };
1570 template<
typename Quantity >
1575 {
return speed_over_ground_with_units<boost::units::quantity< speed_over_ground_unit,double > >(); };
1577 typedef boost::units::velocity_dimension desired_speed_dimension;
1581 template<
typename Quantity >
1583 { set_desired_speed(boost::units::quantity<desired_speed_unit,double >(value_w_units).value() ); };
1585 template<
typename Quantity >
1590 {
return desired_speed_with_units<boost::units::quantity< desired_speed_unit,double > >(); };
1594 void set_has_solution();
1595 void clear_has_solution();
1596 void set_has_type();
1597 void clear_has_type();
1598 void set_has_mission_state();
1599 void clear_has_mission_state();
1600 void set_has_imu_heading_course_max_diff();
1601 void clear_has_imu_heading_course_max_diff();
1602 void set_has_heading();
1603 void clear_has_heading();
1604 void set_has_desired_heading();
1605 void clear_has_desired_heading();
1606 void set_has_course_over_ground();
1607 void clear_has_course_over_ground();
1608 void set_has_heading_course_difference();
1609 void clear_has_heading_course_difference();
1610 void set_has_pitch();
1611 void clear_has_pitch();
1612 void set_has_speed_over_ground();
1613 void clear_has_speed_over_ground();
1614 void set_has_desired_speed();
1615 void clear_has_desired_speed();
1617 ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
1618 ::google::protobuf::internal::HasBits<1> _has_bits_;
1619 mutable ::google::protobuf::internal::CachedSize _cached_size_;
1624 double desired_heading_;
1625 double course_over_ground_;
1626 double heading_course_difference_;
1628 double speed_over_ground_;
1629 double desired_speed_;
1630 double imu_heading_course_max_diff_;
1631 friend struct ::protobuf_jaiabot_2fmessages_2fimu_2eproto::TableStruct;
1639 #pragma GCC diagnostic push
1640 #pragma GCC diagnostic ignored "-Wstrict-aliasing"
1646 return (_has_bits_[0] & 0x00000001u) != 0;
1648 inline void IMUCommand::set_has_type() {
1649 _has_bits_[0] |= 0x00000001u;
1651 inline void IMUCommand::clear_has_type() {
1652 _has_bits_[0] &= ~0x00000001u;
1675 return (_has_bits_[0] & 0x00000001u) != 0;
1677 inline void IMUData_EulerAngles::set_has_heading() {
1678 _has_bits_[0] |= 0x00000001u;
1680 inline void IMUData_EulerAngles::clear_has_heading() {
1681 _has_bits_[0] &= ~0x00000001u;
1685 clear_has_heading();
1699 return (_has_bits_[0] & 0x00000002u) != 0;
1701 inline void IMUData_EulerAngles::set_has_pitch() {
1702 _has_bits_[0] |= 0x00000002u;
1704 inline void IMUData_EulerAngles::clear_has_pitch() {
1705 _has_bits_[0] &= ~0x00000002u;
1723 return (_has_bits_[0] & 0x00000004u) != 0;
1725 inline void IMUData_EulerAngles::set_has_roll() {
1726 _has_bits_[0] |= 0x00000004u;
1728 inline void IMUData_EulerAngles::clear_has_roll() {
1729 _has_bits_[0] &= ~0x00000004u;
1751 return (_has_bits_[0] & 0x00000001u) != 0;
1753 inline void IMUData_Acceleration::set_has_x() {
1754 _has_bits_[0] |= 0x00000001u;
1756 inline void IMUData_Acceleration::clear_has_x() {
1757 _has_bits_[0] &= ~0x00000001u;
1775 return (_has_bits_[0] & 0x00000002u) != 0;
1777 inline void IMUData_Acceleration::set_has_y() {
1778 _has_bits_[0] |= 0x00000002u;
1780 inline void IMUData_Acceleration::clear_has_y() {
1781 _has_bits_[0] &= ~0x00000002u;
1799 return (_has_bits_[0] & 0x00000004u) != 0;
1801 inline void IMUData_Acceleration::set_has_z() {
1802 _has_bits_[0] |= 0x00000004u;
1804 inline void IMUData_Acceleration::clear_has_z() {
1805 _has_bits_[0] &= ~0x00000004u;
1827 return (_has_bits_[0] & 0x00000001u) != 0;
1829 inline void IMUData_AngularVelocity::set_has_x() {
1830 _has_bits_[0] |= 0x00000001u;
1832 inline void IMUData_AngularVelocity::clear_has_x() {
1833 _has_bits_[0] &= ~0x00000001u;
1851 return (_has_bits_[0] & 0x00000002u) != 0;
1853 inline void IMUData_AngularVelocity::set_has_y() {
1854 _has_bits_[0] |= 0x00000002u;
1856 inline void IMUData_AngularVelocity::clear_has_y() {
1857 _has_bits_[0] &= ~0x00000002u;
1875 return (_has_bits_[0] & 0x00000004u) != 0;
1877 inline void IMUData_AngularVelocity::set_has_z() {
1878 _has_bits_[0] |= 0x00000004u;
1880 inline void IMUData_AngularVelocity::clear_has_z() {
1881 _has_bits_[0] &= ~0x00000004u;
1903 return (_has_bits_[0] & 0x00000001u) != 0;
1905 inline void IMUData_Quaternion::set_has_w() {
1906 _has_bits_[0] |= 0x00000001u;
1908 inline void IMUData_Quaternion::clear_has_w() {
1909 _has_bits_[0] &= ~0x00000001u;
1927 return (_has_bits_[0] & 0x00000002u) != 0;
1929 inline void IMUData_Quaternion::set_has_x() {
1930 _has_bits_[0] |= 0x00000002u;
1932 inline void IMUData_Quaternion::clear_has_x() {
1933 _has_bits_[0] &= ~0x00000002u;
1951 return (_has_bits_[0] & 0x00000004u) != 0;
1953 inline void IMUData_Quaternion::set_has_y() {
1954 _has_bits_[0] |= 0x00000004u;
1956 inline void IMUData_Quaternion::clear_has_y() {
1957 _has_bits_[0] &= ~0x00000004u;
1975 return (_has_bits_[0] & 0x00000008u) != 0;
1977 inline void IMUData_Quaternion::set_has_z() {
1978 _has_bits_[0] |= 0x00000008u;
1980 inline void IMUData_Quaternion::clear_has_z() {
1981 _has_bits_[0] &= ~0x00000008u;
2003 return (_has_bits_[0] & 0x00000002u) != 0;
2005 inline void IMUData::set_has_euler_angles() {
2006 _has_bits_[0] |= 0x00000002u;
2008 inline void IMUData::clear_has_euler_angles() {
2009 _has_bits_[0] &= ~0x00000002u;
2012 if (euler_angles_ != NULL) euler_angles_->Clear();
2013 clear_has_euler_angles();
2015 inline const ::jaiabot::protobuf::IMUData_EulerAngles& IMUData::_internal_euler_angles()
const {
2016 return *euler_angles_;
2019 const ::jaiabot::protobuf::IMUData_EulerAngles* p = euler_angles_;
2026 clear_has_euler_angles();
2028 euler_angles_ = NULL;
2032 set_has_euler_angles();
2033 if (euler_angles_ == NULL) {
2034 auto* p = CreateMaybeMessage<::jaiabot::protobuf::IMUData_EulerAngles>(GetArenaNoVirtual());
2038 return euler_angles_;
2041 ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
2042 if (message_arena == NULL) {
2043 delete euler_angles_;
2046 ::google::protobuf::Arena* submessage_arena = NULL;
2047 if (message_arena != submessage_arena) {
2048 euler_angles = ::google::protobuf::internal::GetOwnedMessage(
2049 message_arena, euler_angles, submessage_arena);
2051 set_has_euler_angles();
2053 clear_has_euler_angles();
2055 euler_angles_ = euler_angles;
2061 return (_has_bits_[0] & 0x00000004u) != 0;
2063 inline void IMUData::set_has_linear_acceleration() {
2064 _has_bits_[0] |= 0x00000004u;
2066 inline void IMUData::clear_has_linear_acceleration() {
2067 _has_bits_[0] &= ~0x00000004u;
2070 if (linear_acceleration_ != NULL) linear_acceleration_->Clear();
2071 clear_has_linear_acceleration();
2073 inline const ::jaiabot::protobuf::IMUData_Acceleration& IMUData::_internal_linear_acceleration()
const {
2074 return *linear_acceleration_;
2077 const ::jaiabot::protobuf::IMUData_Acceleration* p = linear_acceleration_;
2084 clear_has_linear_acceleration();
2086 linear_acceleration_ = NULL;
2090 set_has_linear_acceleration();
2091 if (linear_acceleration_ == NULL) {
2092 auto* p = CreateMaybeMessage<::jaiabot::protobuf::IMUData_Acceleration>(GetArenaNoVirtual());
2093 linear_acceleration_ = p;
2096 return linear_acceleration_;
2099 ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
2100 if (message_arena == NULL) {
2101 delete linear_acceleration_;
2103 if (linear_acceleration) {
2104 ::google::protobuf::Arena* submessage_arena = NULL;
2105 if (message_arena != submessage_arena) {
2106 linear_acceleration = ::google::protobuf::internal::GetOwnedMessage(
2107 message_arena, linear_acceleration, submessage_arena);
2109 set_has_linear_acceleration();
2111 clear_has_linear_acceleration();
2113 linear_acceleration_ = linear_acceleration;
2119 return (_has_bits_[0] & 0x00000008u) != 0;
2121 inline void IMUData::set_has_gravity() {
2122 _has_bits_[0] |= 0x00000008u;
2124 inline void IMUData::clear_has_gravity() {
2125 _has_bits_[0] &= ~0x00000008u;
2128 if (gravity_ != NULL) gravity_->Clear();
2129 clear_has_gravity();
2131 inline const ::jaiabot::protobuf::IMUData_Acceleration& IMUData::_internal_gravity()
const {
2135 const ::jaiabot::protobuf::IMUData_Acceleration* p = gravity_;
2142 clear_has_gravity();
2149 if (gravity_ == NULL) {
2150 auto* p = CreateMaybeMessage<::jaiabot::protobuf::IMUData_Acceleration>(GetArenaNoVirtual());
2157 ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
2158 if (message_arena == NULL) {
2162 ::google::protobuf::Arena* submessage_arena = NULL;
2163 if (message_arena != submessage_arena) {
2164 gravity = ::google::protobuf::internal::GetOwnedMessage(
2165 message_arena, gravity, submessage_arena);
2169 clear_has_gravity();
2177 return (_has_bits_[0] & 0x00000040u) != 0;
2179 inline void IMUData::set_has_calibration_status() {
2180 _has_bits_[0] |= 0x00000040u;
2182 inline void IMUData::clear_has_calibration_status() {
2183 _has_bits_[0] &= ~0x00000040u;
2186 calibration_status_ = 0;
2187 clear_has_calibration_status();
2191 return calibration_status_;
2194 set_has_calibration_status();
2195 calibration_status_ = value;
2201 return (_has_bits_[0] & 0x00000400u) != 0;
2203 inline void IMUData::set_has_calibration_state() {
2204 _has_bits_[0] |= 0x00000400u;
2206 inline void IMUData::clear_has_calibration_state() {
2207 _has_bits_[0] &= ~0x00000400u;
2210 calibration_state_ = 1;
2211 clear_has_calibration_state();
2219 set_has_calibration_state();
2220 calibration_state_ = value;
2226 return (_has_bits_[0] & 0x00000080u) != 0;
2228 inline void IMUData::set_has_bot_rolled_over() {
2229 _has_bits_[0] |= 0x00000080u;
2231 inline void IMUData::clear_has_bot_rolled_over() {
2232 _has_bits_[0] &= ~0x00000080u;
2235 bot_rolled_over_ =
false;
2236 clear_has_bot_rolled_over();
2240 return bot_rolled_over_;
2243 set_has_bot_rolled_over();
2244 bot_rolled_over_ = value;
2250 return (_has_bits_[0] & 0x00000100u) != 0;
2252 inline void IMUData::set_has_significant_wave_height() {
2253 _has_bits_[0] |= 0x00000100u;
2255 inline void IMUData::clear_has_significant_wave_height() {
2256 _has_bits_[0] &= ~0x00000100u;
2259 significant_wave_height_ = 0;
2260 clear_has_significant_wave_height();
2264 return significant_wave_height_;
2267 set_has_significant_wave_height();
2268 significant_wave_height_ = value;
2274 return (_has_bits_[0] & 0x00000200u) != 0;
2276 inline void IMUData::set_has_max_acceleration() {
2277 _has_bits_[0] |= 0x00000200u;
2279 inline void IMUData::clear_has_max_acceleration() {
2280 _has_bits_[0] &= ~0x00000200u;
2283 max_acceleration_ = 0;
2284 clear_has_max_acceleration();
2288 return max_acceleration_;
2291 set_has_max_acceleration();
2292 max_acceleration_ = value;
2298 return (_has_bits_[0] & 0x00000010u) != 0;
2300 inline void IMUData::set_has_angular_velocity() {
2301 _has_bits_[0] |= 0x00000010u;
2303 inline void IMUData::clear_has_angular_velocity() {
2304 _has_bits_[0] &= ~0x00000010u;
2307 if (angular_velocity_ != NULL) angular_velocity_->Clear();
2308 clear_has_angular_velocity();
2310 inline const ::jaiabot::protobuf::IMUData_AngularVelocity& IMUData::_internal_angular_velocity()
const {
2311 return *angular_velocity_;
2314 const ::jaiabot::protobuf::IMUData_AngularVelocity* p = angular_velocity_;
2321 clear_has_angular_velocity();
2323 angular_velocity_ = NULL;
2327 set_has_angular_velocity();
2328 if (angular_velocity_ == NULL) {
2329 auto* p = CreateMaybeMessage<::jaiabot::protobuf::IMUData_AngularVelocity>(GetArenaNoVirtual());
2330 angular_velocity_ = p;
2333 return angular_velocity_;
2336 ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
2337 if (message_arena == NULL) {
2338 delete angular_velocity_;
2340 if (angular_velocity) {
2341 ::google::protobuf::Arena* submessage_arena = NULL;
2342 if (message_arena != submessage_arena) {
2343 angular_velocity = ::google::protobuf::internal::GetOwnedMessage(
2344 message_arena, angular_velocity, submessage_arena);
2346 set_has_angular_velocity();
2348 clear_has_angular_velocity();
2350 angular_velocity_ = angular_velocity;
2356 return (_has_bits_[0] & 0x00000020u) != 0;
2358 inline void IMUData::set_has_quaternion() {
2359 _has_bits_[0] |= 0x00000020u;
2361 inline void IMUData::clear_has_quaternion() {
2362 _has_bits_[0] &= ~0x00000020u;
2365 if (quaternion_ != NULL) quaternion_->Clear();
2366 clear_has_quaternion();
2368 inline const ::jaiabot::protobuf::IMUData_Quaternion& IMUData::_internal_quaternion()
const {
2369 return *quaternion_;
2372 const ::jaiabot::protobuf::IMUData_Quaternion* p = quaternion_;
2379 clear_has_quaternion();
2385 set_has_quaternion();
2386 if (quaternion_ == NULL) {
2387 auto* p = CreateMaybeMessage<::jaiabot::protobuf::IMUData_Quaternion>(GetArenaNoVirtual());
2394 ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
2395 if (message_arena == NULL) {
2399 ::google::protobuf::Arena* submessage_arena = NULL;
2400 if (message_arena != submessage_arena) {
2401 quaternion = ::google::protobuf::internal::GetOwnedMessage(
2402 message_arena, quaternion, submessage_arena);
2404 set_has_quaternion();
2406 clear_has_quaternion();
2408 quaternion_ = quaternion;
2414 return (_has_bits_[0] & 0x00000001u) != 0;
2416 inline void IMUData::set_has_imu_type() {
2417 _has_bits_[0] |= 0x00000001u;
2419 inline void IMUData::clear_has_imu_type() {
2420 _has_bits_[0] &= ~0x00000001u;
2423 imu_type_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
2424 clear_has_imu_type();
2428 return imu_type_.GetNoArena();
2432 imu_type_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
2438 imu_type_.SetNoArena(
2439 &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
2444 GOOGLE_DCHECK(value != NULL);
2446 imu_type_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
2451 imu_type_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
2452 ::std::string(
reinterpret_cast<const char*
>(value), size));
2458 return imu_type_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
2462 if (!has_imu_type()) {
2465 clear_has_imu_type();
2466 return imu_type_.ReleaseNonDefaultNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
2469 if (imu_type != NULL) {
2472 clear_has_imu_type();
2474 imu_type_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), imu_type);
2484 return (_has_bits_[0] & 0x00000001u) != 0;
2486 inline void IMUIssue::set_has_solution() {
2487 _has_bits_[0] |= 0x00000001u;
2489 inline void IMUIssue::clear_has_solution() {
2490 _has_bits_[0] &= ~0x00000001u;
2494 clear_has_solution();
2509 return (_has_bits_[0] & 0x00000002u) != 0;
2511 inline void IMUIssue::set_has_type() {
2512 _has_bits_[0] |= 0x00000002u;
2514 inline void IMUIssue::clear_has_type() {
2515 _has_bits_[0] &= ~0x00000002u;
2534 return (_has_bits_[0] & 0x00000004u) != 0;
2536 inline void IMUIssue::set_has_mission_state() {
2537 _has_bits_[0] |= 0x00000004u;
2539 inline void IMUIssue::clear_has_mission_state() {
2540 _has_bits_[0] &= ~0x00000004u;
2544 clear_has_mission_state();
2552 set_has_mission_state();
2553 mission_state_ = value;
2559 return (_has_bits_[0] & 0x00000400u) != 0;
2561 inline void IMUIssue::set_has_imu_heading_course_max_diff() {
2562 _has_bits_[0] |= 0x00000400u;
2564 inline void IMUIssue::clear_has_imu_heading_course_max_diff() {
2565 _has_bits_[0] &= ~0x00000400u;
2568 imu_heading_course_max_diff_ = 45;
2569 clear_has_imu_heading_course_max_diff();
2573 return imu_heading_course_max_diff_;
2576 set_has_imu_heading_course_max_diff();
2577 imu_heading_course_max_diff_ = value;
2583 return (_has_bits_[0] & 0x00000008u) != 0;
2585 inline void IMUIssue::set_has_heading() {
2586 _has_bits_[0] |= 0x00000008u;
2588 inline void IMUIssue::clear_has_heading() {
2589 _has_bits_[0] &= ~0x00000008u;
2593 clear_has_heading();
2607 return (_has_bits_[0] & 0x00000010u) != 0;
2609 inline void IMUIssue::set_has_desired_heading() {
2610 _has_bits_[0] |= 0x00000010u;
2612 inline void IMUIssue::clear_has_desired_heading() {
2613 _has_bits_[0] &= ~0x00000010u;
2616 desired_heading_ = 0;
2617 clear_has_desired_heading();
2621 return desired_heading_;
2624 set_has_desired_heading();
2625 desired_heading_ = value;
2631 return (_has_bits_[0] & 0x00000020u) != 0;
2633 inline void IMUIssue::set_has_course_over_ground() {
2634 _has_bits_[0] |= 0x00000020u;
2636 inline void IMUIssue::clear_has_course_over_ground() {
2637 _has_bits_[0] &= ~0x00000020u;
2640 course_over_ground_ = 0;
2641 clear_has_course_over_ground();
2645 return course_over_ground_;
2648 set_has_course_over_ground();
2649 course_over_ground_ = value;
2655 return (_has_bits_[0] & 0x00000040u) != 0;
2657 inline void IMUIssue::set_has_heading_course_difference() {
2658 _has_bits_[0] |= 0x00000040u;
2660 inline void IMUIssue::clear_has_heading_course_difference() {
2661 _has_bits_[0] &= ~0x00000040u;
2664 heading_course_difference_ = 0;
2665 clear_has_heading_course_difference();
2669 return heading_course_difference_;
2672 set_has_heading_course_difference();
2673 heading_course_difference_ = value;
2679 return (_has_bits_[0] & 0x00000080u) != 0;
2681 inline void IMUIssue::set_has_pitch() {
2682 _has_bits_[0] |= 0x00000080u;
2684 inline void IMUIssue::clear_has_pitch() {
2685 _has_bits_[0] &= ~0x00000080u;
2703 return (_has_bits_[0] & 0x00000100u) != 0;
2705 inline void IMUIssue::set_has_speed_over_ground() {
2706 _has_bits_[0] |= 0x00000100u;
2708 inline void IMUIssue::clear_has_speed_over_ground() {
2709 _has_bits_[0] &= ~0x00000100u;
2712 speed_over_ground_ = 0;
2713 clear_has_speed_over_ground();
2717 return speed_over_ground_;
2720 set_has_speed_over_ground();
2721 speed_over_ground_ = value;
2727 return (_has_bits_[0] & 0x00000200u) != 0;
2729 inline void IMUIssue::set_has_desired_speed() {
2730 _has_bits_[0] |= 0x00000200u;
2732 inline void IMUIssue::clear_has_desired_speed() {
2733 _has_bits_[0] &= ~0x00000200u;
2737 clear_has_desired_speed();
2741 return desired_speed_;
2744 set_has_desired_speed();
2745 desired_speed_ = value;
2750 #pragma GCC diagnostic pop
2771 namespace protobuf {
2775 inline const EnumDescriptor* GetEnumDescriptor< ::jaiabot::protobuf::IMUCommand_IMUCommandType>() {
2780 inline const EnumDescriptor* GetEnumDescriptor< ::jaiabot::protobuf::IMUIssue_SolutionType>() {
2785 inline const EnumDescriptor* GetEnumDescriptor< ::jaiabot::protobuf::IMUIssue_IssueType>() {
2790 inline const EnumDescriptor* GetEnumDescriptor< ::jaiabot::protobuf::IMUCalibrationState>() {
2799 #endif // PROTOBUF_INCLUDED_jaiabot_2fmessages_2fimu_2eproto