JaiaBot  1.12.0+18+g85da5f82
JaiaBot micro-AUV software
imu.pb.h
Go to the documentation of this file.
1 // Generated by the protocol buffer compiler. DO NOT EDIT!
2 // source: jaiabot/messages/imu.proto
3 
4 #ifndef GOOGLE_PROTOBUF_INCLUDED_jaiabot_2fmessages_2fimu_2eproto
5 #define GOOGLE_PROTOBUF_INCLUDED_jaiabot_2fmessages_2fimu_2eproto
6 
7 #include <limits>
8 #include <string>
9 
10 #include <google/protobuf/port_def.inc>
11 #if PROTOBUF_VERSION < 3012000
12 #error This file was generated by a newer version of protoc which is
13 #error incompatible with your Protocol Buffer headers. Please update
14 #error your headers.
15 #endif
16 #if 3012004 < 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.
20 #endif
21 
22 #include <google/protobuf/port_undef.inc>
23 #include <google/protobuf/io/coded_stream.h>
24 #include <google/protobuf/arena.h>
25 #include <google/protobuf/arenastring.h>
26 #include <google/protobuf/generated_message_table_driven.h>
27 #include <google/protobuf/generated_message_util.h>
28 #include <google/protobuf/inlined_string_field.h>
29 #include <google/protobuf/metadata_lite.h>
30 #include <google/protobuf/generated_message_reflection.h>
31 #include <google/protobuf/message.h>
32 #include <google/protobuf/repeated_field.h> // IWYU pragma: export
33 #include <google/protobuf/extension_set.h> // IWYU pragma: export
34 #include <google/protobuf/generated_enum_reflection.h>
35 #include <google/protobuf/unknown_field_set.h>
36 #include "dccl/option_extensions.pb.h"
38 #include <boost/units/quantity.hpp>
39 #include <boost/units/absolute.hpp>
40 #include <boost/units/dimensionless_type.hpp>
41 #include <boost/units/make_scaled_unit.hpp>
42 
43 #include <boost/units/systems/angle/degrees.hpp>
44 
45 #include <boost/units/systems/si.hpp>
46 // @@protoc_insertion_point(includes)
47 #include <google/protobuf/port_def.inc>
48 #define PROTOBUF_INTERNAL_EXPORT_jaiabot_2fmessages_2fimu_2eproto
49 PROTOBUF_NAMESPACE_OPEN
50 namespace internal {
51 class AnyMetadata;
52 } // namespace internal
53 PROTOBUF_NAMESPACE_CLOSE
54 
55 // Internal implementation detail -- do not use these members.
57  static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTableField entries[]
58  PROTOBUF_SECTION_VARIABLE(protodesc_cold);
59  static const ::PROTOBUF_NAMESPACE_ID::internal::AuxillaryParseTableField aux[]
60  PROTOBUF_SECTION_VARIABLE(protodesc_cold);
61  static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[7]
62  PROTOBUF_SECTION_VARIABLE(protodesc_cold);
63  static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[];
64  static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[];
65  static const ::PROTOBUF_NAMESPACE_ID::uint32 offsets[];
66 };
67 extern const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_jaiabot_2fmessages_2fimu_2eproto;
68 namespace jaiabot {
69 namespace protobuf {
70 class IMUCommand;
71 class IMUCommandDefaultTypeInternal;
72 extern IMUCommandDefaultTypeInternal _IMUCommand_default_instance_;
73 class IMUData;
74 class IMUDataDefaultTypeInternal;
75 extern IMUDataDefaultTypeInternal _IMUData_default_instance_;
76 class IMUData_Acceleration;
77 class IMUData_AccelerationDefaultTypeInternal;
78 extern IMUData_AccelerationDefaultTypeInternal _IMUData_Acceleration_default_instance_;
79 class IMUData_AngularVelocity;
80 class IMUData_AngularVelocityDefaultTypeInternal;
81 extern IMUData_AngularVelocityDefaultTypeInternal _IMUData_AngularVelocity_default_instance_;
82 class IMUData_EulerAngles;
83 class IMUData_EulerAnglesDefaultTypeInternal;
84 extern IMUData_EulerAnglesDefaultTypeInternal _IMUData_EulerAngles_default_instance_;
85 class IMUData_Quaternion;
86 class IMUData_QuaternionDefaultTypeInternal;
87 extern IMUData_QuaternionDefaultTypeInternal _IMUData_Quaternion_default_instance_;
88 class IMUIssue;
89 class IMUIssueDefaultTypeInternal;
90 extern IMUIssueDefaultTypeInternal _IMUIssue_default_instance_;
91 } // namespace protobuf
92 } // namespace jaiabot
93 PROTOBUF_NAMESPACE_OPEN
94 template<> ::jaiabot::protobuf::IMUCommand* Arena::CreateMaybeMessage<::jaiabot::protobuf::IMUCommand>(Arena*);
95 template<> ::jaiabot::protobuf::IMUData* Arena::CreateMaybeMessage<::jaiabot::protobuf::IMUData>(Arena*);
96 template<> ::jaiabot::protobuf::IMUData_Acceleration* Arena::CreateMaybeMessage<::jaiabot::protobuf::IMUData_Acceleration>(Arena*);
97 template<> ::jaiabot::protobuf::IMUData_AngularVelocity* Arena::CreateMaybeMessage<::jaiabot::protobuf::IMUData_AngularVelocity>(Arena*);
98 template<> ::jaiabot::protobuf::IMUData_EulerAngles* Arena::CreateMaybeMessage<::jaiabot::protobuf::IMUData_EulerAngles>(Arena*);
99 template<> ::jaiabot::protobuf::IMUData_Quaternion* Arena::CreateMaybeMessage<::jaiabot::protobuf::IMUData_Quaternion>(Arena*);
100 template<> ::jaiabot::protobuf::IMUIssue* Arena::CreateMaybeMessage<::jaiabot::protobuf::IMUIssue>(Arena*);
101 PROTOBUF_NAMESPACE_CLOSE
102 namespace jaiabot {
103 namespace protobuf {
104 
112 };
117 
118 const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* IMUCommand_IMUCommandType_descriptor();
119 template<typename T>
120 inline const std::string& IMUCommand_IMUCommandType_Name(T enum_t_value) {
121  static_assert(::std::is_same<T, IMUCommand_IMUCommandType>::value ||
122  ::std::is_integral<T>::value,
123  "Incorrect type passed to function IMUCommand_IMUCommandType_Name.");
124  return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
125  IMUCommand_IMUCommandType_descriptor(), enum_t_value);
126 }
128  const std::string& name, IMUCommand_IMUCommandType* value) {
129  return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<IMUCommand_IMUCommandType>(
130  IMUCommand_IMUCommandType_descriptor(), name, value);
131 }
142 };
147 
148 const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* IMUIssue_SolutionType_descriptor();
149 template<typename T>
150 inline const std::string& IMUIssue_SolutionType_Name(T enum_t_value) {
151  static_assert(::std::is_same<T, IMUIssue_SolutionType>::value ||
152  ::std::is_integral<T>::value,
153  "Incorrect type passed to function IMUIssue_SolutionType_Name.");
154  return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
155  IMUIssue_SolutionType_descriptor(), enum_t_value);
156 }
158  const std::string& name, IMUIssue_SolutionType* value) {
159  return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<IMUIssue_SolutionType>(
160  IMUIssue_SolutionType_descriptor(), name, value);
161 }
162 enum IMUIssue_IssueType : int {
164 };
169 
170 const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* IMUIssue_IssueType_descriptor();
171 template<typename T>
172 inline const std::string& IMUIssue_IssueType_Name(T enum_t_value) {
173  static_assert(::std::is_same<T, IMUIssue_IssueType>::value ||
174  ::std::is_integral<T>::value,
175  "Incorrect type passed to function IMUIssue_IssueType_Name.");
176  return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
177  IMUIssue_IssueType_descriptor(), enum_t_value);
178 }
180  const std::string& name, IMUIssue_IssueType* value) {
181  return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<IMUIssue_IssueType>(
182  IMUIssue_IssueType_descriptor(), name, value);
183 }
186  COMPLETE = 2
187 };
192 
193 const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* IMUCalibrationState_descriptor();
194 template<typename T>
195 inline const std::string& IMUCalibrationState_Name(T enum_t_value) {
196  static_assert(::std::is_same<T, IMUCalibrationState>::value ||
197  ::std::is_integral<T>::value,
198  "Incorrect type passed to function IMUCalibrationState_Name.");
199  return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
200  IMUCalibrationState_descriptor(), enum_t_value);
201 }
203  const std::string& name, IMUCalibrationState* value) {
204  return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<IMUCalibrationState>(
205  IMUCalibrationState_descriptor(), name, value);
206 }
207 // ===================================================================
208 
209 class IMUCommand PROTOBUF_FINAL :
210  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:jaiabot.protobuf.IMUCommand) */ {
211  public:
212  inline IMUCommand() : IMUCommand(nullptr) {};
213  virtual ~IMUCommand();
214 
215  IMUCommand(const IMUCommand& from);
216  IMUCommand(IMUCommand&& from) noexcept
217  : IMUCommand() {
218  *this = ::std::move(from);
219  }
220 
221  inline IMUCommand& operator=(const IMUCommand& from) {
222  CopyFrom(from);
223  return *this;
224  }
225  inline IMUCommand& operator=(IMUCommand&& from) noexcept {
226  if (GetArena() == from.GetArena()) {
227  if (this != &from) InternalSwap(&from);
228  } else {
229  CopyFrom(from);
230  }
231  return *this;
232  }
233 
234  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
235  return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
236  }
237  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
238  return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
239  }
240 
241  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
242  return GetDescriptor();
243  }
244  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
245  return GetMetadataStatic().descriptor;
246  }
247  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
248  return GetMetadataStatic().reflection;
249  }
250  static const IMUCommand& default_instance();
251 
252  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
253  static inline const IMUCommand* internal_default_instance() {
254  return reinterpret_cast<const IMUCommand*>(
256  }
257  static constexpr int kIndexInFileMessages =
258  0;
259 
260  friend void swap(IMUCommand& a, IMUCommand& b) {
261  a.Swap(&b);
262  }
263  inline void Swap(IMUCommand* other) {
264  if (other == this) return;
265  if (GetArena() == other->GetArena()) {
266  InternalSwap(other);
267  } else {
268  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
269  }
270  }
271  void UnsafeArenaSwap(IMUCommand* other) {
272  if (other == this) return;
273  GOOGLE_DCHECK(GetArena() == other->GetArena());
274  InternalSwap(other);
275  }
276 
277  // implements Message ----------------------------------------------
278 
279  inline IMUCommand* New() const final {
280  return CreateMaybeMessage<IMUCommand>(nullptr);
281  }
282 
283  IMUCommand* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
284  return CreateMaybeMessage<IMUCommand>(arena);
285  }
286  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
287  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
288  void CopyFrom(const IMUCommand& from);
289  void MergeFrom(const IMUCommand& from);
290  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
291  bool IsInitialized() const final;
292 
293  size_t ByteSizeLong() const final;
294  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
295  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
296  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
297  int GetCachedSize() const final { return _cached_size_.Get(); }
298 
299  private:
300  inline void SharedCtor();
301  inline void SharedDtor();
302  void SetCachedSize(int size) const final;
303  void InternalSwap(IMUCommand* other);
304  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
305  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
306  return "jaiabot.protobuf.IMUCommand";
307  }
308  protected:
309  explicit IMUCommand(::PROTOBUF_NAMESPACE_ID::Arena* arena);
310  private:
311  static void ArenaDtor(void* object);
312  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
313  public:
314 
315  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
316  private:
317  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
318  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_jaiabot_2fmessages_2fimu_2eproto);
319  return ::descriptor_table_jaiabot_2fmessages_2fimu_2eproto.file_level_metadata[kIndexInFileMessages];
320  }
321 
322  public:
323 
324  // nested types ----------------------------------------------------
325 
327  static constexpr IMUCommandType TAKE_READING =
329  static constexpr IMUCommandType START_WAVE_HEIGHT_SAMPLING =
331  static constexpr IMUCommandType STOP_WAVE_HEIGHT_SAMPLING =
333  static constexpr IMUCommandType START_BOTTOM_TYPE_SAMPLING =
335  static constexpr IMUCommandType STOP_BOTTOM_TYPE_SAMPLING =
337  static constexpr IMUCommandType START_CALIBRATION =
339  static inline bool IMUCommandType_IsValid(int value) {
340  return IMUCommand_IMUCommandType_IsValid(value);
341  }
342  static constexpr IMUCommandType IMUCommandType_MIN =
344  static constexpr IMUCommandType IMUCommandType_MAX =
346  static constexpr int IMUCommandType_ARRAYSIZE =
348  static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
351  }
352  template<typename T>
353  static inline const std::string& IMUCommandType_Name(T enum_t_value) {
354  static_assert(::std::is_same<T, IMUCommandType>::value ||
355  ::std::is_integral<T>::value,
356  "Incorrect type passed to function IMUCommandType_Name.");
357  return IMUCommand_IMUCommandType_Name(enum_t_value);
358  }
359  static inline bool IMUCommandType_Parse(const std::string& name,
360  IMUCommandType* value) {
361  return IMUCommand_IMUCommandType_Parse(name, value);
362  }
363 
364  // accessors -------------------------------------------------------
365 
366  enum : int {
367  kTypeFieldNumber = 1,
368  };
369  // required .jaiabot.protobuf.IMUCommand.IMUCommandType type = 1;
370  bool has_type() const;
371  private:
372  bool _internal_has_type() const;
373  public:
374  void clear_type();
377  private:
378  ::jaiabot::protobuf::IMUCommand_IMUCommandType _internal_type() const;
379  void _internal_set_type(::jaiabot::protobuf::IMUCommand_IMUCommandType value);
380  public:
381 
382  // @@protoc_insertion_point(class_scope:jaiabot.protobuf.IMUCommand)
383  private:
384  class _Internal;
385 
386  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
387  typedef void InternalArenaConstructable_;
388  typedef void DestructorSkippable_;
389  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
390  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
391  int type_;
392  friend struct ::TableStruct_jaiabot_2fmessages_2fimu_2eproto;
393 };
394 // -------------------------------------------------------------------
395 
396 class IMUData_EulerAngles PROTOBUF_FINAL :
397  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:jaiabot.protobuf.IMUData.EulerAngles) */ {
398  public:
399  inline IMUData_EulerAngles() : IMUData_EulerAngles(nullptr) {};
401 
402  IMUData_EulerAngles(const IMUData_EulerAngles& from);
403  IMUData_EulerAngles(IMUData_EulerAngles&& from) noexcept
404  : IMUData_EulerAngles() {
405  *this = ::std::move(from);
406  }
407 
408  inline IMUData_EulerAngles& operator=(const IMUData_EulerAngles& from) {
409  CopyFrom(from);
410  return *this;
411  }
412  inline IMUData_EulerAngles& operator=(IMUData_EulerAngles&& from) noexcept {
413  if (GetArena() == from.GetArena()) {
414  if (this != &from) InternalSwap(&from);
415  } else {
416  CopyFrom(from);
417  }
418  return *this;
419  }
420 
421  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
422  return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
423  }
424  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
425  return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
426  }
427 
428  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
429  return GetDescriptor();
430  }
431  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
432  return GetMetadataStatic().descriptor;
433  }
434  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
435  return GetMetadataStatic().reflection;
436  }
437  static const IMUData_EulerAngles& default_instance();
438 
439  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
440  static inline const IMUData_EulerAngles* internal_default_instance() {
441  return reinterpret_cast<const IMUData_EulerAngles*>(
443  }
444  static constexpr int kIndexInFileMessages =
445  1;
446 
447  friend void swap(IMUData_EulerAngles& a, IMUData_EulerAngles& b) {
448  a.Swap(&b);
449  }
450  inline void Swap(IMUData_EulerAngles* other) {
451  if (other == this) return;
452  if (GetArena() == other->GetArena()) {
453  InternalSwap(other);
454  } else {
455  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
456  }
457  }
458  void UnsafeArenaSwap(IMUData_EulerAngles* other) {
459  if (other == this) return;
460  GOOGLE_DCHECK(GetArena() == other->GetArena());
461  InternalSwap(other);
462  }
463 
464  // implements Message ----------------------------------------------
465 
466  inline IMUData_EulerAngles* New() const final {
467  return CreateMaybeMessage<IMUData_EulerAngles>(nullptr);
468  }
469 
470  IMUData_EulerAngles* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
471  return CreateMaybeMessage<IMUData_EulerAngles>(arena);
472  }
473  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
474  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
475  void CopyFrom(const IMUData_EulerAngles& from);
476  void MergeFrom(const IMUData_EulerAngles& from);
477  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
478  bool IsInitialized() const final;
479 
480  size_t ByteSizeLong() const final;
481  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
482  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
483  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
484  int GetCachedSize() const final { return _cached_size_.Get(); }
485 
486  private:
487  inline void SharedCtor();
488  inline void SharedDtor();
489  void SetCachedSize(int size) const final;
490  void InternalSwap(IMUData_EulerAngles* other);
491  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
492  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
493  return "jaiabot.protobuf.IMUData.EulerAngles";
494  }
495  protected:
496  explicit IMUData_EulerAngles(::PROTOBUF_NAMESPACE_ID::Arena* arena);
497  private:
498  static void ArenaDtor(void* object);
499  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
500  public:
501 
502  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
503  private:
504  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
505  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_jaiabot_2fmessages_2fimu_2eproto);
506  return ::descriptor_table_jaiabot_2fmessages_2fimu_2eproto.file_level_metadata[kIndexInFileMessages];
507  }
508 
509  public:
510 
511  // nested types ----------------------------------------------------
512 
513  // accessors -------------------------------------------------------
514 
515  enum : int {
516  kHeadingFieldNumber = 1,
517  kPitchFieldNumber = 2,
518  kRollFieldNumber = 3,
519  };
520  // optional double heading = 1 [(.dccl.field) = {
521  bool has_heading() const;
522  private:
523  bool _internal_has_heading() const;
524  public:
526  double heading() const;
527  void set_heading(double value);
528  private:
529  double _internal_heading() const;
530  void _internal_set_heading(double value);
531  public:
532 
533  // optional double pitch = 2 [(.dccl.field) = {
534  bool has_pitch() const;
535  private:
536  bool _internal_has_pitch() const;
537  public:
538  void clear_pitch();
539  double pitch() const;
540  void set_pitch(double value);
541  private:
542  double _internal_pitch() const;
543  void _internal_set_pitch(double value);
544  public:
545 
546  // optional double roll = 3 [(.dccl.field) = {
547  bool has_roll() const;
548  private:
549  bool _internal_has_roll() const;
550  public:
551  void clear_roll();
552  double roll() const;
553  void set_roll(double value);
554  private:
555  double _internal_roll() const;
556  void _internal_set_roll(double value);
557  public:
558 
559  typedef boost::units::plane_angle_dimension heading_dimension;
560 
561  typedef boost::units::unit<heading_dimension,boost::units::degree::system> heading_unit;
562 
563  template<typename Quantity >
564  void set_heading_with_units(Quantity value_w_units)
565  { set_heading(boost::units::quantity<heading_unit,double >(value_w_units).value() ); };
566 
567  template<typename Quantity >
568  Quantity heading_with_units() const
569  { return Quantity(heading() * heading_unit()); };
570 
571  boost::units::quantity< heading_unit,double > heading_with_units() const
572  { return heading_with_units<boost::units::quantity< heading_unit,double > >(); };
573 
574  typedef boost::units::plane_angle_dimension pitch_dimension;
575 
576  typedef boost::units::unit<pitch_dimension,boost::units::degree::system> pitch_unit;
577 
578  template<typename Quantity >
579  void set_pitch_with_units(Quantity value_w_units)
580  { set_pitch(boost::units::quantity<pitch_unit,double >(value_w_units).value() ); };
581 
582  template<typename Quantity >
583  Quantity pitch_with_units() const
584  { return Quantity(pitch() * pitch_unit()); };
585 
586  boost::units::quantity< pitch_unit,double > pitch_with_units() const
587  { return pitch_with_units<boost::units::quantity< pitch_unit,double > >(); };
588 
589  typedef boost::units::plane_angle_dimension roll_dimension;
590 
591  typedef boost::units::unit<roll_dimension,boost::units::degree::system> roll_unit;
592 
593  template<typename Quantity >
594  void set_roll_with_units(Quantity value_w_units)
595  { set_roll(boost::units::quantity<roll_unit,double >(value_w_units).value() ); };
596 
597  template<typename Quantity >
598  Quantity roll_with_units() const
599  { return Quantity(roll() * roll_unit()); };
600 
601  boost::units::quantity< roll_unit,double > roll_with_units() const
602  { return roll_with_units<boost::units::quantity< roll_unit,double > >(); };
603 
604  // @@protoc_insertion_point(class_scope:jaiabot.protobuf.IMUData.EulerAngles)
605  private:
606  class _Internal;
607 
608  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
609  typedef void InternalArenaConstructable_;
610  typedef void DestructorSkippable_;
611  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
612  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
613  double heading_;
614  double pitch_;
615  double roll_;
616  friend struct ::TableStruct_jaiabot_2fmessages_2fimu_2eproto;
617 };
618 // -------------------------------------------------------------------
619 
620 class IMUData_Acceleration PROTOBUF_FINAL :
621  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:jaiabot.protobuf.IMUData.Acceleration) */ {
622  public:
623  inline IMUData_Acceleration() : IMUData_Acceleration(nullptr) {};
625 
626  IMUData_Acceleration(const IMUData_Acceleration& from);
627  IMUData_Acceleration(IMUData_Acceleration&& from) noexcept
628  : IMUData_Acceleration() {
629  *this = ::std::move(from);
630  }
631 
632  inline IMUData_Acceleration& operator=(const IMUData_Acceleration& from) {
633  CopyFrom(from);
634  return *this;
635  }
636  inline IMUData_Acceleration& operator=(IMUData_Acceleration&& from) noexcept {
637  if (GetArena() == from.GetArena()) {
638  if (this != &from) InternalSwap(&from);
639  } else {
640  CopyFrom(from);
641  }
642  return *this;
643  }
644 
645  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
646  return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
647  }
648  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
649  return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
650  }
651 
652  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
653  return GetDescriptor();
654  }
655  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
656  return GetMetadataStatic().descriptor;
657  }
658  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
659  return GetMetadataStatic().reflection;
660  }
661  static const IMUData_Acceleration& default_instance();
662 
663  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
664  static inline const IMUData_Acceleration* internal_default_instance() {
665  return reinterpret_cast<const IMUData_Acceleration*>(
667  }
668  static constexpr int kIndexInFileMessages =
669  2;
670 
671  friend void swap(IMUData_Acceleration& a, IMUData_Acceleration& b) {
672  a.Swap(&b);
673  }
674  inline void Swap(IMUData_Acceleration* other) {
675  if (other == this) return;
676  if (GetArena() == other->GetArena()) {
677  InternalSwap(other);
678  } else {
679  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
680  }
681  }
682  void UnsafeArenaSwap(IMUData_Acceleration* other) {
683  if (other == this) return;
684  GOOGLE_DCHECK(GetArena() == other->GetArena());
685  InternalSwap(other);
686  }
687 
688  // implements Message ----------------------------------------------
689 
690  inline IMUData_Acceleration* New() const final {
691  return CreateMaybeMessage<IMUData_Acceleration>(nullptr);
692  }
693 
694  IMUData_Acceleration* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
695  return CreateMaybeMessage<IMUData_Acceleration>(arena);
696  }
697  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
698  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
699  void CopyFrom(const IMUData_Acceleration& from);
700  void MergeFrom(const IMUData_Acceleration& from);
701  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
702  bool IsInitialized() const final;
703 
704  size_t ByteSizeLong() const final;
705  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
706  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
707  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
708  int GetCachedSize() const final { return _cached_size_.Get(); }
709 
710  private:
711  inline void SharedCtor();
712  inline void SharedDtor();
713  void SetCachedSize(int size) const final;
714  void InternalSwap(IMUData_Acceleration* other);
715  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
716  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
717  return "jaiabot.protobuf.IMUData.Acceleration";
718  }
719  protected:
720  explicit IMUData_Acceleration(::PROTOBUF_NAMESPACE_ID::Arena* arena);
721  private:
722  static void ArenaDtor(void* object);
723  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
724  public:
725 
726  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
727  private:
728  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
729  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_jaiabot_2fmessages_2fimu_2eproto);
730  return ::descriptor_table_jaiabot_2fmessages_2fimu_2eproto.file_level_metadata[kIndexInFileMessages];
731  }
732 
733  public:
734 
735  // nested types ----------------------------------------------------
736 
737  // accessors -------------------------------------------------------
738 
739  enum : int {
740  kXFieldNumber = 1,
741  kYFieldNumber = 2,
742  kZFieldNumber = 3,
743  };
744  // optional double x = 1;
745  bool has_x() const;
746  private:
747  bool _internal_has_x() const;
748  public:
749  void clear_x();
750  double x() const;
751  void set_x(double value);
752  private:
753  double _internal_x() const;
754  void _internal_set_x(double value);
755  public:
756 
757  // optional double y = 2;
758  bool has_y() const;
759  private:
760  bool _internal_has_y() const;
761  public:
762  void clear_y();
763  double y() const;
764  void set_y(double value);
765  private:
766  double _internal_y() const;
767  void _internal_set_y(double value);
768  public:
769 
770  // optional double z = 3;
771  bool has_z() const;
772  private:
773  bool _internal_has_z() const;
774  public:
775  void clear_z();
776  double z() const;
777  void set_z(double value);
778  private:
779  double _internal_z() const;
780  void _internal_set_z(double value);
781  public:
782 
783  // @@protoc_insertion_point(class_scope:jaiabot.protobuf.IMUData.Acceleration)
784  private:
785  class _Internal;
786 
787  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
788  typedef void InternalArenaConstructable_;
789  typedef void DestructorSkippable_;
790  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
791  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
792  double x_;
793  double y_;
794  double z_;
795  friend struct ::TableStruct_jaiabot_2fmessages_2fimu_2eproto;
796 };
797 // -------------------------------------------------------------------
798 
799 class IMUData_AngularVelocity PROTOBUF_FINAL :
800  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:jaiabot.protobuf.IMUData.AngularVelocity) */ {
801  public:
802  inline IMUData_AngularVelocity() : IMUData_AngularVelocity(nullptr) {};
804 
805  IMUData_AngularVelocity(const IMUData_AngularVelocity& from);
806  IMUData_AngularVelocity(IMUData_AngularVelocity&& from) noexcept
807  : IMUData_AngularVelocity() {
808  *this = ::std::move(from);
809  }
810 
811  inline IMUData_AngularVelocity& operator=(const IMUData_AngularVelocity& from) {
812  CopyFrom(from);
813  return *this;
814  }
815  inline IMUData_AngularVelocity& operator=(IMUData_AngularVelocity&& from) noexcept {
816  if (GetArena() == from.GetArena()) {
817  if (this != &from) InternalSwap(&from);
818  } else {
819  CopyFrom(from);
820  }
821  return *this;
822  }
823 
824  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
825  return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
826  }
827  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
828  return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
829  }
830 
831  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
832  return GetDescriptor();
833  }
834  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
835  return GetMetadataStatic().descriptor;
836  }
837  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
838  return GetMetadataStatic().reflection;
839  }
840  static const IMUData_AngularVelocity& default_instance();
841 
842  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
843  static inline const IMUData_AngularVelocity* internal_default_instance() {
844  return reinterpret_cast<const IMUData_AngularVelocity*>(
846  }
847  static constexpr int kIndexInFileMessages =
848  3;
849 
850  friend void swap(IMUData_AngularVelocity& a, IMUData_AngularVelocity& b) {
851  a.Swap(&b);
852  }
853  inline void Swap(IMUData_AngularVelocity* other) {
854  if (other == this) return;
855  if (GetArena() == other->GetArena()) {
856  InternalSwap(other);
857  } else {
858  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
859  }
860  }
861  void UnsafeArenaSwap(IMUData_AngularVelocity* other) {
862  if (other == this) return;
863  GOOGLE_DCHECK(GetArena() == other->GetArena());
864  InternalSwap(other);
865  }
866 
867  // implements Message ----------------------------------------------
868 
869  inline IMUData_AngularVelocity* New() const final {
870  return CreateMaybeMessage<IMUData_AngularVelocity>(nullptr);
871  }
872 
873  IMUData_AngularVelocity* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
874  return CreateMaybeMessage<IMUData_AngularVelocity>(arena);
875  }
876  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
877  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
878  void CopyFrom(const IMUData_AngularVelocity& from);
879  void MergeFrom(const IMUData_AngularVelocity& from);
880  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
881  bool IsInitialized() const final;
882 
883  size_t ByteSizeLong() const final;
884  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
885  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
886  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
887  int GetCachedSize() const final { return _cached_size_.Get(); }
888 
889  private:
890  inline void SharedCtor();
891  inline void SharedDtor();
892  void SetCachedSize(int size) const final;
893  void InternalSwap(IMUData_AngularVelocity* other);
894  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
895  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
896  return "jaiabot.protobuf.IMUData.AngularVelocity";
897  }
898  protected:
899  explicit IMUData_AngularVelocity(::PROTOBUF_NAMESPACE_ID::Arena* arena);
900  private:
901  static void ArenaDtor(void* object);
902  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
903  public:
904 
905  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
906  private:
907  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
908  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_jaiabot_2fmessages_2fimu_2eproto);
909  return ::descriptor_table_jaiabot_2fmessages_2fimu_2eproto.file_level_metadata[kIndexInFileMessages];
910  }
911 
912  public:
913 
914  // nested types ----------------------------------------------------
915 
916  // accessors -------------------------------------------------------
917 
918  enum : int {
919  kXFieldNumber = 1,
920  kYFieldNumber = 2,
921  kZFieldNumber = 3,
922  };
923  // optional double x = 1 [(.dccl.field) = {
924  bool has_x() const;
925  private:
926  bool _internal_has_x() const;
927  public:
928  void clear_x();
929  double x() const;
930  void set_x(double value);
931  private:
932  double _internal_x() const;
933  void _internal_set_x(double value);
934  public:
935 
936  // optional double y = 2 [(.dccl.field) = {
937  bool has_y() const;
938  private:
939  bool _internal_has_y() const;
940  public:
941  void clear_y();
942  double y() const;
943  void set_y(double value);
944  private:
945  double _internal_y() const;
946  void _internal_set_y(double value);
947  public:
948 
949  // optional double z = 3 [(.dccl.field) = {
950  bool has_z() const;
951  private:
952  bool _internal_has_z() const;
953  public:
954  void clear_z();
955  double z() const;
956  void set_z(double value);
957  private:
958  double _internal_z() const;
959  void _internal_set_z(double value);
960  public:
961 
962  typedef boost::units::angular_velocity_dimension x_dimension;
963 
964  typedef boost::units::unit<x_dimension,boost::units::si::system> x_unit;
965 
966  template<typename Quantity >
967  void set_x_with_units(Quantity value_w_units)
968  { set_x(boost::units::quantity<x_unit,double >(value_w_units).value() ); };
969 
970  template<typename Quantity >
971  Quantity x_with_units() const
972  { return Quantity(x() * x_unit()); };
973 
974  boost::units::quantity< x_unit,double > x_with_units() const
975  { return x_with_units<boost::units::quantity< x_unit,double > >(); };
976 
977  typedef boost::units::angular_velocity_dimension y_dimension;
978 
979  typedef boost::units::unit<y_dimension,boost::units::si::system> y_unit;
980 
981  template<typename Quantity >
982  void set_y_with_units(Quantity value_w_units)
983  { set_y(boost::units::quantity<y_unit,double >(value_w_units).value() ); };
984 
985  template<typename Quantity >
986  Quantity y_with_units() const
987  { return Quantity(y() * y_unit()); };
988 
989  boost::units::quantity< y_unit,double > y_with_units() const
990  { return y_with_units<boost::units::quantity< y_unit,double > >(); };
991 
992  typedef boost::units::angular_velocity_dimension z_dimension;
993 
994  typedef boost::units::unit<z_dimension,boost::units::si::system> z_unit;
995 
996  template<typename Quantity >
997  void set_z_with_units(Quantity value_w_units)
998  { set_z(boost::units::quantity<z_unit,double >(value_w_units).value() ); };
999 
1000  template<typename Quantity >
1001  Quantity z_with_units() const
1002  { return Quantity(z() * z_unit()); };
1003 
1004  boost::units::quantity< z_unit,double > z_with_units() const
1005  { return z_with_units<boost::units::quantity< z_unit,double > >(); };
1006 
1007  // @@protoc_insertion_point(class_scope:jaiabot.protobuf.IMUData.AngularVelocity)
1008  private:
1009  class _Internal;
1010 
1011  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
1012  typedef void InternalArenaConstructable_;
1013  typedef void DestructorSkippable_;
1014  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
1015  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
1016  double x_;
1017  double y_;
1018  double z_;
1019  friend struct ::TableStruct_jaiabot_2fmessages_2fimu_2eproto;
1020 };
1021 // -------------------------------------------------------------------
1022 
1023 class IMUData_Quaternion PROTOBUF_FINAL :
1024  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:jaiabot.protobuf.IMUData.Quaternion) */ {
1025  public:
1026  inline IMUData_Quaternion() : IMUData_Quaternion(nullptr) {};
1028 
1029  IMUData_Quaternion(const IMUData_Quaternion& from);
1030  IMUData_Quaternion(IMUData_Quaternion&& from) noexcept
1031  : IMUData_Quaternion() {
1032  *this = ::std::move(from);
1033  }
1034 
1035  inline IMUData_Quaternion& operator=(const IMUData_Quaternion& from) {
1036  CopyFrom(from);
1037  return *this;
1038  }
1039  inline IMUData_Quaternion& operator=(IMUData_Quaternion&& from) noexcept {
1040  if (GetArena() == from.GetArena()) {
1041  if (this != &from) InternalSwap(&from);
1042  } else {
1043  CopyFrom(from);
1044  }
1045  return *this;
1046  }
1047 
1048  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
1049  return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
1050  }
1051  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
1052  return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
1053  }
1054 
1055  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
1056  return GetDescriptor();
1057  }
1058  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
1059  return GetMetadataStatic().descriptor;
1060  }
1061  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
1062  return GetMetadataStatic().reflection;
1063  }
1064  static const IMUData_Quaternion& default_instance();
1065 
1066  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
1067  static inline const IMUData_Quaternion* internal_default_instance() {
1068  return reinterpret_cast<const IMUData_Quaternion*>(
1070  }
1071  static constexpr int kIndexInFileMessages =
1072  4;
1073 
1074  friend void swap(IMUData_Quaternion& a, IMUData_Quaternion& b) {
1075  a.Swap(&b);
1076  }
1077  inline void Swap(IMUData_Quaternion* other) {
1078  if (other == this) return;
1079  if (GetArena() == other->GetArena()) {
1080  InternalSwap(other);
1081  } else {
1082  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
1083  }
1084  }
1085  void UnsafeArenaSwap(IMUData_Quaternion* other) {
1086  if (other == this) return;
1087  GOOGLE_DCHECK(GetArena() == other->GetArena());
1088  InternalSwap(other);
1089  }
1090 
1091  // implements Message ----------------------------------------------
1092 
1093  inline IMUData_Quaternion* New() const final {
1094  return CreateMaybeMessage<IMUData_Quaternion>(nullptr);
1095  }
1096 
1097  IMUData_Quaternion* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
1098  return CreateMaybeMessage<IMUData_Quaternion>(arena);
1099  }
1100  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
1101  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
1102  void CopyFrom(const IMUData_Quaternion& from);
1103  void MergeFrom(const IMUData_Quaternion& from);
1104  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
1105  bool IsInitialized() const final;
1106 
1107  size_t ByteSizeLong() const final;
1108  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
1109  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
1110  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
1111  int GetCachedSize() const final { return _cached_size_.Get(); }
1112 
1113  private:
1114  inline void SharedCtor();
1115  inline void SharedDtor();
1116  void SetCachedSize(int size) const final;
1117  void InternalSwap(IMUData_Quaternion* other);
1118  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
1119  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
1120  return "jaiabot.protobuf.IMUData.Quaternion";
1121  }
1122  protected:
1123  explicit IMUData_Quaternion(::PROTOBUF_NAMESPACE_ID::Arena* arena);
1124  private:
1125  static void ArenaDtor(void* object);
1126  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
1127  public:
1128 
1129  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
1130  private:
1131  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
1132  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_jaiabot_2fmessages_2fimu_2eproto);
1133  return ::descriptor_table_jaiabot_2fmessages_2fimu_2eproto.file_level_metadata[kIndexInFileMessages];
1134  }
1135 
1136  public:
1137 
1138  // nested types ----------------------------------------------------
1139 
1140  // accessors -------------------------------------------------------
1141 
1142  enum : int {
1143  kWFieldNumber = 1,
1144  kXFieldNumber = 2,
1145  kYFieldNumber = 3,
1146  kZFieldNumber = 4,
1147  };
1148  // optional double w = 1;
1149  bool has_w() const;
1150  private:
1151  bool _internal_has_w() const;
1152  public:
1153  void clear_w();
1154  double w() const;
1155  void set_w(double value);
1156  private:
1157  double _internal_w() const;
1158  void _internal_set_w(double value);
1159  public:
1160 
1161  // optional double x = 2;
1162  bool has_x() const;
1163  private:
1164  bool _internal_has_x() const;
1165  public:
1166  void clear_x();
1167  double x() const;
1168  void set_x(double value);
1169  private:
1170  double _internal_x() const;
1171  void _internal_set_x(double value);
1172  public:
1173 
1174  // optional double y = 3;
1175  bool has_y() const;
1176  private:
1177  bool _internal_has_y() const;
1178  public:
1179  void clear_y();
1180  double y() const;
1181  void set_y(double value);
1182  private:
1183  double _internal_y() const;
1184  void _internal_set_y(double value);
1185  public:
1186 
1187  // optional double z = 4;
1188  bool has_z() const;
1189  private:
1190  bool _internal_has_z() const;
1191  public:
1192  void clear_z();
1193  double z() const;
1194  void set_z(double value);
1195  private:
1196  double _internal_z() const;
1197  void _internal_set_z(double value);
1198  public:
1199 
1200  // @@protoc_insertion_point(class_scope:jaiabot.protobuf.IMUData.Quaternion)
1201  private:
1202  class _Internal;
1203 
1204  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
1205  typedef void InternalArenaConstructable_;
1206  typedef void DestructorSkippable_;
1207  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
1208  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
1209  double w_;
1210  double x_;
1211  double y_;
1212  double z_;
1213  friend struct ::TableStruct_jaiabot_2fmessages_2fimu_2eproto;
1214 };
1215 // -------------------------------------------------------------------
1216 
1217 class IMUData PROTOBUF_FINAL :
1218  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:jaiabot.protobuf.IMUData) */ {
1219  public:
1220  inline IMUData() : IMUData(nullptr) {};
1221  virtual ~IMUData();
1222 
1223  IMUData(const IMUData& from);
1224  IMUData(IMUData&& from) noexcept
1225  : IMUData() {
1226  *this = ::std::move(from);
1227  }
1228 
1229  inline IMUData& operator=(const IMUData& from) {
1230  CopyFrom(from);
1231  return *this;
1232  }
1233  inline IMUData& operator=(IMUData&& from) noexcept {
1234  if (GetArena() == from.GetArena()) {
1235  if (this != &from) InternalSwap(&from);
1236  } else {
1237  CopyFrom(from);
1238  }
1239  return *this;
1240  }
1241 
1242  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
1243  return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
1244  }
1245  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
1246  return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
1247  }
1248 
1249  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
1250  return GetDescriptor();
1251  }
1252  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
1253  return GetMetadataStatic().descriptor;
1254  }
1255  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
1256  return GetMetadataStatic().reflection;
1257  }
1258  static const IMUData& default_instance();
1259 
1260  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
1261  static inline const IMUData* internal_default_instance() {
1262  return reinterpret_cast<const IMUData*>(
1264  }
1265  static constexpr int kIndexInFileMessages =
1266  5;
1267 
1268  friend void swap(IMUData& a, IMUData& b) {
1269  a.Swap(&b);
1270  }
1271  inline void Swap(IMUData* other) {
1272  if (other == this) return;
1273  if (GetArena() == other->GetArena()) {
1274  InternalSwap(other);
1275  } else {
1276  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
1277  }
1278  }
1279  void UnsafeArenaSwap(IMUData* other) {
1280  if (other == this) return;
1281  GOOGLE_DCHECK(GetArena() == other->GetArena());
1282  InternalSwap(other);
1283  }
1284 
1285  // implements Message ----------------------------------------------
1286 
1287  inline IMUData* New() const final {
1288  return CreateMaybeMessage<IMUData>(nullptr);
1289  }
1290 
1291  IMUData* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
1292  return CreateMaybeMessage<IMUData>(arena);
1293  }
1294  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
1295  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
1296  void CopyFrom(const IMUData& from);
1297  void MergeFrom(const IMUData& from);
1298  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
1299  bool IsInitialized() const final;
1300 
1301  size_t ByteSizeLong() const final;
1302  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
1303  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
1304  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
1305  int GetCachedSize() const final { return _cached_size_.Get(); }
1306 
1307  private:
1308  inline void SharedCtor();
1309  inline void SharedDtor();
1310  void SetCachedSize(int size) const final;
1311  void InternalSwap(IMUData* other);
1312  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
1313  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
1314  return "jaiabot.protobuf.IMUData";
1315  }
1316  protected:
1317  explicit IMUData(::PROTOBUF_NAMESPACE_ID::Arena* arena);
1318  private:
1319  static void ArenaDtor(void* object);
1320  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
1321  public:
1322 
1323  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
1324  private:
1325  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
1326  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_jaiabot_2fmessages_2fimu_2eproto);
1327  return ::descriptor_table_jaiabot_2fmessages_2fimu_2eproto.file_level_metadata[kIndexInFileMessages];
1328  }
1329 
1330  public:
1331 
1332  // nested types ----------------------------------------------------
1333 
1334  typedef IMUData_EulerAngles EulerAngles;
1335  typedef IMUData_Acceleration Acceleration;
1336  typedef IMUData_AngularVelocity AngularVelocity;
1337  typedef IMUData_Quaternion Quaternion;
1338 
1339  // accessors -------------------------------------------------------
1340 
1341  enum : int {
1342  kImuTypeFieldNumber = 11,
1343  kEulerAnglesFieldNumber = 1,
1344  kLinearAccelerationFieldNumber = 2,
1345  kGravityFieldNumber = 3,
1346  kAngularVelocityFieldNumber = 9,
1347  kQuaternionFieldNumber = 10,
1348  kCalibrationStatusFieldNumber = 4,
1349  kBotRolledOverFieldNumber = 6,
1350  kSignificantWaveHeightFieldNumber = 7,
1351  kMaxAccelerationFieldNumber = 8,
1352  kCalibrationStateFieldNumber = 5,
1353  };
1354  // optional string imu_type = 11;
1355  bool has_imu_type() const;
1356  private:
1357  bool _internal_has_imu_type() const;
1358  public:
1360  const std::string& imu_type() const;
1361  void set_imu_type(const std::string& value);
1362  void set_imu_type(std::string&& value);
1363  void set_imu_type(const char* value);
1364  void set_imu_type(const char* value, size_t size);
1365  std::string* mutable_imu_type();
1366  std::string* release_imu_type();
1367  void set_allocated_imu_type(std::string* imu_type);
1368  GOOGLE_PROTOBUF_RUNTIME_DEPRECATED("The unsafe_arena_ accessors for"
1369  " string fields are deprecated and will be removed in a"
1370  " future release.")
1371  std::string* unsafe_arena_release_imu_type();
1372  GOOGLE_PROTOBUF_RUNTIME_DEPRECATED("The unsafe_arena_ accessors for"
1373  " string fields are deprecated and will be removed in a"
1374  " future release.")
1375  void unsafe_arena_set_allocated_imu_type(
1376  std::string* imu_type);
1377  private:
1378  const std::string& _internal_imu_type() const;
1379  void _internal_set_imu_type(const std::string& value);
1380  std::string* _internal_mutable_imu_type();
1381  public:
1382 
1383  // optional .jaiabot.protobuf.IMUData.EulerAngles euler_angles = 1;
1384  bool has_euler_angles() const;
1385  private:
1386  bool _internal_has_euler_angles() const;
1387  public:
1388  void clear_euler_angles();
1389  const ::jaiabot::protobuf::IMUData_EulerAngles& euler_angles() const;
1390  ::jaiabot::protobuf::IMUData_EulerAngles* release_euler_angles();
1391  ::jaiabot::protobuf::IMUData_EulerAngles* mutable_euler_angles();
1392  void set_allocated_euler_angles(::jaiabot::protobuf::IMUData_EulerAngles* euler_angles);
1393  private:
1394  const ::jaiabot::protobuf::IMUData_EulerAngles& _internal_euler_angles() const;
1395  ::jaiabot::protobuf::IMUData_EulerAngles* _internal_mutable_euler_angles();
1396  public:
1397  void unsafe_arena_set_allocated_euler_angles(
1398  ::jaiabot::protobuf::IMUData_EulerAngles* euler_angles);
1399  ::jaiabot::protobuf::IMUData_EulerAngles* unsafe_arena_release_euler_angles();
1400 
1401  // optional .jaiabot.protobuf.IMUData.Acceleration linear_acceleration = 2;
1402  bool has_linear_acceleration() const;
1403  private:
1404  bool _internal_has_linear_acceleration() const;
1405  public:
1406  void clear_linear_acceleration();
1407  const ::jaiabot::protobuf::IMUData_Acceleration& linear_acceleration() const;
1408  ::jaiabot::protobuf::IMUData_Acceleration* release_linear_acceleration();
1409  ::jaiabot::protobuf::IMUData_Acceleration* mutable_linear_acceleration();
1410  void set_allocated_linear_acceleration(::jaiabot::protobuf::IMUData_Acceleration* linear_acceleration);
1411  private:
1412  const ::jaiabot::protobuf::IMUData_Acceleration& _internal_linear_acceleration() const;
1413  ::jaiabot::protobuf::IMUData_Acceleration* _internal_mutable_linear_acceleration();
1414  public:
1415  void unsafe_arena_set_allocated_linear_acceleration(
1416  ::jaiabot::protobuf::IMUData_Acceleration* linear_acceleration);
1417  ::jaiabot::protobuf::IMUData_Acceleration* unsafe_arena_release_linear_acceleration();
1418 
1419  // optional .jaiabot.protobuf.IMUData.Acceleration gravity = 3;
1420  bool has_gravity() const;
1421  private:
1422  bool _internal_has_gravity() const;
1423  public:
1424  void clear_gravity();
1425  const ::jaiabot::protobuf::IMUData_Acceleration& gravity() const;
1426  ::jaiabot::protobuf::IMUData_Acceleration* release_gravity();
1427  ::jaiabot::protobuf::IMUData_Acceleration* mutable_gravity();
1428  void set_allocated_gravity(::jaiabot::protobuf::IMUData_Acceleration* gravity);
1429  private:
1430  const ::jaiabot::protobuf::IMUData_Acceleration& _internal_gravity() const;
1431  ::jaiabot::protobuf::IMUData_Acceleration* _internal_mutable_gravity();
1432  public:
1433  void unsafe_arena_set_allocated_gravity(
1434  ::jaiabot::protobuf::IMUData_Acceleration* gravity);
1435  ::jaiabot::protobuf::IMUData_Acceleration* unsafe_arena_release_gravity();
1436 
1437  // optional .jaiabot.protobuf.IMUData.AngularVelocity angular_velocity = 9;
1438  bool has_angular_velocity() const;
1439  private:
1440  bool _internal_has_angular_velocity() const;
1441  public:
1442  void clear_angular_velocity();
1443  const ::jaiabot::protobuf::IMUData_AngularVelocity& angular_velocity() const;
1444  ::jaiabot::protobuf::IMUData_AngularVelocity* release_angular_velocity();
1445  ::jaiabot::protobuf::IMUData_AngularVelocity* mutable_angular_velocity();
1446  void set_allocated_angular_velocity(::jaiabot::protobuf::IMUData_AngularVelocity* angular_velocity);
1447  private:
1448  const ::jaiabot::protobuf::IMUData_AngularVelocity& _internal_angular_velocity() const;
1449  ::jaiabot::protobuf::IMUData_AngularVelocity* _internal_mutable_angular_velocity();
1450  public:
1451  void unsafe_arena_set_allocated_angular_velocity(
1452  ::jaiabot::protobuf::IMUData_AngularVelocity* angular_velocity);
1453  ::jaiabot::protobuf::IMUData_AngularVelocity* unsafe_arena_release_angular_velocity();
1454 
1455  // optional .jaiabot.protobuf.IMUData.Quaternion quaternion = 10;
1456  bool has_quaternion() const;
1457  private:
1458  bool _internal_has_quaternion() const;
1459  public:
1460  void clear_quaternion();
1461  const ::jaiabot::protobuf::IMUData_Quaternion& quaternion() const;
1462  ::jaiabot::protobuf::IMUData_Quaternion* release_quaternion();
1463  ::jaiabot::protobuf::IMUData_Quaternion* mutable_quaternion();
1464  void set_allocated_quaternion(::jaiabot::protobuf::IMUData_Quaternion* quaternion);
1465  private:
1466  const ::jaiabot::protobuf::IMUData_Quaternion& _internal_quaternion() const;
1467  ::jaiabot::protobuf::IMUData_Quaternion* _internal_mutable_quaternion();
1468  public:
1469  void unsafe_arena_set_allocated_quaternion(
1470  ::jaiabot::protobuf::IMUData_Quaternion* quaternion);
1471  ::jaiabot::protobuf::IMUData_Quaternion* unsafe_arena_release_quaternion();
1472 
1473  // optional int32 calibration_status = 4 [(.dccl.field) = {
1474  bool has_calibration_status() const;
1475  private:
1476  bool _internal_has_calibration_status() const;
1477  public:
1478  void clear_calibration_status();
1479  ::PROTOBUF_NAMESPACE_ID::int32 calibration_status() const;
1480  void set_calibration_status(::PROTOBUF_NAMESPACE_ID::int32 value);
1481  private:
1482  ::PROTOBUF_NAMESPACE_ID::int32 _internal_calibration_status() const;
1483  void _internal_set_calibration_status(::PROTOBUF_NAMESPACE_ID::int32 value);
1484  public:
1485 
1486  // optional bool bot_rolled_over = 6 [default = false];
1487  bool has_bot_rolled_over() const;
1488  private:
1489  bool _internal_has_bot_rolled_over() const;
1490  public:
1491  void clear_bot_rolled_over();
1492  bool bot_rolled_over() const;
1493  void set_bot_rolled_over(bool value);
1494  private:
1495  bool _internal_bot_rolled_over() const;
1496  void _internal_set_bot_rolled_over(bool value);
1497  public:
1498 
1499  // optional double significant_wave_height = 7 [(.dccl.field) = {
1500  bool has_significant_wave_height() const;
1501  private:
1502  bool _internal_has_significant_wave_height() const;
1503  public:
1504  void clear_significant_wave_height();
1505  double significant_wave_height() const;
1506  void set_significant_wave_height(double value);
1507  private:
1508  double _internal_significant_wave_height() const;
1509  void _internal_set_significant_wave_height(double value);
1510  public:
1511 
1512  // optional double max_acceleration = 8 [(.dccl.field) = {
1513  bool has_max_acceleration() const;
1514  private:
1515  bool _internal_has_max_acceleration() const;
1516  public:
1517  void clear_max_acceleration();
1518  double max_acceleration() const;
1519  void set_max_acceleration(double value);
1520  private:
1521  double _internal_max_acceleration() const;
1522  void _internal_set_max_acceleration(double value);
1523  public:
1524 
1525  // optional .jaiabot.protobuf.IMUCalibrationState calibration_state = 5;
1526  bool has_calibration_state() const;
1527  private:
1528  bool _internal_has_calibration_state() const;
1529  public:
1530  void clear_calibration_state();
1531  ::jaiabot::protobuf::IMUCalibrationState calibration_state() const;
1532  void set_calibration_state(::jaiabot::protobuf::IMUCalibrationState value);
1533  private:
1534  ::jaiabot::protobuf::IMUCalibrationState _internal_calibration_state() const;
1535  void _internal_set_calibration_state(::jaiabot::protobuf::IMUCalibrationState value);
1536  public:
1537 
1538  typedef boost::units::length_dimension significant_wave_height_dimension;
1539 
1541 
1542  template<typename Quantity >
1543  void set_significant_wave_height_with_units(Quantity value_w_units)
1544  { set_significant_wave_height(boost::units::quantity<significant_wave_height_unit,double >(value_w_units).value() ); };
1545 
1546  template<typename Quantity >
1548  { return Quantity(significant_wave_height() * significant_wave_height_unit()); };
1549 
1550  boost::units::quantity< significant_wave_height_unit,double > significant_wave_height_with_units() const
1551  { return significant_wave_height_with_units<boost::units::quantity< significant_wave_height_unit,double > >(); };
1552 
1553  typedef boost::units::acceleration_dimension max_acceleration_dimension;
1554 
1555  typedef boost::units::unit<max_acceleration_dimension,boost::units::si::system> max_acceleration_unit;
1556 
1557  template<typename Quantity >
1558  void set_max_acceleration_with_units(Quantity value_w_units)
1559  { set_max_acceleration(boost::units::quantity<max_acceleration_unit,double >(value_w_units).value() ); };
1560 
1561  template<typename Quantity >
1563  { return Quantity(max_acceleration() * max_acceleration_unit()); };
1564 
1565  boost::units::quantity< max_acceleration_unit,double > max_acceleration_with_units() const
1566  { return max_acceleration_with_units<boost::units::quantity< max_acceleration_unit,double > >(); };
1567 
1568  // @@protoc_insertion_point(class_scope:jaiabot.protobuf.IMUData)
1569  private:
1570  class _Internal;
1571 
1572  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
1573  typedef void InternalArenaConstructable_;
1574  typedef void DestructorSkippable_;
1575  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
1576  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
1577  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr imu_type_;
1578  ::jaiabot::protobuf::IMUData_EulerAngles* euler_angles_;
1579  ::jaiabot::protobuf::IMUData_Acceleration* linear_acceleration_;
1580  ::jaiabot::protobuf::IMUData_Acceleration* gravity_;
1581  ::jaiabot::protobuf::IMUData_AngularVelocity* angular_velocity_;
1582  ::jaiabot::protobuf::IMUData_Quaternion* quaternion_;
1583  ::PROTOBUF_NAMESPACE_ID::int32 calibration_status_;
1584  bool bot_rolled_over_;
1585  double significant_wave_height_;
1586  double max_acceleration_;
1587  int calibration_state_;
1588  friend struct ::TableStruct_jaiabot_2fmessages_2fimu_2eproto;
1589 };
1590 // -------------------------------------------------------------------
1591 
1592 class IMUIssue PROTOBUF_FINAL :
1593  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:jaiabot.protobuf.IMUIssue) */ {
1594  public:
1595  inline IMUIssue() : IMUIssue(nullptr) {};
1596  virtual ~IMUIssue();
1597 
1598  IMUIssue(const IMUIssue& from);
1599  IMUIssue(IMUIssue&& from) noexcept
1600  : IMUIssue() {
1601  *this = ::std::move(from);
1602  }
1603 
1604  inline IMUIssue& operator=(const IMUIssue& from) {
1605  CopyFrom(from);
1606  return *this;
1607  }
1608  inline IMUIssue& operator=(IMUIssue&& from) noexcept {
1609  if (GetArena() == from.GetArena()) {
1610  if (this != &from) InternalSwap(&from);
1611  } else {
1612  CopyFrom(from);
1613  }
1614  return *this;
1615  }
1616 
1617  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
1618  return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
1619  }
1620  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
1621  return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
1622  }
1623 
1624  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
1625  return GetDescriptor();
1626  }
1627  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
1628  return GetMetadataStatic().descriptor;
1629  }
1630  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
1631  return GetMetadataStatic().reflection;
1632  }
1633  static const IMUIssue& default_instance();
1634 
1635  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
1636  static inline const IMUIssue* internal_default_instance() {
1637  return reinterpret_cast<const IMUIssue*>(
1639  }
1640  static constexpr int kIndexInFileMessages =
1641  6;
1642 
1643  friend void swap(IMUIssue& a, IMUIssue& b) {
1644  a.Swap(&b);
1645  }
1646  inline void Swap(IMUIssue* other) {
1647  if (other == this) return;
1648  if (GetArena() == other->GetArena()) {
1649  InternalSwap(other);
1650  } else {
1651  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
1652  }
1653  }
1654  void UnsafeArenaSwap(IMUIssue* other) {
1655  if (other == this) return;
1656  GOOGLE_DCHECK(GetArena() == other->GetArena());
1657  InternalSwap(other);
1658  }
1659 
1660  // implements Message ----------------------------------------------
1661 
1662  inline IMUIssue* New() const final {
1663  return CreateMaybeMessage<IMUIssue>(nullptr);
1664  }
1665 
1666  IMUIssue* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
1667  return CreateMaybeMessage<IMUIssue>(arena);
1668  }
1669  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
1670  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
1671  void CopyFrom(const IMUIssue& from);
1672  void MergeFrom(const IMUIssue& from);
1673  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
1674  bool IsInitialized() const final;
1675 
1676  size_t ByteSizeLong() const final;
1677  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
1678  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
1679  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
1680  int GetCachedSize() const final { return _cached_size_.Get(); }
1681 
1682  private:
1683  inline void SharedCtor();
1684  inline void SharedDtor();
1685  void SetCachedSize(int size) const final;
1686  void InternalSwap(IMUIssue* other);
1687  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
1688  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
1689  return "jaiabot.protobuf.IMUIssue";
1690  }
1691  protected:
1692  explicit IMUIssue(::PROTOBUF_NAMESPACE_ID::Arena* arena);
1693  private:
1694  static void ArenaDtor(void* object);
1695  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
1696  public:
1697 
1698  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
1699  private:
1700  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
1701  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_jaiabot_2fmessages_2fimu_2eproto);
1702  return ::descriptor_table_jaiabot_2fmessages_2fimu_2eproto.file_level_metadata[kIndexInFileMessages];
1703  }
1704 
1705  public:
1706 
1707  // nested types ----------------------------------------------------
1708 
1710  static constexpr SolutionType STOP_BOT =
1712  static constexpr SolutionType USE_COG =
1714  static constexpr SolutionType USE_CORRECTION =
1716  static constexpr SolutionType RESTART_BOT =
1718  static constexpr SolutionType REBOOT_BOT =
1720  static constexpr SolutionType REPORT_IMU =
1722  static constexpr SolutionType RESTART_IMU_PY =
1724  static constexpr SolutionType REBOOT_BNO085_IMU =
1726  static constexpr SolutionType REBOOT_BNO085_IMU_AND_RESTART_IMU_PY =
1728  static inline bool SolutionType_IsValid(int value) {
1729  return IMUIssue_SolutionType_IsValid(value);
1730  }
1731  static constexpr SolutionType SolutionType_MIN =
1733  static constexpr SolutionType SolutionType_MAX =
1735  static constexpr int SolutionType_ARRAYSIZE =
1737  static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
1740  }
1741  template<typename T>
1742  static inline const std::string& SolutionType_Name(T enum_t_value) {
1743  static_assert(::std::is_same<T, SolutionType>::value ||
1744  ::std::is_integral<T>::value,
1745  "Incorrect type passed to function SolutionType_Name.");
1746  return IMUIssue_SolutionType_Name(enum_t_value);
1747  }
1748  static inline bool SolutionType_Parse(const std::string& name,
1749  SolutionType* value) {
1750  return IMUIssue_SolutionType_Parse(name, value);
1751  }
1752 
1754  static constexpr IssueType HEADING_COURSE_DIFFERENCE_TOO_LARGE =
1756  static inline bool IssueType_IsValid(int value) {
1757  return IMUIssue_IssueType_IsValid(value);
1758  }
1759  static constexpr IssueType IssueType_MIN =
1761  static constexpr IssueType IssueType_MAX =
1763  static constexpr int IssueType_ARRAYSIZE =
1765  static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
1768  }
1769  template<typename T>
1770  static inline const std::string& IssueType_Name(T enum_t_value) {
1771  static_assert(::std::is_same<T, IssueType>::value ||
1772  ::std::is_integral<T>::value,
1773  "Incorrect type passed to function IssueType_Name.");
1774  return IMUIssue_IssueType_Name(enum_t_value);
1775  }
1776  static inline bool IssueType_Parse(const std::string& name,
1777  IssueType* value) {
1778  return IMUIssue_IssueType_Parse(name, value);
1779  }
1780 
1781  // accessors -------------------------------------------------------
1782 
1783  enum : int {
1784  kSolutionFieldNumber = 1,
1785  kTypeFieldNumber = 2,
1786  kMissionStateFieldNumber = 3,
1787  kHeadingFieldNumber = 31,
1788  kDesiredHeadingFieldNumber = 32,
1789  kCourseOverGroundFieldNumber = 33,
1790  kHeadingCourseDifferenceFieldNumber = 34,
1791  kPitchFieldNumber = 35,
1792  kSpeedOverGroundFieldNumber = 36,
1793  kDesiredSpeedFieldNumber = 37,
1794  kImuHeadingCourseMaxDiffFieldNumber = 30,
1795  };
1796  // required .jaiabot.protobuf.IMUIssue.SolutionType solution = 1;
1797  bool has_solution() const;
1798  private:
1799  bool _internal_has_solution() const;
1800  public:
1804  private:
1805  ::jaiabot::protobuf::IMUIssue_SolutionType _internal_solution() const;
1806  void _internal_set_solution(::jaiabot::protobuf::IMUIssue_SolutionType value);
1807  public:
1808 
1809  // optional .jaiabot.protobuf.IMUIssue.IssueType type = 2;
1810  bool has_type() const;
1811  private:
1812  bool _internal_has_type() const;
1813  public:
1814  void clear_type();
1817  private:
1818  ::jaiabot::protobuf::IMUIssue_IssueType _internal_type() const;
1819  void _internal_set_type(::jaiabot::protobuf::IMUIssue_IssueType value);
1820  public:
1821 
1822  // optional .jaiabot.protobuf.MissionState mission_state = 3;
1823  bool has_mission_state() const;
1824  private:
1825  bool _internal_has_mission_state() const;
1826  public:
1830  private:
1831  ::jaiabot::protobuf::MissionState _internal_mission_state() const;
1832  void _internal_set_mission_state(::jaiabot::protobuf::MissionState value);
1833  public:
1834 
1835  // optional double heading = 31 [(.dccl.field) = {
1836  bool has_heading() const;
1837  private:
1838  bool _internal_has_heading() const;
1839  public:
1841  double heading() const;
1842  void set_heading(double value);
1843  private:
1844  double _internal_heading() const;
1845  void _internal_set_heading(double value);
1846  public:
1847 
1848  // optional double desired_heading = 32 [(.dccl.field) = {
1849  bool has_desired_heading() const;
1850  private:
1851  bool _internal_has_desired_heading() const;
1852  public:
1854  double desired_heading() const;
1855  void set_desired_heading(double value);
1856  private:
1857  double _internal_desired_heading() const;
1858  void _internal_set_desired_heading(double value);
1859  public:
1860 
1861  // optional double course_over_ground = 33 [(.dccl.field) = {
1863  private:
1864  bool _internal_has_course_over_ground() const;
1865  public:
1867  double course_over_ground() const;
1868  void set_course_over_ground(double value);
1869  private:
1870  double _internal_course_over_ground() const;
1871  void _internal_set_course_over_ground(double value);
1872  public:
1873 
1874  // optional double heading_course_difference = 34 [(.dccl.field) = {
1876  private:
1877  bool _internal_has_heading_course_difference() const;
1878  public:
1881  void set_heading_course_difference(double value);
1882  private:
1883  double _internal_heading_course_difference() const;
1884  void _internal_set_heading_course_difference(double value);
1885  public:
1886 
1887  // optional double pitch = 35 [(.dccl.field) = {
1888  bool has_pitch() const;
1889  private:
1890  bool _internal_has_pitch() const;
1891  public:
1892  void clear_pitch();
1893  double pitch() const;
1894  void set_pitch(double value);
1895  private:
1896  double _internal_pitch() const;
1897  void _internal_set_pitch(double value);
1898  public:
1899 
1900  // optional double speed_over_ground = 36 [(.dccl.field) = {
1902  private:
1903  bool _internal_has_speed_over_ground() const;
1904  public:
1906  double speed_over_ground() const;
1907  void set_speed_over_ground(double value);
1908  private:
1909  double _internal_speed_over_ground() const;
1910  void _internal_set_speed_over_ground(double value);
1911  public:
1912 
1913  // optional double desired_speed = 37 [(.dccl.field) = {
1914  bool has_desired_speed() const;
1915  private:
1916  bool _internal_has_desired_speed() const;
1917  public:
1919  double desired_speed() const;
1920  void set_desired_speed(double value);
1921  private:
1922  double _internal_desired_speed() const;
1923  void _internal_set_desired_speed(double value);
1924  public:
1925 
1926  // optional double imu_heading_course_max_diff = 30 [default = 45];
1928  private:
1929  bool _internal_has_imu_heading_course_max_diff() const;
1930  public:
1934  private:
1935  double _internal_imu_heading_course_max_diff() const;
1936  void _internal_set_imu_heading_course_max_diff(double value);
1937  public:
1938 
1939  typedef boost::units::plane_angle_dimension heading_dimension;
1940 
1941  typedef boost::units::unit<heading_dimension,boost::units::degree::system> heading_unit;
1942 
1943  template<typename Quantity >
1944  void set_heading_with_units(Quantity value_w_units)
1945  { set_heading(boost::units::quantity<heading_unit,double >(value_w_units).value() ); };
1946 
1947  template<typename Quantity >
1948  Quantity heading_with_units() const
1949  { return Quantity(heading() * heading_unit()); };
1950 
1951  boost::units::quantity< heading_unit,double > heading_with_units() const
1952  { return heading_with_units<boost::units::quantity< heading_unit,double > >(); };
1953 
1954  typedef boost::units::plane_angle_dimension desired_heading_dimension;
1955 
1956  typedef boost::units::unit<desired_heading_dimension,boost::units::degree::system> desired_heading_unit;
1957 
1958  template<typename Quantity >
1959  void set_desired_heading_with_units(Quantity value_w_units)
1960  { set_desired_heading(boost::units::quantity<desired_heading_unit,double >(value_w_units).value() ); };
1961 
1962  template<typename Quantity >
1964  { return Quantity(desired_heading() * desired_heading_unit()); };
1965 
1966  boost::units::quantity< desired_heading_unit,double > desired_heading_with_units() const
1967  { return desired_heading_with_units<boost::units::quantity< desired_heading_unit,double > >(); };
1968 
1969  typedef boost::units::plane_angle_dimension course_over_ground_dimension;
1970 
1971  typedef boost::units::unit<course_over_ground_dimension,boost::units::degree::system> course_over_ground_unit;
1972 
1973  template<typename Quantity >
1974  void set_course_over_ground_with_units(Quantity value_w_units)
1975  { set_course_over_ground(boost::units::quantity<course_over_ground_unit,double >(value_w_units).value() ); };
1976 
1977  template<typename Quantity >
1979  { return Quantity(course_over_ground() * course_over_ground_unit()); };
1980 
1981  boost::units::quantity< course_over_ground_unit,double > course_over_ground_with_units() const
1982  { return course_over_ground_with_units<boost::units::quantity< course_over_ground_unit,double > >(); };
1983 
1984  typedef boost::units::plane_angle_dimension heading_course_difference_dimension;
1985 
1986  typedef boost::units::unit<heading_course_difference_dimension,boost::units::degree::system> heading_course_difference_unit;
1987 
1988  template<typename Quantity >
1989  void set_heading_course_difference_with_units(Quantity value_w_units)
1990  { set_heading_course_difference(boost::units::quantity<heading_course_difference_unit,double >(value_w_units).value() ); };
1991 
1992  template<typename Quantity >
1994  { return Quantity(heading_course_difference() * heading_course_difference_unit()); };
1995 
1996  boost::units::quantity< heading_course_difference_unit,double > heading_course_difference_with_units() const
1997  { return heading_course_difference_with_units<boost::units::quantity< heading_course_difference_unit,double > >(); };
1998 
1999  typedef boost::units::plane_angle_dimension pitch_dimension;
2000 
2001  typedef boost::units::unit<pitch_dimension,boost::units::degree::system> pitch_unit;
2002 
2003  template<typename Quantity >
2004  void set_pitch_with_units(Quantity value_w_units)
2005  { set_pitch(boost::units::quantity<pitch_unit,double >(value_w_units).value() ); };
2006 
2007  template<typename Quantity >
2008  Quantity pitch_with_units() const
2009  { return Quantity(pitch() * pitch_unit()); };
2010 
2011  boost::units::quantity< pitch_unit,double > pitch_with_units() const
2012  { return pitch_with_units<boost::units::quantity< pitch_unit,double > >(); };
2013 
2014  typedef boost::units::velocity_dimension speed_over_ground_dimension;
2015 
2016  typedef boost::units::unit<speed_over_ground_dimension,boost::units::si::system> speed_over_ground_unit;
2017 
2018  template<typename Quantity >
2019  void set_speed_over_ground_with_units(Quantity value_w_units)
2020  { set_speed_over_ground(boost::units::quantity<speed_over_ground_unit,double >(value_w_units).value() ); };
2021 
2022  template<typename Quantity >
2024  { return Quantity(speed_over_ground() * speed_over_ground_unit()); };
2025 
2026  boost::units::quantity< speed_over_ground_unit,double > speed_over_ground_with_units() const
2027  { return speed_over_ground_with_units<boost::units::quantity< speed_over_ground_unit,double > >(); };
2028 
2029  typedef boost::units::velocity_dimension desired_speed_dimension;
2030 
2031  typedef boost::units::unit<desired_speed_dimension,boost::units::si::system> desired_speed_unit;
2032 
2033  template<typename Quantity >
2034  void set_desired_speed_with_units(Quantity value_w_units)
2035  { set_desired_speed(boost::units::quantity<desired_speed_unit,double >(value_w_units).value() ); };
2036 
2037  template<typename Quantity >
2038  Quantity desired_speed_with_units() const
2039  { return Quantity(desired_speed() * desired_speed_unit()); };
2040 
2041  boost::units::quantity< desired_speed_unit,double > desired_speed_with_units() const
2042  { return desired_speed_with_units<boost::units::quantity< desired_speed_unit,double > >(); };
2043 
2044  // @@protoc_insertion_point(class_scope:jaiabot.protobuf.IMUIssue)
2045  private:
2046  class _Internal;
2047 
2048  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
2049  typedef void InternalArenaConstructable_;
2050  typedef void DestructorSkippable_;
2051  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
2052  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
2053  int solution_;
2054  int type_;
2055  int mission_state_;
2056  double heading_;
2057  double desired_heading_;
2058  double course_over_ground_;
2059  double heading_course_difference_;
2060  double pitch_;
2061  double speed_over_ground_;
2062  double desired_speed_;
2063  double imu_heading_course_max_diff_;
2064  friend struct ::TableStruct_jaiabot_2fmessages_2fimu_2eproto;
2065 };
2066 // ===================================================================
2067 
2068 
2069 // ===================================================================
2070 
2071 #ifdef __GNUC__
2072  #pragma GCC diagnostic push
2073  #pragma GCC diagnostic ignored "-Wstrict-aliasing"
2074 #endif // __GNUC__
2075 // IMUCommand
2076 
2077 // required .jaiabot.protobuf.IMUCommand.IMUCommandType type = 1;
2078 inline bool IMUCommand::_internal_has_type() const {
2079  bool value = (_has_bits_[0] & 0x00000001u) != 0;
2080  return value;
2081 }
2082 inline bool IMUCommand::has_type() const {
2083  return _internal_has_type();
2084 }
2085 inline void IMUCommand::clear_type() {
2086  type_ = 0;
2087  _has_bits_[0] &= ~0x00000001u;
2088 }
2089 inline ::jaiabot::protobuf::IMUCommand_IMUCommandType IMUCommand::_internal_type() const {
2090  return static_cast< ::jaiabot::protobuf::IMUCommand_IMUCommandType >(type_);
2091 }
2093  // @@protoc_insertion_point(field_get:jaiabot.protobuf.IMUCommand.type)
2094  return _internal_type();
2095 }
2096 inline void IMUCommand::_internal_set_type(::jaiabot::protobuf::IMUCommand_IMUCommandType value) {
2098  _has_bits_[0] |= 0x00000001u;
2099  type_ = value;
2100 }
2101 inline void IMUCommand::set_type(::jaiabot::protobuf::IMUCommand_IMUCommandType value) {
2102  _internal_set_type(value);
2103  // @@protoc_insertion_point(field_set:jaiabot.protobuf.IMUCommand.type)
2104 }
2105 
2106 // -------------------------------------------------------------------
2107 
2108 // IMUData_EulerAngles
2109 
2110 // optional double heading = 1 [(.dccl.field) = {
2111 inline bool IMUData_EulerAngles::_internal_has_heading() const {
2112  bool value = (_has_bits_[0] & 0x00000001u) != 0;
2113  return value;
2114 }
2115 inline bool IMUData_EulerAngles::has_heading() const {
2116  return _internal_has_heading();
2117 }
2118 inline void IMUData_EulerAngles::clear_heading() {
2119  heading_ = 0;
2120  _has_bits_[0] &= ~0x00000001u;
2121 }
2122 inline double IMUData_EulerAngles::_internal_heading() const {
2123  return heading_;
2124 }
2125 inline double IMUData_EulerAngles::heading() const {
2126  // @@protoc_insertion_point(field_get:jaiabot.protobuf.IMUData.EulerAngles.heading)
2127  return _internal_heading();
2128 }
2129 inline void IMUData_EulerAngles::_internal_set_heading(double value) {
2130  _has_bits_[0] |= 0x00000001u;
2131  heading_ = value;
2132 }
2133 inline void IMUData_EulerAngles::set_heading(double value) {
2134  _internal_set_heading(value);
2135  // @@protoc_insertion_point(field_set:jaiabot.protobuf.IMUData.EulerAngles.heading)
2136 }
2137 
2138 // optional double pitch = 2 [(.dccl.field) = {
2139 inline bool IMUData_EulerAngles::_internal_has_pitch() const {
2140  bool value = (_has_bits_[0] & 0x00000002u) != 0;
2141  return value;
2142 }
2143 inline bool IMUData_EulerAngles::has_pitch() const {
2144  return _internal_has_pitch();
2145 }
2146 inline void IMUData_EulerAngles::clear_pitch() {
2147  pitch_ = 0;
2148  _has_bits_[0] &= ~0x00000002u;
2149 }
2150 inline double IMUData_EulerAngles::_internal_pitch() const {
2151  return pitch_;
2152 }
2153 inline double IMUData_EulerAngles::pitch() const {
2154  // @@protoc_insertion_point(field_get:jaiabot.protobuf.IMUData.EulerAngles.pitch)
2155  return _internal_pitch();
2156 }
2157 inline void IMUData_EulerAngles::_internal_set_pitch(double value) {
2158  _has_bits_[0] |= 0x00000002u;
2159  pitch_ = value;
2160 }
2161 inline void IMUData_EulerAngles::set_pitch(double value) {
2162  _internal_set_pitch(value);
2163  // @@protoc_insertion_point(field_set:jaiabot.protobuf.IMUData.EulerAngles.pitch)
2164 }
2165 
2166 // optional double roll = 3 [(.dccl.field) = {
2167 inline bool IMUData_EulerAngles::_internal_has_roll() const {
2168  bool value = (_has_bits_[0] & 0x00000004u) != 0;
2169  return value;
2170 }
2171 inline bool IMUData_EulerAngles::has_roll() const {
2172  return _internal_has_roll();
2173 }
2174 inline void IMUData_EulerAngles::clear_roll() {
2175  roll_ = 0;
2176  _has_bits_[0] &= ~0x00000004u;
2177 }
2178 inline double IMUData_EulerAngles::_internal_roll() const {
2179  return roll_;
2180 }
2181 inline double IMUData_EulerAngles::roll() const {
2182  // @@protoc_insertion_point(field_get:jaiabot.protobuf.IMUData.EulerAngles.roll)
2183  return _internal_roll();
2184 }
2185 inline void IMUData_EulerAngles::_internal_set_roll(double value) {
2186  _has_bits_[0] |= 0x00000004u;
2187  roll_ = value;
2188 }
2189 inline void IMUData_EulerAngles::set_roll(double value) {
2190  _internal_set_roll(value);
2191  // @@protoc_insertion_point(field_set:jaiabot.protobuf.IMUData.EulerAngles.roll)
2192 }
2193 
2194 // -------------------------------------------------------------------
2195 
2196 // IMUData_Acceleration
2197 
2198 // optional double x = 1;
2199 inline bool IMUData_Acceleration::_internal_has_x() const {
2200  bool value = (_has_bits_[0] & 0x00000001u) != 0;
2201  return value;
2202 }
2203 inline bool IMUData_Acceleration::has_x() const {
2204  return _internal_has_x();
2205 }
2206 inline void IMUData_Acceleration::clear_x() {
2207  x_ = 0;
2208  _has_bits_[0] &= ~0x00000001u;
2209 }
2210 inline double IMUData_Acceleration::_internal_x() const {
2211  return x_;
2212 }
2213 inline double IMUData_Acceleration::x() const {
2214  // @@protoc_insertion_point(field_get:jaiabot.protobuf.IMUData.Acceleration.x)
2215  return _internal_x();
2216 }
2217 inline void IMUData_Acceleration::_internal_set_x(double value) {
2218  _has_bits_[0] |= 0x00000001u;
2219  x_ = value;
2220 }
2221 inline void IMUData_Acceleration::set_x(double value) {
2222  _internal_set_x(value);
2223  // @@protoc_insertion_point(field_set:jaiabot.protobuf.IMUData.Acceleration.x)
2224 }
2225 
2226 // optional double y = 2;
2227 inline bool IMUData_Acceleration::_internal_has_y() const {
2228  bool value = (_has_bits_[0] & 0x00000002u) != 0;
2229  return value;
2230 }
2231 inline bool IMUData_Acceleration::has_y() const {
2232  return _internal_has_y();
2233 }
2234 inline void IMUData_Acceleration::clear_y() {
2235  y_ = 0;
2236  _has_bits_[0] &= ~0x00000002u;
2237 }
2238 inline double IMUData_Acceleration::_internal_y() const {
2239  return y_;
2240 }
2241 inline double IMUData_Acceleration::y() const {
2242  // @@protoc_insertion_point(field_get:jaiabot.protobuf.IMUData.Acceleration.y)
2243  return _internal_y();
2244 }
2245 inline void IMUData_Acceleration::_internal_set_y(double value) {
2246  _has_bits_[0] |= 0x00000002u;
2247  y_ = value;
2248 }
2249 inline void IMUData_Acceleration::set_y(double value) {
2250  _internal_set_y(value);
2251  // @@protoc_insertion_point(field_set:jaiabot.protobuf.IMUData.Acceleration.y)
2252 }
2253 
2254 // optional double z = 3;
2255 inline bool IMUData_Acceleration::_internal_has_z() const {
2256  bool value = (_has_bits_[0] & 0x00000004u) != 0;
2257  return value;
2258 }
2259 inline bool IMUData_Acceleration::has_z() const {
2260  return _internal_has_z();
2261 }
2262 inline void IMUData_Acceleration::clear_z() {
2263  z_ = 0;
2264  _has_bits_[0] &= ~0x00000004u;
2265 }
2266 inline double IMUData_Acceleration::_internal_z() const {
2267  return z_;
2268 }
2269 inline double IMUData_Acceleration::z() const {
2270  // @@protoc_insertion_point(field_get:jaiabot.protobuf.IMUData.Acceleration.z)
2271  return _internal_z();
2272 }
2273 inline void IMUData_Acceleration::_internal_set_z(double value) {
2274  _has_bits_[0] |= 0x00000004u;
2275  z_ = value;
2276 }
2277 inline void IMUData_Acceleration::set_z(double value) {
2278  _internal_set_z(value);
2279  // @@protoc_insertion_point(field_set:jaiabot.protobuf.IMUData.Acceleration.z)
2280 }
2281 
2282 // -------------------------------------------------------------------
2283 
2284 // IMUData_AngularVelocity
2285 
2286 // optional double x = 1 [(.dccl.field) = {
2287 inline bool IMUData_AngularVelocity::_internal_has_x() const {
2288  bool value = (_has_bits_[0] & 0x00000001u) != 0;
2289  return value;
2290 }
2291 inline bool IMUData_AngularVelocity::has_x() const {
2292  return _internal_has_x();
2293 }
2294 inline void IMUData_AngularVelocity::clear_x() {
2295  x_ = 0;
2296  _has_bits_[0] &= ~0x00000001u;
2297 }
2298 inline double IMUData_AngularVelocity::_internal_x() const {
2299  return x_;
2300 }
2301 inline double IMUData_AngularVelocity::x() const {
2302  // @@protoc_insertion_point(field_get:jaiabot.protobuf.IMUData.AngularVelocity.x)
2303  return _internal_x();
2304 }
2305 inline void IMUData_AngularVelocity::_internal_set_x(double value) {
2306  _has_bits_[0] |= 0x00000001u;
2307  x_ = value;
2308 }
2309 inline void IMUData_AngularVelocity::set_x(double value) {
2310  _internal_set_x(value);
2311  // @@protoc_insertion_point(field_set:jaiabot.protobuf.IMUData.AngularVelocity.x)
2312 }
2313 
2314 // optional double y = 2 [(.dccl.field) = {
2315 inline bool IMUData_AngularVelocity::_internal_has_y() const {
2316  bool value = (_has_bits_[0] & 0x00000002u) != 0;
2317  return value;
2318 }
2319 inline bool IMUData_AngularVelocity::has_y() const {
2320  return _internal_has_y();
2321 }
2322 inline void IMUData_AngularVelocity::clear_y() {
2323  y_ = 0;
2324  _has_bits_[0] &= ~0x00000002u;
2325 }
2326 inline double IMUData_AngularVelocity::_internal_y() const {
2327  return y_;
2328 }
2329 inline double IMUData_AngularVelocity::y() const {
2330  // @@protoc_insertion_point(field_get:jaiabot.protobuf.IMUData.AngularVelocity.y)
2331  return _internal_y();
2332 }
2333 inline void IMUData_AngularVelocity::_internal_set_y(double value) {
2334  _has_bits_[0] |= 0x00000002u;
2335  y_ = value;
2336 }
2337 inline void IMUData_AngularVelocity::set_y(double value) {
2338  _internal_set_y(value);
2339  // @@protoc_insertion_point(field_set:jaiabot.protobuf.IMUData.AngularVelocity.y)
2340 }
2341 
2342 // optional double z = 3 [(.dccl.field) = {
2343 inline bool IMUData_AngularVelocity::_internal_has_z() const {
2344  bool value = (_has_bits_[0] & 0x00000004u) != 0;
2345  return value;
2346 }
2347 inline bool IMUData_AngularVelocity::has_z() const {
2348  return _internal_has_z();
2349 }
2350 inline void IMUData_AngularVelocity::clear_z() {
2351  z_ = 0;
2352  _has_bits_[0] &= ~0x00000004u;
2353 }
2354 inline double IMUData_AngularVelocity::_internal_z() const {
2355  return z_;
2356 }
2357 inline double IMUData_AngularVelocity::z() const {
2358  // @@protoc_insertion_point(field_get:jaiabot.protobuf.IMUData.AngularVelocity.z)
2359  return _internal_z();
2360 }
2361 inline void IMUData_AngularVelocity::_internal_set_z(double value) {
2362  _has_bits_[0] |= 0x00000004u;
2363  z_ = value;
2364 }
2365 inline void IMUData_AngularVelocity::set_z(double value) {
2366  _internal_set_z(value);
2367  // @@protoc_insertion_point(field_set:jaiabot.protobuf.IMUData.AngularVelocity.z)
2368 }
2369 
2370 // -------------------------------------------------------------------
2371 
2372 // IMUData_Quaternion
2373 
2374 // optional double w = 1;
2375 inline bool IMUData_Quaternion::_internal_has_w() const {
2376  bool value = (_has_bits_[0] & 0x00000001u) != 0;
2377  return value;
2378 }
2379 inline bool IMUData_Quaternion::has_w() const {
2380  return _internal_has_w();
2381 }
2382 inline void IMUData_Quaternion::clear_w() {
2383  w_ = 0;
2384  _has_bits_[0] &= ~0x00000001u;
2385 }
2386 inline double IMUData_Quaternion::_internal_w() const {
2387  return w_;
2388 }
2389 inline double IMUData_Quaternion::w() const {
2390  // @@protoc_insertion_point(field_get:jaiabot.protobuf.IMUData.Quaternion.w)
2391  return _internal_w();
2392 }
2393 inline void IMUData_Quaternion::_internal_set_w(double value) {
2394  _has_bits_[0] |= 0x00000001u;
2395  w_ = value;
2396 }
2397 inline void IMUData_Quaternion::set_w(double value) {
2398  _internal_set_w(value);
2399  // @@protoc_insertion_point(field_set:jaiabot.protobuf.IMUData.Quaternion.w)
2400 }
2401 
2402 // optional double x = 2;
2403 inline bool IMUData_Quaternion::_internal_has_x() const {
2404  bool value = (_has_bits_[0] & 0x00000002u) != 0;
2405  return value;
2406 }
2407 inline bool IMUData_Quaternion::has_x() const {
2408  return _internal_has_x();
2409 }
2410 inline void IMUData_Quaternion::clear_x() {
2411  x_ = 0;
2412  _has_bits_[0] &= ~0x00000002u;
2413 }
2414 inline double IMUData_Quaternion::_internal_x() const {
2415  return x_;
2416 }
2417 inline double IMUData_Quaternion::x() const {
2418  // @@protoc_insertion_point(field_get:jaiabot.protobuf.IMUData.Quaternion.x)
2419  return _internal_x();
2420 }
2421 inline void IMUData_Quaternion::_internal_set_x(double value) {
2422  _has_bits_[0] |= 0x00000002u;
2423  x_ = value;
2424 }
2425 inline void IMUData_Quaternion::set_x(double value) {
2426  _internal_set_x(value);
2427  // @@protoc_insertion_point(field_set:jaiabot.protobuf.IMUData.Quaternion.x)
2428 }
2429 
2430 // optional double y = 3;
2431 inline bool IMUData_Quaternion::_internal_has_y() const {
2432  bool value = (_has_bits_[0] & 0x00000004u) != 0;
2433  return value;
2434 }
2435 inline bool IMUData_Quaternion::has_y() const {
2436  return _internal_has_y();
2437 }
2438 inline void IMUData_Quaternion::clear_y() {
2439  y_ = 0;
2440  _has_bits_[0] &= ~0x00000004u;
2441 }
2442 inline double IMUData_Quaternion::_internal_y() const {
2443  return y_;
2444 }
2445 inline double IMUData_Quaternion::y() const {
2446  // @@protoc_insertion_point(field_get:jaiabot.protobuf.IMUData.Quaternion.y)
2447  return _internal_y();
2448 }
2449 inline void IMUData_Quaternion::_internal_set_y(double value) {
2450  _has_bits_[0] |= 0x00000004u;
2451  y_ = value;
2452 }
2453 inline void IMUData_Quaternion::set_y(double value) {
2454  _internal_set_y(value);
2455  // @@protoc_insertion_point(field_set:jaiabot.protobuf.IMUData.Quaternion.y)
2456 }
2457 
2458 // optional double z = 4;
2459 inline bool IMUData_Quaternion::_internal_has_z() const {
2460  bool value = (_has_bits_[0] & 0x00000008u) != 0;
2461  return value;
2462 }
2463 inline bool IMUData_Quaternion::has_z() const {
2464  return _internal_has_z();
2465 }
2466 inline void IMUData_Quaternion::clear_z() {
2467  z_ = 0;
2468  _has_bits_[0] &= ~0x00000008u;
2469 }
2470 inline double IMUData_Quaternion::_internal_z() const {
2471  return z_;
2472 }
2473 inline double IMUData_Quaternion::z() const {
2474  // @@protoc_insertion_point(field_get:jaiabot.protobuf.IMUData.Quaternion.z)
2475  return _internal_z();
2476 }
2477 inline void IMUData_Quaternion::_internal_set_z(double value) {
2478  _has_bits_[0] |= 0x00000008u;
2479  z_ = value;
2480 }
2481 inline void IMUData_Quaternion::set_z(double value) {
2482  _internal_set_z(value);
2483  // @@protoc_insertion_point(field_set:jaiabot.protobuf.IMUData.Quaternion.z)
2484 }
2485 
2486 // -------------------------------------------------------------------
2487 
2488 // IMUData
2489 
2490 // optional .jaiabot.protobuf.IMUData.EulerAngles euler_angles = 1;
2491 inline bool IMUData::_internal_has_euler_angles() const {
2492  bool value = (_has_bits_[0] & 0x00000002u) != 0;
2493  PROTOBUF_ASSUME(!value || euler_angles_ != nullptr);
2494  return value;
2495 }
2496 inline bool IMUData::has_euler_angles() const {
2497  return _internal_has_euler_angles();
2498 }
2499 inline void IMUData::clear_euler_angles() {
2500  if (euler_angles_ != nullptr) euler_angles_->Clear();
2501  _has_bits_[0] &= ~0x00000002u;
2502 }
2503 inline const ::jaiabot::protobuf::IMUData_EulerAngles& IMUData::_internal_euler_angles() const {
2504  const ::jaiabot::protobuf::IMUData_EulerAngles* p = euler_angles_;
2505  return p != nullptr ? *p : *reinterpret_cast<const ::jaiabot::protobuf::IMUData_EulerAngles*>(
2507 }
2508 inline const ::jaiabot::protobuf::IMUData_EulerAngles& IMUData::euler_angles() const {
2509  // @@protoc_insertion_point(field_get:jaiabot.protobuf.IMUData.euler_angles)
2510  return _internal_euler_angles();
2511 }
2512 inline void IMUData::unsafe_arena_set_allocated_euler_angles(
2513  ::jaiabot::protobuf::IMUData_EulerAngles* euler_angles) {
2514  if (GetArena() == nullptr) {
2515  delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(euler_angles_);
2516  }
2517  euler_angles_ = euler_angles;
2518  if (euler_angles) {
2519  _has_bits_[0] |= 0x00000002u;
2520  } else {
2521  _has_bits_[0] &= ~0x00000002u;
2522  }
2523  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:jaiabot.protobuf.IMUData.euler_angles)
2524 }
2525 inline ::jaiabot::protobuf::IMUData_EulerAngles* IMUData::release_euler_angles() {
2526  auto temp = unsafe_arena_release_euler_angles();
2527  if (GetArena() != nullptr) {
2528  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
2529  }
2530  return temp;
2531 }
2532 inline ::jaiabot::protobuf::IMUData_EulerAngles* IMUData::unsafe_arena_release_euler_angles() {
2533  // @@protoc_insertion_point(field_release:jaiabot.protobuf.IMUData.euler_angles)
2534  _has_bits_[0] &= ~0x00000002u;
2535  ::jaiabot::protobuf::IMUData_EulerAngles* temp = euler_angles_;
2536  euler_angles_ = nullptr;
2537  return temp;
2538 }
2539 inline ::jaiabot::protobuf::IMUData_EulerAngles* IMUData::_internal_mutable_euler_angles() {
2540  _has_bits_[0] |= 0x00000002u;
2541  if (euler_angles_ == nullptr) {
2542  auto* p = CreateMaybeMessage<::jaiabot::protobuf::IMUData_EulerAngles>(GetArena());
2543  euler_angles_ = p;
2544  }
2545  return euler_angles_;
2546 }
2547 inline ::jaiabot::protobuf::IMUData_EulerAngles* IMUData::mutable_euler_angles() {
2548  // @@protoc_insertion_point(field_mutable:jaiabot.protobuf.IMUData.euler_angles)
2549  return _internal_mutable_euler_angles();
2550 }
2551 inline void IMUData::set_allocated_euler_angles(::jaiabot::protobuf::IMUData_EulerAngles* euler_angles) {
2552  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
2553  if (message_arena == nullptr) {
2554  delete euler_angles_;
2555  }
2556  if (euler_angles) {
2557  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
2558  ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(euler_angles);
2559  if (message_arena != submessage_arena) {
2560  euler_angles = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
2561  message_arena, euler_angles, submessage_arena);
2562  }
2563  _has_bits_[0] |= 0x00000002u;
2564  } else {
2565  _has_bits_[0] &= ~0x00000002u;
2566  }
2567  euler_angles_ = euler_angles;
2568  // @@protoc_insertion_point(field_set_allocated:jaiabot.protobuf.IMUData.euler_angles)
2569 }
2570 
2571 // optional .jaiabot.protobuf.IMUData.Acceleration linear_acceleration = 2;
2572 inline bool IMUData::_internal_has_linear_acceleration() const {
2573  bool value = (_has_bits_[0] & 0x00000004u) != 0;
2574  PROTOBUF_ASSUME(!value || linear_acceleration_ != nullptr);
2575  return value;
2576 }
2577 inline bool IMUData::has_linear_acceleration() const {
2578  return _internal_has_linear_acceleration();
2579 }
2580 inline void IMUData::clear_linear_acceleration() {
2581  if (linear_acceleration_ != nullptr) linear_acceleration_->Clear();
2582  _has_bits_[0] &= ~0x00000004u;
2583 }
2584 inline const ::jaiabot::protobuf::IMUData_Acceleration& IMUData::_internal_linear_acceleration() const {
2585  const ::jaiabot::protobuf::IMUData_Acceleration* p = linear_acceleration_;
2586  return p != nullptr ? *p : *reinterpret_cast<const ::jaiabot::protobuf::IMUData_Acceleration*>(
2588 }
2589 inline const ::jaiabot::protobuf::IMUData_Acceleration& IMUData::linear_acceleration() const {
2590  // @@protoc_insertion_point(field_get:jaiabot.protobuf.IMUData.linear_acceleration)
2591  return _internal_linear_acceleration();
2592 }
2593 inline void IMUData::unsafe_arena_set_allocated_linear_acceleration(
2594  ::jaiabot::protobuf::IMUData_Acceleration* linear_acceleration) {
2595  if (GetArena() == nullptr) {
2596  delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(linear_acceleration_);
2597  }
2598  linear_acceleration_ = linear_acceleration;
2599  if (linear_acceleration) {
2600  _has_bits_[0] |= 0x00000004u;
2601  } else {
2602  _has_bits_[0] &= ~0x00000004u;
2603  }
2604  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:jaiabot.protobuf.IMUData.linear_acceleration)
2605 }
2606 inline ::jaiabot::protobuf::IMUData_Acceleration* IMUData::release_linear_acceleration() {
2607  auto temp = unsafe_arena_release_linear_acceleration();
2608  if (GetArena() != nullptr) {
2609  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
2610  }
2611  return temp;
2612 }
2613 inline ::jaiabot::protobuf::IMUData_Acceleration* IMUData::unsafe_arena_release_linear_acceleration() {
2614  // @@protoc_insertion_point(field_release:jaiabot.protobuf.IMUData.linear_acceleration)
2615  _has_bits_[0] &= ~0x00000004u;
2616  ::jaiabot::protobuf::IMUData_Acceleration* temp = linear_acceleration_;
2617  linear_acceleration_ = nullptr;
2618  return temp;
2619 }
2620 inline ::jaiabot::protobuf::IMUData_Acceleration* IMUData::_internal_mutable_linear_acceleration() {
2621  _has_bits_[0] |= 0x00000004u;
2622  if (linear_acceleration_ == nullptr) {
2623  auto* p = CreateMaybeMessage<::jaiabot::protobuf::IMUData_Acceleration>(GetArena());
2624  linear_acceleration_ = p;
2625  }
2626  return linear_acceleration_;
2627 }
2628 inline ::jaiabot::protobuf::IMUData_Acceleration* IMUData::mutable_linear_acceleration() {
2629  // @@protoc_insertion_point(field_mutable:jaiabot.protobuf.IMUData.linear_acceleration)
2630  return _internal_mutable_linear_acceleration();
2631 }
2632 inline void IMUData::set_allocated_linear_acceleration(::jaiabot::protobuf::IMUData_Acceleration* linear_acceleration) {
2633  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
2634  if (message_arena == nullptr) {
2635  delete linear_acceleration_;
2636  }
2637  if (linear_acceleration) {
2638  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
2639  ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(linear_acceleration);
2640  if (message_arena != submessage_arena) {
2641  linear_acceleration = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
2642  message_arena, linear_acceleration, submessage_arena);
2643  }
2644  _has_bits_[0] |= 0x00000004u;
2645  } else {
2646  _has_bits_[0] &= ~0x00000004u;
2647  }
2648  linear_acceleration_ = linear_acceleration;
2649  // @@protoc_insertion_point(field_set_allocated:jaiabot.protobuf.IMUData.linear_acceleration)
2650 }
2651 
2652 // optional .jaiabot.protobuf.IMUData.Acceleration gravity = 3;
2653 inline bool IMUData::_internal_has_gravity() const {
2654  bool value = (_has_bits_[0] & 0x00000008u) != 0;
2655  PROTOBUF_ASSUME(!value || gravity_ != nullptr);
2656  return value;
2657 }
2658 inline bool IMUData::has_gravity() const {
2659  return _internal_has_gravity();
2660 }
2661 inline void IMUData::clear_gravity() {
2662  if (gravity_ != nullptr) gravity_->Clear();
2663  _has_bits_[0] &= ~0x00000008u;
2664 }
2665 inline const ::jaiabot::protobuf::IMUData_Acceleration& IMUData::_internal_gravity() const {
2666  const ::jaiabot::protobuf::IMUData_Acceleration* p = gravity_;
2667  return p != nullptr ? *p : *reinterpret_cast<const ::jaiabot::protobuf::IMUData_Acceleration*>(
2669 }
2670 inline const ::jaiabot::protobuf::IMUData_Acceleration& IMUData::gravity() const {
2671  // @@protoc_insertion_point(field_get:jaiabot.protobuf.IMUData.gravity)
2672  return _internal_gravity();
2673 }
2674 inline void IMUData::unsafe_arena_set_allocated_gravity(
2675  ::jaiabot::protobuf::IMUData_Acceleration* gravity) {
2676  if (GetArena() == nullptr) {
2677  delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(gravity_);
2678  }
2679  gravity_ = gravity;
2680  if (gravity) {
2681  _has_bits_[0] |= 0x00000008u;
2682  } else {
2683  _has_bits_[0] &= ~0x00000008u;
2684  }
2685  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:jaiabot.protobuf.IMUData.gravity)
2686 }
2687 inline ::jaiabot::protobuf::IMUData_Acceleration* IMUData::release_gravity() {
2688  auto temp = unsafe_arena_release_gravity();
2689  if (GetArena() != nullptr) {
2690  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
2691  }
2692  return temp;
2693 }
2694 inline ::jaiabot::protobuf::IMUData_Acceleration* IMUData::unsafe_arena_release_gravity() {
2695  // @@protoc_insertion_point(field_release:jaiabot.protobuf.IMUData.gravity)
2696  _has_bits_[0] &= ~0x00000008u;
2697  ::jaiabot::protobuf::IMUData_Acceleration* temp = gravity_;
2698  gravity_ = nullptr;
2699  return temp;
2700 }
2701 inline ::jaiabot::protobuf::IMUData_Acceleration* IMUData::_internal_mutable_gravity() {
2702  _has_bits_[0] |= 0x00000008u;
2703  if (gravity_ == nullptr) {
2704  auto* p = CreateMaybeMessage<::jaiabot::protobuf::IMUData_Acceleration>(GetArena());
2705  gravity_ = p;
2706  }
2707  return gravity_;
2708 }
2709 inline ::jaiabot::protobuf::IMUData_Acceleration* IMUData::mutable_gravity() {
2710  // @@protoc_insertion_point(field_mutable:jaiabot.protobuf.IMUData.gravity)
2711  return _internal_mutable_gravity();
2712 }
2713 inline void IMUData::set_allocated_gravity(::jaiabot::protobuf::IMUData_Acceleration* gravity) {
2714  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
2715  if (message_arena == nullptr) {
2716  delete gravity_;
2717  }
2718  if (gravity) {
2719  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
2720  ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(gravity);
2721  if (message_arena != submessage_arena) {
2722  gravity = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
2723  message_arena, gravity, submessage_arena);
2724  }
2725  _has_bits_[0] |= 0x00000008u;
2726  } else {
2727  _has_bits_[0] &= ~0x00000008u;
2728  }
2729  gravity_ = gravity;
2730  // @@protoc_insertion_point(field_set_allocated:jaiabot.protobuf.IMUData.gravity)
2731 }
2732 
2733 // optional int32 calibration_status = 4 [(.dccl.field) = {
2734 inline bool IMUData::_internal_has_calibration_status() const {
2735  bool value = (_has_bits_[0] & 0x00000040u) != 0;
2736  return value;
2737 }
2738 inline bool IMUData::has_calibration_status() const {
2739  return _internal_has_calibration_status();
2740 }
2741 inline void IMUData::clear_calibration_status() {
2742  calibration_status_ = 0;
2743  _has_bits_[0] &= ~0x00000040u;
2744 }
2745 inline ::PROTOBUF_NAMESPACE_ID::int32 IMUData::_internal_calibration_status() const {
2746  return calibration_status_;
2747 }
2748 inline ::PROTOBUF_NAMESPACE_ID::int32 IMUData::calibration_status() const {
2749  // @@protoc_insertion_point(field_get:jaiabot.protobuf.IMUData.calibration_status)
2750  return _internal_calibration_status();
2751 }
2752 inline void IMUData::_internal_set_calibration_status(::PROTOBUF_NAMESPACE_ID::int32 value) {
2753  _has_bits_[0] |= 0x00000040u;
2754  calibration_status_ = value;
2755 }
2756 inline void IMUData::set_calibration_status(::PROTOBUF_NAMESPACE_ID::int32 value) {
2757  _internal_set_calibration_status(value);
2758  // @@protoc_insertion_point(field_set:jaiabot.protobuf.IMUData.calibration_status)
2759 }
2760 
2761 // optional .jaiabot.protobuf.IMUCalibrationState calibration_state = 5;
2762 inline bool IMUData::_internal_has_calibration_state() const {
2763  bool value = (_has_bits_[0] & 0x00000400u) != 0;
2764  return value;
2765 }
2766 inline bool IMUData::has_calibration_state() const {
2767  return _internal_has_calibration_state();
2768 }
2769 inline void IMUData::clear_calibration_state() {
2770  calibration_state_ = 1;
2771  _has_bits_[0] &= ~0x00000400u;
2772 }
2773 inline ::jaiabot::protobuf::IMUCalibrationState IMUData::_internal_calibration_state() const {
2774  return static_cast< ::jaiabot::protobuf::IMUCalibrationState >(calibration_state_);
2775 }
2776 inline ::jaiabot::protobuf::IMUCalibrationState IMUData::calibration_state() const {
2777  // @@protoc_insertion_point(field_get:jaiabot.protobuf.IMUData.calibration_state)
2778  return _internal_calibration_state();
2779 }
2780 inline void IMUData::_internal_set_calibration_state(::jaiabot::protobuf::IMUCalibrationState value) {
2782  _has_bits_[0] |= 0x00000400u;
2783  calibration_state_ = value;
2784 }
2785 inline void IMUData::set_calibration_state(::jaiabot::protobuf::IMUCalibrationState value) {
2786  _internal_set_calibration_state(value);
2787  // @@protoc_insertion_point(field_set:jaiabot.protobuf.IMUData.calibration_state)
2788 }
2789 
2790 // optional bool bot_rolled_over = 6 [default = false];
2791 inline bool IMUData::_internal_has_bot_rolled_over() const {
2792  bool value = (_has_bits_[0] & 0x00000080u) != 0;
2793  return value;
2794 }
2795 inline bool IMUData::has_bot_rolled_over() const {
2796  return _internal_has_bot_rolled_over();
2797 }
2798 inline void IMUData::clear_bot_rolled_over() {
2799  bot_rolled_over_ = false;
2800  _has_bits_[0] &= ~0x00000080u;
2801 }
2802 inline bool IMUData::_internal_bot_rolled_over() const {
2803  return bot_rolled_over_;
2804 }
2805 inline bool IMUData::bot_rolled_over() const {
2806  // @@protoc_insertion_point(field_get:jaiabot.protobuf.IMUData.bot_rolled_over)
2807  return _internal_bot_rolled_over();
2808 }
2809 inline void IMUData::_internal_set_bot_rolled_over(bool value) {
2810  _has_bits_[0] |= 0x00000080u;
2811  bot_rolled_over_ = value;
2812 }
2813 inline void IMUData::set_bot_rolled_over(bool value) {
2814  _internal_set_bot_rolled_over(value);
2815  // @@protoc_insertion_point(field_set:jaiabot.protobuf.IMUData.bot_rolled_over)
2816 }
2817 
2818 // optional double significant_wave_height = 7 [(.dccl.field) = {
2819 inline bool IMUData::_internal_has_significant_wave_height() const {
2820  bool value = (_has_bits_[0] & 0x00000100u) != 0;
2821  return value;
2822 }
2823 inline bool IMUData::has_significant_wave_height() const {
2824  return _internal_has_significant_wave_height();
2825 }
2826 inline void IMUData::clear_significant_wave_height() {
2827  significant_wave_height_ = 0;
2828  _has_bits_[0] &= ~0x00000100u;
2829 }
2830 inline double IMUData::_internal_significant_wave_height() const {
2831  return significant_wave_height_;
2832 }
2833 inline double IMUData::significant_wave_height() const {
2834  // @@protoc_insertion_point(field_get:jaiabot.protobuf.IMUData.significant_wave_height)
2835  return _internal_significant_wave_height();
2836 }
2837 inline void IMUData::_internal_set_significant_wave_height(double value) {
2838  _has_bits_[0] |= 0x00000100u;
2839  significant_wave_height_ = value;
2840 }
2841 inline void IMUData::set_significant_wave_height(double value) {
2842  _internal_set_significant_wave_height(value);
2843  // @@protoc_insertion_point(field_set:jaiabot.protobuf.IMUData.significant_wave_height)
2844 }
2845 
2846 // optional double max_acceleration = 8 [(.dccl.field) = {
2847 inline bool IMUData::_internal_has_max_acceleration() const {
2848  bool value = (_has_bits_[0] & 0x00000200u) != 0;
2849  return value;
2850 }
2851 inline bool IMUData::has_max_acceleration() const {
2852  return _internal_has_max_acceleration();
2853 }
2854 inline void IMUData::clear_max_acceleration() {
2855  max_acceleration_ = 0;
2856  _has_bits_[0] &= ~0x00000200u;
2857 }
2858 inline double IMUData::_internal_max_acceleration() const {
2859  return max_acceleration_;
2860 }
2861 inline double IMUData::max_acceleration() const {
2862  // @@protoc_insertion_point(field_get:jaiabot.protobuf.IMUData.max_acceleration)
2863  return _internal_max_acceleration();
2864 }
2865 inline void IMUData::_internal_set_max_acceleration(double value) {
2866  _has_bits_[0] |= 0x00000200u;
2867  max_acceleration_ = value;
2868 }
2869 inline void IMUData::set_max_acceleration(double value) {
2870  _internal_set_max_acceleration(value);
2871  // @@protoc_insertion_point(field_set:jaiabot.protobuf.IMUData.max_acceleration)
2872 }
2873 
2874 // optional .jaiabot.protobuf.IMUData.AngularVelocity angular_velocity = 9;
2875 inline bool IMUData::_internal_has_angular_velocity() const {
2876  bool value = (_has_bits_[0] & 0x00000010u) != 0;
2877  PROTOBUF_ASSUME(!value || angular_velocity_ != nullptr);
2878  return value;
2879 }
2880 inline bool IMUData::has_angular_velocity() const {
2881  return _internal_has_angular_velocity();
2882 }
2883 inline void IMUData::clear_angular_velocity() {
2884  if (angular_velocity_ != nullptr) angular_velocity_->Clear();
2885  _has_bits_[0] &= ~0x00000010u;
2886 }
2887 inline const ::jaiabot::protobuf::IMUData_AngularVelocity& IMUData::_internal_angular_velocity() const {
2888  const ::jaiabot::protobuf::IMUData_AngularVelocity* p = angular_velocity_;
2889  return p != nullptr ? *p : *reinterpret_cast<const ::jaiabot::protobuf::IMUData_AngularVelocity*>(
2891 }
2892 inline const ::jaiabot::protobuf::IMUData_AngularVelocity& IMUData::angular_velocity() const {
2893  // @@protoc_insertion_point(field_get:jaiabot.protobuf.IMUData.angular_velocity)
2894  return _internal_angular_velocity();
2895 }
2896 inline void IMUData::unsafe_arena_set_allocated_angular_velocity(
2897  ::jaiabot::protobuf::IMUData_AngularVelocity* angular_velocity) {
2898  if (GetArena() == nullptr) {
2899  delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(angular_velocity_);
2900  }
2901  angular_velocity_ = angular_velocity;
2902  if (angular_velocity) {
2903  _has_bits_[0] |= 0x00000010u;
2904  } else {
2905  _has_bits_[0] &= ~0x00000010u;
2906  }
2907  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:jaiabot.protobuf.IMUData.angular_velocity)
2908 }
2909 inline ::jaiabot::protobuf::IMUData_AngularVelocity* IMUData::release_angular_velocity() {
2910  auto temp = unsafe_arena_release_angular_velocity();
2911  if (GetArena() != nullptr) {
2912  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
2913  }
2914  return temp;
2915 }
2916 inline ::jaiabot::protobuf::IMUData_AngularVelocity* IMUData::unsafe_arena_release_angular_velocity() {
2917  // @@protoc_insertion_point(field_release:jaiabot.protobuf.IMUData.angular_velocity)
2918  _has_bits_[0] &= ~0x00000010u;
2919  ::jaiabot::protobuf::IMUData_AngularVelocity* temp = angular_velocity_;
2920  angular_velocity_ = nullptr;
2921  return temp;
2922 }
2923 inline ::jaiabot::protobuf::IMUData_AngularVelocity* IMUData::_internal_mutable_angular_velocity() {
2924  _has_bits_[0] |= 0x00000010u;
2925  if (angular_velocity_ == nullptr) {
2926  auto* p = CreateMaybeMessage<::jaiabot::protobuf::IMUData_AngularVelocity>(GetArena());
2927  angular_velocity_ = p;
2928  }
2929  return angular_velocity_;
2930 }
2931 inline ::jaiabot::protobuf::IMUData_AngularVelocity* IMUData::mutable_angular_velocity() {
2932  // @@protoc_insertion_point(field_mutable:jaiabot.protobuf.IMUData.angular_velocity)
2933  return _internal_mutable_angular_velocity();
2934 }
2935 inline void IMUData::set_allocated_angular_velocity(::jaiabot::protobuf::IMUData_AngularVelocity* angular_velocity) {
2936  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
2937  if (message_arena == nullptr) {
2938  delete angular_velocity_;
2939  }
2940  if (angular_velocity) {
2941  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
2942  ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(angular_velocity);
2943  if (message_arena != submessage_arena) {
2944  angular_velocity = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
2945  message_arena, angular_velocity, submessage_arena);
2946  }
2947  _has_bits_[0] |= 0x00000010u;
2948  } else {
2949  _has_bits_[0] &= ~0x00000010u;
2950  }
2951  angular_velocity_ = angular_velocity;
2952  // @@protoc_insertion_point(field_set_allocated:jaiabot.protobuf.IMUData.angular_velocity)
2953 }
2954 
2955 // optional .jaiabot.protobuf.IMUData.Quaternion quaternion = 10;
2956 inline bool IMUData::_internal_has_quaternion() const {
2957  bool value = (_has_bits_[0] & 0x00000020u) != 0;
2958  PROTOBUF_ASSUME(!value || quaternion_ != nullptr);
2959  return value;
2960 }
2961 inline bool IMUData::has_quaternion() const {
2962  return _internal_has_quaternion();
2963 }
2964 inline void IMUData::clear_quaternion() {
2965  if (quaternion_ != nullptr) quaternion_->Clear();
2966  _has_bits_[0] &= ~0x00000020u;
2967 }
2968 inline const ::jaiabot::protobuf::IMUData_Quaternion& IMUData::_internal_quaternion() const {
2969  const ::jaiabot::protobuf::IMUData_Quaternion* p = quaternion_;
2970  return p != nullptr ? *p : *reinterpret_cast<const ::jaiabot::protobuf::IMUData_Quaternion*>(
2972 }
2973 inline const ::jaiabot::protobuf::IMUData_Quaternion& IMUData::quaternion() const {
2974  // @@protoc_insertion_point(field_get:jaiabot.protobuf.IMUData.quaternion)
2975  return _internal_quaternion();
2976 }
2977 inline void IMUData::unsafe_arena_set_allocated_quaternion(
2978  ::jaiabot::protobuf::IMUData_Quaternion* quaternion) {
2979  if (GetArena() == nullptr) {
2980  delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(quaternion_);
2981  }
2982  quaternion_ = quaternion;
2983  if (quaternion) {
2984  _has_bits_[0] |= 0x00000020u;
2985  } else {
2986  _has_bits_[0] &= ~0x00000020u;
2987  }
2988  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:jaiabot.protobuf.IMUData.quaternion)
2989 }
2990 inline ::jaiabot::protobuf::IMUData_Quaternion* IMUData::release_quaternion() {
2991  auto temp = unsafe_arena_release_quaternion();
2992  if (GetArena() != nullptr) {
2993  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
2994  }
2995  return temp;
2996 }
2997 inline ::jaiabot::protobuf::IMUData_Quaternion* IMUData::unsafe_arena_release_quaternion() {
2998  // @@protoc_insertion_point(field_release:jaiabot.protobuf.IMUData.quaternion)
2999  _has_bits_[0] &= ~0x00000020u;
3000  ::jaiabot::protobuf::IMUData_Quaternion* temp = quaternion_;
3001  quaternion_ = nullptr;
3002  return temp;
3003 }
3004 inline ::jaiabot::protobuf::IMUData_Quaternion* IMUData::_internal_mutable_quaternion() {
3005  _has_bits_[0] |= 0x00000020u;
3006  if (quaternion_ == nullptr) {
3007  auto* p = CreateMaybeMessage<::jaiabot::protobuf::IMUData_Quaternion>(GetArena());
3008  quaternion_ = p;
3009  }
3010  return quaternion_;
3011 }
3012 inline ::jaiabot::protobuf::IMUData_Quaternion* IMUData::mutable_quaternion() {
3013  // @@protoc_insertion_point(field_mutable:jaiabot.protobuf.IMUData.quaternion)
3014  return _internal_mutable_quaternion();
3015 }
3016 inline void IMUData::set_allocated_quaternion(::jaiabot::protobuf::IMUData_Quaternion* quaternion) {
3017  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
3018  if (message_arena == nullptr) {
3019  delete quaternion_;
3020  }
3021  if (quaternion) {
3022  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
3023  ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(quaternion);
3024  if (message_arena != submessage_arena) {
3025  quaternion = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
3026  message_arena, quaternion, submessage_arena);
3027  }
3028  _has_bits_[0] |= 0x00000020u;
3029  } else {
3030  _has_bits_[0] &= ~0x00000020u;
3031  }
3032  quaternion_ = quaternion;
3033  // @@protoc_insertion_point(field_set_allocated:jaiabot.protobuf.IMUData.quaternion)
3034 }
3035 
3036 // optional string imu_type = 11;
3037 inline bool IMUData::_internal_has_imu_type() const {
3038  bool value = (_has_bits_[0] & 0x00000001u) != 0;
3039  return value;
3040 }
3041 inline bool IMUData::has_imu_type() const {
3042  return _internal_has_imu_type();
3043 }
3044 inline void IMUData::clear_imu_type() {
3045  imu_type_.ClearToEmpty(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
3046  _has_bits_[0] &= ~0x00000001u;
3047 }
3048 inline const std::string& IMUData::imu_type() const {
3049  // @@protoc_insertion_point(field_get:jaiabot.protobuf.IMUData.imu_type)
3050  return _internal_imu_type();
3051 }
3052 inline void IMUData::set_imu_type(const std::string& value) {
3053  _internal_set_imu_type(value);
3054  // @@protoc_insertion_point(field_set:jaiabot.protobuf.IMUData.imu_type)
3055 }
3056 inline std::string* IMUData::mutable_imu_type() {
3057  // @@protoc_insertion_point(field_mutable:jaiabot.protobuf.IMUData.imu_type)
3058  return _internal_mutable_imu_type();
3059 }
3060 inline const std::string& IMUData::_internal_imu_type() const {
3061  return imu_type_.Get();
3062 }
3063 inline void IMUData::_internal_set_imu_type(const std::string& value) {
3064  _has_bits_[0] |= 0x00000001u;
3065  imu_type_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), value, GetArena());
3066 }
3067 inline void IMUData::set_imu_type(std::string&& value) {
3068  _has_bits_[0] |= 0x00000001u;
3069  imu_type_.Set(
3070  &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::move(value), GetArena());
3071  // @@protoc_insertion_point(field_set_rvalue:jaiabot.protobuf.IMUData.imu_type)
3072 }
3073 inline void IMUData::set_imu_type(const char* value) {
3074  GOOGLE_DCHECK(value != nullptr);
3075  _has_bits_[0] |= 0x00000001u;
3076  imu_type_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(value),
3077  GetArena());
3078  // @@protoc_insertion_point(field_set_char:jaiabot.protobuf.IMUData.imu_type)
3079 }
3080 inline void IMUData::set_imu_type(const char* value,
3081  size_t size) {
3082  _has_bits_[0] |= 0x00000001u;
3083  imu_type_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(
3084  reinterpret_cast<const char*>(value), size), GetArena());
3085  // @@protoc_insertion_point(field_set_pointer:jaiabot.protobuf.IMUData.imu_type)
3086 }
3087 inline std::string* IMUData::_internal_mutable_imu_type() {
3088  _has_bits_[0] |= 0x00000001u;
3089  return imu_type_.Mutable(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
3090 }
3091 inline std::string* IMUData::release_imu_type() {
3092  // @@protoc_insertion_point(field_release:jaiabot.protobuf.IMUData.imu_type)
3093  if (!_internal_has_imu_type()) {
3094  return nullptr;
3095  }
3096  _has_bits_[0] &= ~0x00000001u;
3097  return imu_type_.ReleaseNonDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
3098 }
3099 inline void IMUData::set_allocated_imu_type(std::string* imu_type) {
3100  if (imu_type != nullptr) {
3101  _has_bits_[0] |= 0x00000001u;
3102  } else {
3103  _has_bits_[0] &= ~0x00000001u;
3104  }
3105  imu_type_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), imu_type,
3106  GetArena());
3107  // @@protoc_insertion_point(field_set_allocated:jaiabot.protobuf.IMUData.imu_type)
3108 }
3109 inline std::string* IMUData::unsafe_arena_release_imu_type() {
3110  // @@protoc_insertion_point(field_unsafe_arena_release:jaiabot.protobuf.IMUData.imu_type)
3111  GOOGLE_DCHECK(GetArena() != nullptr);
3112  _has_bits_[0] &= ~0x00000001u;
3113  return imu_type_.UnsafeArenaRelease(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
3114  GetArena());
3115 }
3116 inline void IMUData::unsafe_arena_set_allocated_imu_type(
3117  std::string* imu_type) {
3118  GOOGLE_DCHECK(GetArena() != nullptr);
3119  if (imu_type != nullptr) {
3120  _has_bits_[0] |= 0x00000001u;
3121  } else {
3122  _has_bits_[0] &= ~0x00000001u;
3123  }
3124  imu_type_.UnsafeArenaSetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
3125  imu_type, GetArena());
3126  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:jaiabot.protobuf.IMUData.imu_type)
3127 }
3128 
3129 // -------------------------------------------------------------------
3130 
3131 // IMUIssue
3132 
3133 // required .jaiabot.protobuf.IMUIssue.SolutionType solution = 1;
3134 inline bool IMUIssue::_internal_has_solution() const {
3135  bool value = (_has_bits_[0] & 0x00000001u) != 0;
3136  return value;
3137 }
3138 inline bool IMUIssue::has_solution() const {
3139  return _internal_has_solution();
3140 }
3141 inline void IMUIssue::clear_solution() {
3142  solution_ = 0;
3143  _has_bits_[0] &= ~0x00000001u;
3144 }
3145 inline ::jaiabot::protobuf::IMUIssue_SolutionType IMUIssue::_internal_solution() const {
3146  return static_cast< ::jaiabot::protobuf::IMUIssue_SolutionType >(solution_);
3147 }
3148 inline ::jaiabot::protobuf::IMUIssue_SolutionType IMUIssue::solution() const {
3149  // @@protoc_insertion_point(field_get:jaiabot.protobuf.IMUIssue.solution)
3150  return _internal_solution();
3151 }
3152 inline void IMUIssue::_internal_set_solution(::jaiabot::protobuf::IMUIssue_SolutionType value) {
3154  _has_bits_[0] |= 0x00000001u;
3155  solution_ = value;
3156 }
3157 inline void IMUIssue::set_solution(::jaiabot::protobuf::IMUIssue_SolutionType value) {
3158  _internal_set_solution(value);
3159  // @@protoc_insertion_point(field_set:jaiabot.protobuf.IMUIssue.solution)
3160 }
3161 
3162 // optional .jaiabot.protobuf.IMUIssue.IssueType type = 2;
3163 inline bool IMUIssue::_internal_has_type() const {
3164  bool value = (_has_bits_[0] & 0x00000002u) != 0;
3165  return value;
3166 }
3167 inline bool IMUIssue::has_type() const {
3168  return _internal_has_type();
3169 }
3170 inline void IMUIssue::clear_type() {
3171  type_ = 0;
3172  _has_bits_[0] &= ~0x00000002u;
3173 }
3174 inline ::jaiabot::protobuf::IMUIssue_IssueType IMUIssue::_internal_type() const {
3175  return static_cast< ::jaiabot::protobuf::IMUIssue_IssueType >(type_);
3176 }
3177 inline ::jaiabot::protobuf::IMUIssue_IssueType IMUIssue::type() const {
3178  // @@protoc_insertion_point(field_get:jaiabot.protobuf.IMUIssue.type)
3179  return _internal_type();
3180 }
3181 inline void IMUIssue::_internal_set_type(::jaiabot::protobuf::IMUIssue_IssueType value) {
3183  _has_bits_[0] |= 0x00000002u;
3184  type_ = value;
3185 }
3186 inline void IMUIssue::set_type(::jaiabot::protobuf::IMUIssue_IssueType value) {
3187  _internal_set_type(value);
3188  // @@protoc_insertion_point(field_set:jaiabot.protobuf.IMUIssue.type)
3189 }
3190 
3191 // optional .jaiabot.protobuf.MissionState mission_state = 3;
3192 inline bool IMUIssue::_internal_has_mission_state() const {
3193  bool value = (_has_bits_[0] & 0x00000004u) != 0;
3194  return value;
3195 }
3196 inline bool IMUIssue::has_mission_state() const {
3197  return _internal_has_mission_state();
3198 }
3199 inline void IMUIssue::clear_mission_state() {
3200  mission_state_ = 0;
3201  _has_bits_[0] &= ~0x00000004u;
3202 }
3203 inline ::jaiabot::protobuf::MissionState IMUIssue::_internal_mission_state() const {
3204  return static_cast< ::jaiabot::protobuf::MissionState >(mission_state_);
3205 }
3206 inline ::jaiabot::protobuf::MissionState IMUIssue::mission_state() const {
3207  // @@protoc_insertion_point(field_get:jaiabot.protobuf.IMUIssue.mission_state)
3208  return _internal_mission_state();
3209 }
3210 inline void IMUIssue::_internal_set_mission_state(::jaiabot::protobuf::MissionState value) {
3211  assert(::jaiabot::protobuf::MissionState_IsValid(value));
3212  _has_bits_[0] |= 0x00000004u;
3213  mission_state_ = value;
3214 }
3215 inline void IMUIssue::set_mission_state(::jaiabot::protobuf::MissionState value) {
3216  _internal_set_mission_state(value);
3217  // @@protoc_insertion_point(field_set:jaiabot.protobuf.IMUIssue.mission_state)
3218 }
3219 
3220 // optional double imu_heading_course_max_diff = 30 [default = 45];
3221 inline bool IMUIssue::_internal_has_imu_heading_course_max_diff() const {
3222  bool value = (_has_bits_[0] & 0x00000400u) != 0;
3223  return value;
3224 }
3225 inline bool IMUIssue::has_imu_heading_course_max_diff() const {
3226  return _internal_has_imu_heading_course_max_diff();
3227 }
3228 inline void IMUIssue::clear_imu_heading_course_max_diff() {
3229  imu_heading_course_max_diff_ = 45;
3230  _has_bits_[0] &= ~0x00000400u;
3231 }
3232 inline double IMUIssue::_internal_imu_heading_course_max_diff() const {
3233  return imu_heading_course_max_diff_;
3234 }
3235 inline double IMUIssue::imu_heading_course_max_diff() const {
3236  // @@protoc_insertion_point(field_get:jaiabot.protobuf.IMUIssue.imu_heading_course_max_diff)
3237  return _internal_imu_heading_course_max_diff();
3238 }
3239 inline void IMUIssue::_internal_set_imu_heading_course_max_diff(double value) {
3240  _has_bits_[0] |= 0x00000400u;
3241  imu_heading_course_max_diff_ = value;
3242 }
3243 inline void IMUIssue::set_imu_heading_course_max_diff(double value) {
3244  _internal_set_imu_heading_course_max_diff(value);
3245  // @@protoc_insertion_point(field_set:jaiabot.protobuf.IMUIssue.imu_heading_course_max_diff)
3246 }
3247 
3248 // optional double heading = 31 [(.dccl.field) = {
3249 inline bool IMUIssue::_internal_has_heading() const {
3250  bool value = (_has_bits_[0] & 0x00000008u) != 0;
3251  return value;
3252 }
3253 inline bool IMUIssue::has_heading() const {
3254  return _internal_has_heading();
3255 }
3256 inline void IMUIssue::clear_heading() {
3257  heading_ = 0;
3258  _has_bits_[0] &= ~0x00000008u;
3259 }
3260 inline double IMUIssue::_internal_heading() const {
3261  return heading_;
3262 }
3263 inline double IMUIssue::heading() const {
3264  // @@protoc_insertion_point(field_get:jaiabot.protobuf.IMUIssue.heading)
3265  return _internal_heading();
3266 }
3267 inline void IMUIssue::_internal_set_heading(double value) {
3268  _has_bits_[0] |= 0x00000008u;
3269  heading_ = value;
3270 }
3271 inline void IMUIssue::set_heading(double value) {
3272  _internal_set_heading(value);
3273  // @@protoc_insertion_point(field_set:jaiabot.protobuf.IMUIssue.heading)
3274 }
3275 
3276 // optional double desired_heading = 32 [(.dccl.field) = {
3277 inline bool IMUIssue::_internal_has_desired_heading() const {
3278  bool value = (_has_bits_[0] & 0x00000010u) != 0;
3279  return value;
3280 }
3281 inline bool IMUIssue::has_desired_heading() const {
3282  return _internal_has_desired_heading();
3283 }
3284 inline void IMUIssue::clear_desired_heading() {
3285  desired_heading_ = 0;
3286  _has_bits_[0] &= ~0x00000010u;
3287 }
3288 inline double IMUIssue::_internal_desired_heading() const {
3289  return desired_heading_;
3290 }
3291 inline double IMUIssue::desired_heading() const {
3292  // @@protoc_insertion_point(field_get:jaiabot.protobuf.IMUIssue.desired_heading)
3293  return _internal_desired_heading();
3294 }
3295 inline void IMUIssue::_internal_set_desired_heading(double value) {
3296  _has_bits_[0] |= 0x00000010u;
3297  desired_heading_ = value;
3298 }
3299 inline void IMUIssue::set_desired_heading(double value) {
3300  _internal_set_desired_heading(value);
3301  // @@protoc_insertion_point(field_set:jaiabot.protobuf.IMUIssue.desired_heading)
3302 }
3303 
3304 // optional double course_over_ground = 33 [(.dccl.field) = {
3305 inline bool IMUIssue::_internal_has_course_over_ground() const {
3306  bool value = (_has_bits_[0] & 0x00000020u) != 0;
3307  return value;
3308 }
3309 inline bool IMUIssue::has_course_over_ground() const {
3310  return _internal_has_course_over_ground();
3311 }
3312 inline void IMUIssue::clear_course_over_ground() {
3313  course_over_ground_ = 0;
3314  _has_bits_[0] &= ~0x00000020u;
3315 }
3316 inline double IMUIssue::_internal_course_over_ground() const {
3317  return course_over_ground_;
3318 }
3319 inline double IMUIssue::course_over_ground() const {
3320  // @@protoc_insertion_point(field_get:jaiabot.protobuf.IMUIssue.course_over_ground)
3321  return _internal_course_over_ground();
3322 }
3323 inline void IMUIssue::_internal_set_course_over_ground(double value) {
3324  _has_bits_[0] |= 0x00000020u;
3325  course_over_ground_ = value;
3326 }
3327 inline void IMUIssue::set_course_over_ground(double value) {
3328  _internal_set_course_over_ground(value);
3329  // @@protoc_insertion_point(field_set:jaiabot.protobuf.IMUIssue.course_over_ground)
3330 }
3331 
3332 // optional double heading_course_difference = 34 [(.dccl.field) = {
3333 inline bool IMUIssue::_internal_has_heading_course_difference() const {
3334  bool value = (_has_bits_[0] & 0x00000040u) != 0;
3335  return value;
3336 }
3337 inline bool IMUIssue::has_heading_course_difference() const {
3338  return _internal_has_heading_course_difference();
3339 }
3340 inline void IMUIssue::clear_heading_course_difference() {
3341  heading_course_difference_ = 0;
3342  _has_bits_[0] &= ~0x00000040u;
3343 }
3344 inline double IMUIssue::_internal_heading_course_difference() const {
3345  return heading_course_difference_;
3346 }
3347 inline double IMUIssue::heading_course_difference() const {
3348  // @@protoc_insertion_point(field_get:jaiabot.protobuf.IMUIssue.heading_course_difference)
3349  return _internal_heading_course_difference();
3350 }
3351 inline void IMUIssue::_internal_set_heading_course_difference(double value) {
3352  _has_bits_[0] |= 0x00000040u;
3353  heading_course_difference_ = value;
3354 }
3355 inline void IMUIssue::set_heading_course_difference(double value) {
3356  _internal_set_heading_course_difference(value);
3357  // @@protoc_insertion_point(field_set:jaiabot.protobuf.IMUIssue.heading_course_difference)
3358 }
3359 
3360 // optional double pitch = 35 [(.dccl.field) = {
3361 inline bool IMUIssue::_internal_has_pitch() const {
3362  bool value = (_has_bits_[0] & 0x00000080u) != 0;
3363  return value;
3364 }
3365 inline bool IMUIssue::has_pitch() const {
3366  return _internal_has_pitch();
3367 }
3368 inline void IMUIssue::clear_pitch() {
3369  pitch_ = 0;
3370  _has_bits_[0] &= ~0x00000080u;
3371 }
3372 inline double IMUIssue::_internal_pitch() const {
3373  return pitch_;
3374 }
3375 inline double IMUIssue::pitch() const {
3376  // @@protoc_insertion_point(field_get:jaiabot.protobuf.IMUIssue.pitch)
3377  return _internal_pitch();
3378 }
3379 inline void IMUIssue::_internal_set_pitch(double value) {
3380  _has_bits_[0] |= 0x00000080u;
3381  pitch_ = value;
3382 }
3383 inline void IMUIssue::set_pitch(double value) {
3384  _internal_set_pitch(value);
3385  // @@protoc_insertion_point(field_set:jaiabot.protobuf.IMUIssue.pitch)
3386 }
3387 
3388 // optional double speed_over_ground = 36 [(.dccl.field) = {
3389 inline bool IMUIssue::_internal_has_speed_over_ground() const {
3390  bool value = (_has_bits_[0] & 0x00000100u) != 0;
3391  return value;
3392 }
3393 inline bool IMUIssue::has_speed_over_ground() const {
3394  return _internal_has_speed_over_ground();
3395 }
3396 inline void IMUIssue::clear_speed_over_ground() {
3397  speed_over_ground_ = 0;
3398  _has_bits_[0] &= ~0x00000100u;
3399 }
3400 inline double IMUIssue::_internal_speed_over_ground() const {
3401  return speed_over_ground_;
3402 }
3403 inline double IMUIssue::speed_over_ground() const {
3404  // @@protoc_insertion_point(field_get:jaiabot.protobuf.IMUIssue.speed_over_ground)
3405  return _internal_speed_over_ground();
3406 }
3407 inline void IMUIssue::_internal_set_speed_over_ground(double value) {
3408  _has_bits_[0] |= 0x00000100u;
3409  speed_over_ground_ = value;
3410 }
3411 inline void IMUIssue::set_speed_over_ground(double value) {
3412  _internal_set_speed_over_ground(value);
3413  // @@protoc_insertion_point(field_set:jaiabot.protobuf.IMUIssue.speed_over_ground)
3414 }
3415 
3416 // optional double desired_speed = 37 [(.dccl.field) = {
3417 inline bool IMUIssue::_internal_has_desired_speed() const {
3418  bool value = (_has_bits_[0] & 0x00000200u) != 0;
3419  return value;
3420 }
3421 inline bool IMUIssue::has_desired_speed() const {
3422  return _internal_has_desired_speed();
3423 }
3424 inline void IMUIssue::clear_desired_speed() {
3425  desired_speed_ = 0;
3426  _has_bits_[0] &= ~0x00000200u;
3427 }
3428 inline double IMUIssue::_internal_desired_speed() const {
3429  return desired_speed_;
3430 }
3431 inline double IMUIssue::desired_speed() const {
3432  // @@protoc_insertion_point(field_get:jaiabot.protobuf.IMUIssue.desired_speed)
3433  return _internal_desired_speed();
3434 }
3435 inline void IMUIssue::_internal_set_desired_speed(double value) {
3436  _has_bits_[0] |= 0x00000200u;
3437  desired_speed_ = value;
3438 }
3439 inline void IMUIssue::set_desired_speed(double value) {
3440  _internal_set_desired_speed(value);
3441  // @@protoc_insertion_point(field_set:jaiabot.protobuf.IMUIssue.desired_speed)
3442 }
3443 
3444 #ifdef __GNUC__
3445  #pragma GCC diagnostic pop
3446 #endif // __GNUC__
3447 // -------------------------------------------------------------------
3448 
3449 // -------------------------------------------------------------------
3450 
3451 // -------------------------------------------------------------------
3452 
3453 // -------------------------------------------------------------------
3454 
3455 // -------------------------------------------------------------------
3456 
3457 // -------------------------------------------------------------------
3458 
3459 
3460 // @@protoc_insertion_point(namespace_scope)
3461 
3462 } // namespace protobuf
3463 } // namespace jaiabot
3464 
3465 PROTOBUF_NAMESPACE_OPEN
3466 
3467 template <> struct is_proto_enum< ::jaiabot::protobuf::IMUCommand_IMUCommandType> : ::std::true_type {};
3468 template <>
3469 inline const EnumDescriptor* GetEnumDescriptor< ::jaiabot::protobuf::IMUCommand_IMUCommandType>() {
3471 }
3472 template <> struct is_proto_enum< ::jaiabot::protobuf::IMUIssue_SolutionType> : ::std::true_type {};
3473 template <>
3474 inline const EnumDescriptor* GetEnumDescriptor< ::jaiabot::protobuf::IMUIssue_SolutionType>() {
3476 }
3477 template <> struct is_proto_enum< ::jaiabot::protobuf::IMUIssue_IssueType> : ::std::true_type {};
3478 template <>
3479 inline const EnumDescriptor* GetEnumDescriptor< ::jaiabot::protobuf::IMUIssue_IssueType>() {
3481 }
3482 template <> struct is_proto_enum< ::jaiabot::protobuf::IMUCalibrationState> : ::std::true_type {};
3483 template <>
3484 inline const EnumDescriptor* GetEnumDescriptor< ::jaiabot::protobuf::IMUCalibrationState>() {
3486 }
3487 
3488 PROTOBUF_NAMESPACE_CLOSE
3489 
3490 // @@protoc_insertion_point(global_scope)
3491 
3492 #include <google/protobuf/port_undef.inc>
3493 #endif // GOOGLE_PROTOBUF_INCLUDED_GOOGLE_PROTOBUF_INCLUDED_jaiabot_2fmessages_2fimu_2eproto
void CopyFrom(const IMUData_Quaternion &from)
bool has_imu_heading_course_max_diff() const
void set_y_with_units(Quantity value_w_units)
Definition: imu.pb.h:982
boost::units::quantity< pitch_unit, double > pitch_with_units() const
Definition: imu.pb.h:586
IMUData_Acceleration(IMUData_Acceleration &&from) noexcept
Definition: imu.pb.h:627
IMUData_AngularVelocity * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: imu.pb.h:873
boost::units::quantity< significant_wave_height_unit, double > significant_wave_height_with_units() const
Definition: imu.pb.h:1550
IMUCommand & operator=(const IMUCommand &from)
Definition: imu.pb.h:221
IMUIssue & operator=(const IMUIssue &from)
Definition: imu.pb.h:1604
IMUData_AngularVelocity(::PROTOBUF_NAMESPACE_ID::Arena *arena)
IMUData_Acceleration & operator=(IMUData_Acceleration &&from) noexcept
Definition: imu.pb.h:636
void set_desired_speed_with_units(Quantity value_w_units)
Definition: imu.pb.h:2034
friend void swap(IMUData_AngularVelocity &a, IMUData_AngularVelocity &b)
Definition: imu.pb.h:850
double imu_heading_course_max_diff() const
IMUData_Quaternion * New() const final
Definition: imu.pb.h:1093
IMUData_EulerAngles(::PROTOBUF_NAMESPACE_ID::Arena *arena)
Quantity significant_wave_height_with_units() const
Definition: imu.pb.h:1547
static const IMUData_AngularVelocity & default_instance()
void set_heading_course_difference_with_units(Quantity value_w_units)
Definition: imu.pb.h:1989
const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet & unknown_fields() const
Definition: imu.pb.h:234
void UnsafeArenaSwap(IMUData_AngularVelocity *other)
Definition: imu.pb.h:861
boost::units::quantity< x_unit, double > x_with_units() const
Definition: imu.pb.h:974
IMUData * New() const final
Definition: imu.pb.h:1287
boost::units::unit< desired_speed_dimension, boost::units::si::system > desired_speed_unit
Definition: imu.pb.h:2031
void set_imu_type(const std::string &value)
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * IssueType_descriptor()
Definition: imu.pb.h:1766
IMUIssue & operator=(IMUIssue &&from) noexcept
Definition: imu.pb.h:1608
Quantity desired_speed_with_units() const
Definition: imu.pb.h:2038
void Swap(IMUData_AngularVelocity *other)
Definition: imu.pb.h:853
void set_max_acceleration_with_units(Quantity value_w_units)
Definition: imu.pb.h:1558
IMUData(IMUData &&from) noexcept
Definition: imu.pb.h:1224
boost::units::quantity< heading_unit, double > heading_with_units() const
Definition: imu.pb.h:571
void MergeFrom(const IMUData_Acceleration &from)
IMUCommand(IMUCommand &&from) noexcept
Definition: imu.pb.h:216
IMUData_AngularVelocity(IMUData_AngularVelocity &&from) noexcept
Definition: imu.pb.h:806
static const IMUCommand * internal_default_instance()
Definition: imu.pb.h:253
void UnsafeArenaSwap(IMUData_EulerAngles *other)
Definition: imu.pb.h:458
::jaiabot::protobuf::IMUIssue_IssueType type() const
IMUData_Quaternion & operator=(IMUData_Quaternion &&from) noexcept
Definition: imu.pb.h:1039
IMUData(const IMUData &from)
void MergeFrom(const IMUData_AngularVelocity &from)
void MergeFrom(const IMUIssue &from)
IMUData_EulerAngles & operator=(IMUData_EulerAngles &&from) noexcept
Definition: imu.pb.h:412
Quantity heading_course_difference_with_units() const
Definition: imu.pb.h:1993
boost::units::quantity< z_unit, double > z_with_units() const
Definition: imu.pb.h:1004
IMUData_EulerAngles & operator=(const IMUData_EulerAngles &from)
Definition: imu.pb.h:408
boost::units::unit< max_acceleration_dimension, boost::units::si::system > max_acceleration_unit
Definition: imu.pb.h:1555
void UnsafeArenaSwap(IMUCommand *other)
Definition: imu.pb.h:271
Quantity y_with_units() const
Definition: imu.pb.h:986
Quantity x_with_units() const
Definition: imu.pb.h:971
Quantity roll_with_units() const
Definition: imu.pb.h:598
static const IMUIssue * internal_default_instance()
Definition: imu.pb.h:1636
IMUData_Quaternion(IMUData_Quaternion &&from) noexcept
Definition: imu.pb.h:1030
IMUCommand * New() const final
Definition: imu.pb.h:279
void set_desired_heading(double value)
IMUData_AngularVelocity AngularVelocity
Definition: imu.pb.h:1336
IMUData_AngularVelocity & operator=(const IMUData_AngularVelocity &from)
Definition: imu.pb.h:811
boost::units::quantity< y_unit, double > y_with_units() const
Definition: imu.pb.h:989
static const IMUData_Quaternion & default_instance()
IMUData_Acceleration * New() const final
Definition: imu.pb.h:690
void UnsafeArenaSwap(IMUData *other)
Definition: imu.pb.h:1279
void set_solution(::jaiabot::protobuf::IMUIssue_SolutionType value)
void Swap(IMUData_Acceleration *other)
Definition: imu.pb.h:674
void set_desired_heading_with_units(Quantity value_w_units)
Definition: imu.pb.h:1959
boost::units::quantity< desired_speed_unit, double > desired_speed_with_units() const
Definition: imu.pb.h:2041
static bool IMUCommandType_IsValid(int value)
Definition: imu.pb.h:339
boost::units::unit< desired_heading_dimension, boost::units::degree::system > desired_heading_unit
Definition: imu.pb.h:1956
::jaiabot::protobuf::MissionState mission_state() const
void Swap(IMUData *other)
Definition: imu.pb.h:1271
boost::units::velocity_dimension desired_speed_dimension
Definition: imu.pb.h:2027
void MergeFrom(const IMUData_Quaternion &from)
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
void set_heading_with_units(Quantity value_w_units)
Definition: imu.pb.h:564
static bool IssueType_IsValid(int value)
Definition: imu.pb.h:1756
static bool IssueType_Parse(const std::string &name, IssueType *value)
Definition: imu.pb.h:1776
boost::units::unit< y_dimension, boost::units::si::system > y_unit
Definition: imu.pb.h:979
boost::units::unit< heading_course_difference_dimension, boost::units::degree::system > heading_course_difference_unit
Definition: imu.pb.h:1986
void CopyFrom(const IMUCommand &from)
IMUData_Acceleration & operator=(const IMUData_Acceleration &from)
Definition: imu.pb.h:632
void set_imu_type(const char *value, size_t size)
void Swap(IMUCommand *other)
Definition: imu.pb.h:263
void set_desired_speed(double value)
boost::units::length_dimension significant_wave_height_dimension
Definition: imu.pb.h:1538
boost::units::quantity< course_over_ground_unit, double > course_over_ground_with_units() const
Definition: imu.pb.h:1981
IMUData_Quaternion & operator=(const IMUData_Quaternion &from)
Definition: imu.pb.h:1035
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
IMUData & operator=(const IMUData &from)
Definition: imu.pb.h:1229
IMUCommand_IMUCommandType IMUCommandType
Definition: imu.pb.h:326
void set_course_over_ground_with_units(Quantity value_w_units)
Definition: imu.pb.h:1974
boost::units::plane_angle_dimension pitch_dimension
Definition: imu.pb.h:572
IMUData_AngularVelocity * New() const final
Definition: imu.pb.h:869
void MergeFrom(const IMUCommand &from)
IMUData_EulerAngles(IMUData_EulerAngles &&from) noexcept
Definition: imu.pb.h:403
boost::units::plane_angle_dimension heading_course_difference_dimension
Definition: imu.pb.h:1982
boost::units::unit< x_dimension, boost::units::si::system > x_unit
Definition: imu.pb.h:964
boost::units::plane_angle_dimension heading_dimension
Definition: imu.pb.h:559
static const std::string & IssueType_Name(T enum_t_value)
Definition: imu.pb.h:1770
void Swap(IMUData_Quaternion *other)
Definition: imu.pb.h:1077
boost::units::velocity_dimension speed_over_ground_dimension
Definition: imu.pb.h:2012
IMUData_AngularVelocity(const IMUData_AngularVelocity &from)
IMUIssue(const IMUIssue &from)
friend void swap(IMUData_Quaternion &a, IMUData_Quaternion &b)
Definition: imu.pb.h:1074
IMUData_Acceleration Acceleration
Definition: imu.pb.h:1335
inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet * mutable_unknown_fields()
Definition: imu.pb.h:237
void set_heading_course_difference(double value)
IMUData * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: imu.pb.h:1291
boost::units::angular_velocity_dimension z_dimension
Definition: imu.pb.h:990
IMUData_Quaternion(const IMUData_Quaternion &from)
void set_speed_over_ground_with_units(Quantity value_w_units)
Definition: imu.pb.h:2019
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * IMUCommandType_descriptor()
Definition: imu.pb.h:349
IMUData_EulerAngles EulerAngles
Definition: imu.pb.h:1334
IMUData_Acceleration(::PROTOBUF_NAMESPACE_ID::Arena *arena)
boost::units::quantity< roll_unit, double > roll_with_units() const
Definition: imu.pb.h:601
static const IMUData_EulerAngles * internal_default_instance()
Definition: imu.pb.h:440
boost::units::plane_angle_dimension course_over_ground_dimension
Definition: imu.pb.h:1967
void CopyFrom(const IMUData_EulerAngles &from)
friend void swap(IMUCommand &a, IMUCommand &b)
Definition: imu.pb.h:260
boost::units::angular_velocity_dimension x_dimension
Definition: imu.pb.h:962
boost::units::angular_velocity_dimension y_dimension
Definition: imu.pb.h:975
static const IMUData_AngularVelocity * internal_default_instance()
Definition: imu.pb.h:843
boost::units::unit< significant_wave_height_dimension, boost::units::si::system > significant_wave_height_unit
Definition: imu.pb.h:1540
static const IMUIssue & default_instance()
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * SolutionType_descriptor()
Definition: imu.pb.h:1738
double heading_course_difference() const
IMUData_Quaternion * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: imu.pb.h:1097
void set_z_with_units(Quantity value_w_units)
Definition: imu.pb.h:997
boost::units::unit< speed_over_ground_dimension, boost::units::si::system > speed_over_ground_unit
Definition: imu.pb.h:2016
void set_pitch_with_units(Quantity value_w_units)
Definition: imu.pb.h:579
IMUIssue * New() const final
Definition: imu.pb.h:1662
Quantity heading_with_units() const
Definition: imu.pb.h:568
boost::units::unit< z_dimension, boost::units::si::system > z_unit
Definition: imu.pb.h:994
static const IMUData * internal_default_instance()
Definition: imu.pb.h:1261
boost::units::plane_angle_dimension roll_dimension
Definition: imu.pb.h:587
IMUData_AngularVelocity & operator=(IMUData_AngularVelocity &&from) noexcept
Definition: imu.pb.h:815
friend void swap(IMUData_Acceleration &a, IMUData_Acceleration &b)
Definition: imu.pb.h:671
void MergeFrom(const IMUData &from)
IMUData_Acceleration * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: imu.pb.h:694
static const IMUData & default_instance()
boost::units::quantity< speed_over_ground_unit, double > speed_over_ground_with_units() const
Definition: imu.pb.h:2026
void Swap(IMUData_EulerAngles *other)
Definition: imu.pb.h:450
void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message &from) final
void set_roll_with_units(Quantity value_w_units)
Definition: imu.pb.h:594
void set_imu_heading_course_max_diff(double value)
static bool IMUCommandType_Parse(const std::string &name, IMUCommandType *value)
Definition: imu.pb.h:359
void set_x_with_units(Quantity value_w_units)
Definition: imu.pb.h:967
Quantity z_with_units() const
Definition: imu.pb.h:1001
IMUData_EulerAngles * New() const final
Definition: imu.pb.h:466
boost::units::unit< roll_dimension, boost::units::degree::system > roll_unit
Definition: imu.pb.h:591
void set_course_over_ground(double value)
void CopyFrom(const IMUData_Acceleration &from)
boost::units::quantity< heading_course_difference_unit, double > heading_course_difference_with_units() const
Definition: imu.pb.h:1996
void CopyFrom(const IMUIssue &from)
::jaiabot::protobuf::IMUIssue_SolutionType solution() const
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
Definition: imu.pb.h:244
static const std::string & SolutionType_Name(T enum_t_value)
Definition: imu.pb.h:1742
IMUData_EulerAngles(const IMUData_EulerAngles &from)
::jaiabot::protobuf::IMUCommand_IMUCommandType type() const
static const IMUData_EulerAngles & default_instance()
static const IMUCommand & default_instance()
void UnsafeArenaSwap(IMUIssue *other)
Definition: imu.pb.h:1654
void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message &from) final
friend void swap(IMUIssue &a, IMUIssue &b)
Definition: imu.pb.h:1643
IMUIssue(IMUIssue &&from) noexcept
Definition: imu.pb.h:1599
IMUCommand(::PROTOBUF_NAMESPACE_ID::Arena *arena)
boost::units::unit< heading_dimension, boost::units::degree::system > heading_unit
Definition: imu.pb.h:561
boost::units::acceleration_dimension max_acceleration_dimension
Definition: imu.pb.h:1551
static bool SolutionType_IsValid(int value)
Definition: imu.pb.h:1728
void UnsafeArenaSwap(IMUData_Acceleration *other)
Definition: imu.pb.h:682
friend void swap(IMUData &a, IMUData &b)
Definition: imu.pb.h:1268
IMUIssue_IssueType IssueType
Definition: imu.pb.h:1753
IMUData_EulerAngles * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: imu.pb.h:470
boost::units::quantity< desired_heading_unit, double > desired_heading_with_units() const
Definition: imu.pb.h:1966
void CopyFrom(const IMUData_AngularVelocity &from)
IMUData_Acceleration(const IMUData_Acceleration &from)
Quantity desired_heading_with_units() const
Definition: imu.pb.h:1963
IMUIssue(::PROTOBUF_NAMESPACE_ID::Arena *arena)
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
Definition: imu.pb.h:247
static const std::string & IMUCommandType_Name(T enum_t_value)
Definition: imu.pb.h:353
boost::units::quantity< max_acceleration_unit, double > max_acceleration_with_units() const
Definition: imu.pb.h:1565
boost::units::unit< course_over_ground_dimension, boost::units::degree::system > course_over_ground_unit
Definition: imu.pb.h:1971
IMUData & operator=(IMUData &&from) noexcept
Definition: imu.pb.h:1233
friend void swap(IMUData_EulerAngles &a, IMUData_EulerAngles &b)
Definition: imu.pb.h:447
Quantity course_over_ground_with_units() const
Definition: imu.pb.h:1978
IMUCommand & operator=(IMUCommand &&from) noexcept
Definition: imu.pb.h:225
void CopyFrom(const IMUData &from)
Quantity speed_over_ground_with_units() const
Definition: imu.pb.h:2023
void Swap(IMUIssue *other)
Definition: imu.pb.h:1646
static const IMUData_Acceleration & default_instance()
void set_imu_type(std::string &&value)
void set_type(::jaiabot::protobuf::IMUCommand_IMUCommandType value)
IMUData_Quaternion Quaternion
Definition: imu.pb.h:1337
void set_mission_state(::jaiabot::protobuf::MissionState value)
void set_speed_over_ground(double value)
Quantity max_acceleration_with_units() const
Definition: imu.pb.h:1562
void set_type(::jaiabot::protobuf::IMUIssue_IssueType value)
void set_imu_type(const char *value)
boost::units::unit< pitch_dimension, boost::units::degree::system > pitch_unit
Definition: imu.pb.h:576
static bool SolutionType_Parse(const std::string &name, SolutionType *value)
Definition: imu.pb.h:1748
Quantity pitch_with_units() const
Definition: imu.pb.h:583
IMUCommand(const IMUCommand &from)
void set_allocated_imu_type(std::string *imu_type)
static const IMUData_Acceleration * internal_default_instance()
Definition: imu.pb.h:664
IMUIssue_SolutionType SolutionType
Definition: imu.pb.h:1709
void UnsafeArenaSwap(IMUData_Quaternion *other)
Definition: imu.pb.h:1085
IMUData(::PROTOBUF_NAMESPACE_ID::Arena *arena)
boost::units::plane_angle_dimension desired_heading_dimension
Definition: imu.pb.h:1952
IMUIssue * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: imu.pb.h:1666
IMUCommand * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: imu.pb.h:283
static const IMUData_Quaternion * internal_default_instance()
Definition: imu.pb.h:1067
const std::string & imu_type() const
void MergeFrom(const IMUData_EulerAngles &from)
IMUData_Quaternion(::PROTOBUF_NAMESPACE_ID::Arena *arena)
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
Definition: imu.pb.h:241
const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_jaiabot_2fmessages_2fimu_2eproto
const std::string & IMUCommand_IMUCommandType_Name(T enum_t_value)
Definition: imu.pb.h:120
constexpr IMUIssue_IssueType IMUIssue_IssueType_IssueType_MAX
Definition: imu.pb.h:167
const std::string & IMUIssue_IssueType_Name(T enum_t_value)
Definition: imu.pb.h:172
bool IMUIssue_IssueType_IsValid(int value)
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * IMUCommand_IMUCommandType_descriptor()
IMUDataDefaultTypeInternal _IMUData_default_instance_
constexpr IMUCalibrationState IMUCalibrationState_MAX
Definition: imu.pb.h:190
const std::string & IMUIssue_SolutionType_Name(T enum_t_value)
Definition: imu.pb.h:150
constexpr IMUCommand_IMUCommandType IMUCommand_IMUCommandType_IMUCommandType_MAX
Definition: imu.pb.h:115
@ IMUCommand_IMUCommandType_START_WAVE_HEIGHT_SAMPLING
Definition: imu.pb.h:107
@ IMUCommand_IMUCommandType_START_CALIBRATION
Definition: imu.pb.h:111
@ IMUCommand_IMUCommandType_TAKE_READING
Definition: imu.pb.h:106
@ IMUCommand_IMUCommandType_STOP_WAVE_HEIGHT_SAMPLING
Definition: imu.pb.h:108
@ IMUCommand_IMUCommandType_STOP_BOTTOM_TYPE_SAMPLING
Definition: imu.pb.h:110
@ IMUCommand_IMUCommandType_START_BOTTOM_TYPE_SAMPLING
Definition: imu.pb.h:109
constexpr IMUCalibrationState IMUCalibrationState_MIN
Definition: imu.pb.h:189
IMUData_AngularVelocityDefaultTypeInternal _IMUData_AngularVelocity_default_instance_
bool IMUIssue_IssueType_Parse(const std::string &name, IMUIssue_IssueType *value)
Definition: imu.pb.h:179
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * IMUCalibrationState_descriptor()
constexpr int IMUCalibrationState_ARRAYSIZE
Definition: imu.pb.h:191
constexpr IMUIssue_SolutionType IMUIssue_SolutionType_SolutionType_MAX
Definition: imu.pb.h:145
IMUData_AccelerationDefaultTypeInternal _IMUData_Acceleration_default_instance_
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * IMUIssue_IssueType_descriptor()
IMUIssueDefaultTypeInternal _IMUIssue_default_instance_
bool IMUCommand_IMUCommandType_Parse(const std::string &name, IMUCommand_IMUCommandType *value)
Definition: imu.pb.h:127
bool IMUCommand_IMUCommandType_IsValid(int value)
IMUData_EulerAnglesDefaultTypeInternal _IMUData_EulerAngles_default_instance_
constexpr int IMUCommand_IMUCommandType_IMUCommandType_ARRAYSIZE
Definition: imu.pb.h:116
constexpr IMUCommand_IMUCommandType IMUCommand_IMUCommandType_IMUCommandType_MIN
Definition: imu.pb.h:114
constexpr IMUIssue_IssueType IMUIssue_IssueType_IssueType_MIN
Definition: imu.pb.h:166
IMUData_QuaternionDefaultTypeInternal _IMUData_Quaternion_default_instance_
bool IMUCalibrationState_Parse(const std::string &name, IMUCalibrationState *value)
Definition: imu.pb.h:202
const std::string & IMUCalibrationState_Name(T enum_t_value)
Definition: imu.pb.h:195
@ IMUIssue_IssueType_HEADING_COURSE_DIFFERENCE_TOO_LARGE
Definition: imu.pb.h:163
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * IMUIssue_SolutionType_descriptor()
bool IMUIssue_SolutionType_Parse(const std::string &name, IMUIssue_SolutionType *value)
Definition: imu.pb.h:157
bool IMUIssue_SolutionType_IsValid(int value)
constexpr IMUIssue_SolutionType IMUIssue_SolutionType_SolutionType_MIN
Definition: imu.pb.h:144
constexpr int IMUIssue_SolutionType_SolutionType_ARRAYSIZE
Definition: imu.pb.h:146
bool IMUCalibrationState_IsValid(int value)
constexpr int IMUIssue_IssueType_IssueType_ARRAYSIZE
Definition: imu.pb.h:168
@ IMUIssue_SolutionType_RESTART_IMU_PY
Definition: imu.pb.h:139
@ IMUIssue_SolutionType_USE_CORRECTION
Definition: imu.pb.h:135
@ IMUIssue_SolutionType_USE_COG
Definition: imu.pb.h:134
@ IMUIssue_SolutionType_REBOOT_BNO085_IMU
Definition: imu.pb.h:140
@ IMUIssue_SolutionType_REBOOT_BNO085_IMU_AND_RESTART_IMU_PY
Definition: imu.pb.h:141
@ IMUIssue_SolutionType_REPORT_IMU
Definition: imu.pb.h:138
@ IMUIssue_SolutionType_REBOOT_BOT
Definition: imu.pb.h:137
@ IMUIssue_SolutionType_STOP_BOT
Definition: imu.pb.h:133
@ IMUIssue_SolutionType_RESTART_BOT
Definition: imu.pb.h:136
bool MissionState_IsValid(int value)
IMUCommandDefaultTypeInternal _IMUCommand_default_instance_
static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[7] PROTOBUF_SECTION_VARIABLE(protodesc_cold)
static const ::PROTOBUF_NAMESPACE_ID::internal::AuxillaryParseTableField aux[] PROTOBUF_SECTION_VARIABLE(protodesc_cold)
static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTableField entries[] PROTOBUF_SECTION_VARIABLE(protodesc_cold)
static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[]
Definition: imu.pb.h:64
static const ::PROTOBUF_NAMESPACE_ID::uint32 offsets[]
Definition: imu.pb.h:65
static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[]
Definition: imu.pb.h:63