JaiaBot  1.19.0
JaiaBot micro-AUV software
mission.pb.h
Go to the documentation of this file.
1 // Generated by the protocol buffer compiler. DO NOT EDIT!
2 // source: jaiabot/messages/mission.proto
3 
4 #ifndef GOOGLE_PROTOBUF_INCLUDED_jaiabot_2fmessages_2fmission_2eproto
5 #define GOOGLE_PROTOBUF_INCLUDED_jaiabot_2fmessages_2fmission_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>
37 #include "dccl/option_extensions.pb.h"
38 #include "goby/middleware/protobuf/gpsd.pb.h"
40 #include <boost/units/quantity.hpp>
41 #include <boost/units/absolute.hpp>
42 #include <boost/units/dimensionless_type.hpp>
43 #include <boost/units/make_scaled_unit.hpp>
44 
45 #include <boost/units/systems/angle/degrees.hpp>
46 
47 #include <boost/units/systems/si.hpp>
48 // @@protoc_insertion_point(includes)
49 #include <google/protobuf/port_def.inc>
50 #define PROTOBUF_INTERNAL_EXPORT_jaiabot_2fmessages_2fmission_2eproto
51 PROTOBUF_NAMESPACE_OPEN
52 namespace internal {
53 class AnyMetadata;
54 } // namespace internal
55 PROTOBUF_NAMESPACE_CLOSE
56 
57 // Internal implementation detail -- do not use these members.
59  static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTableField entries[]
60  PROTOBUF_SECTION_VARIABLE(protodesc_cold);
61  static const ::PROTOBUF_NAMESPACE_ID::internal::AuxillaryParseTableField aux[]
62  PROTOBUF_SECTION_VARIABLE(protodesc_cold);
63  static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[22]
64  PROTOBUF_SECTION_VARIABLE(protodesc_cold);
65  static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[];
66  static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[];
67  static const ::PROTOBUF_NAMESPACE_ID::uint32 offsets[];
68 };
69 extern const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_jaiabot_2fmessages_2fmission_2eproto;
70 namespace jaiabot {
71 namespace protobuf {
72 class BottomDepthSafetyParams;
73 class BottomDepthSafetyParamsDefaultTypeInternal;
74 extern BottomDepthSafetyParamsDefaultTypeInternal _BottomDepthSafetyParams_default_instance_;
75 class IvPBehaviorReport;
76 class IvPBehaviorReportDefaultTypeInternal;
77 extern IvPBehaviorReportDefaultTypeInternal _IvPBehaviorReport_default_instance_;
78 class IvPBehaviorReport_TransitReport;
79 class IvPBehaviorReport_TransitReportDefaultTypeInternal;
80 extern IvPBehaviorReport_TransitReportDefaultTypeInternal _IvPBehaviorReport_TransitReport_default_instance_;
81 class IvPBehaviorUpdate;
82 class IvPBehaviorUpdateDefaultTypeInternal;
83 extern IvPBehaviorUpdateDefaultTypeInternal _IvPBehaviorUpdate_default_instance_;
84 class IvPBehaviorUpdate_ConstantHeadingUpdate;
85 class IvPBehaviorUpdate_ConstantHeadingUpdateDefaultTypeInternal;
86 extern IvPBehaviorUpdate_ConstantHeadingUpdateDefaultTypeInternal _IvPBehaviorUpdate_ConstantHeadingUpdate_default_instance_;
87 class IvPBehaviorUpdate_ConstantSpeedUpdate;
88 class IvPBehaviorUpdate_ConstantSpeedUpdateDefaultTypeInternal;
89 extern IvPBehaviorUpdate_ConstantSpeedUpdateDefaultTypeInternal _IvPBehaviorUpdate_ConstantSpeedUpdate_default_instance_;
90 class IvPBehaviorUpdate_ContactUpdate;
91 class IvPBehaviorUpdate_ContactUpdateDefaultTypeInternal;
92 extern IvPBehaviorUpdate_ContactUpdateDefaultTypeInternal _IvPBehaviorUpdate_ContactUpdate_default_instance_;
93 class IvPBehaviorUpdate_StationkeepUpdate;
94 class IvPBehaviorUpdate_StationkeepUpdateDefaultTypeInternal;
95 extern IvPBehaviorUpdate_StationkeepUpdateDefaultTypeInternal _IvPBehaviorUpdate_StationkeepUpdate_default_instance_;
96 class IvPBehaviorUpdate_TrailUpdate;
97 class IvPBehaviorUpdate_TrailUpdateDefaultTypeInternal;
98 extern IvPBehaviorUpdate_TrailUpdateDefaultTypeInternal _IvPBehaviorUpdate_TrailUpdate_default_instance_;
99 class IvPBehaviorUpdate_TransitUpdate;
100 class IvPBehaviorUpdate_TransitUpdateDefaultTypeInternal;
101 extern IvPBehaviorUpdate_TransitUpdateDefaultTypeInternal _IvPBehaviorUpdate_TransitUpdate_default_instance_;
102 class MissionPlan;
103 class MissionPlanDefaultTypeInternal;
104 extern MissionPlanDefaultTypeInternal _MissionPlan_default_instance_;
105 class MissionPlan_Goal;
106 class MissionPlan_GoalDefaultTypeInternal;
107 extern MissionPlan_GoalDefaultTypeInternal _MissionPlan_Goal_default_instance_;
108 class MissionPlan_Recovery;
109 class MissionPlan_RecoveryDefaultTypeInternal;
110 extern MissionPlan_RecoveryDefaultTypeInternal _MissionPlan_Recovery_default_instance_;
111 class MissionPlan_TrailParam;
112 class MissionPlan_TrailParamDefaultTypeInternal;
113 extern MissionPlan_TrailParamDefaultTypeInternal _MissionPlan_TrailParam_default_instance_;
114 class MissionReport;
115 class MissionReportDefaultTypeInternal;
116 extern MissionReportDefaultTypeInternal _MissionReport_default_instance_;
117 class MissionTask;
118 class MissionTaskDefaultTypeInternal;
119 extern MissionTaskDefaultTypeInternal _MissionTask_default_instance_;
120 class MissionTask_ConstantHeadingParameters;
121 class MissionTask_ConstantHeadingParametersDefaultTypeInternal;
122 extern MissionTask_ConstantHeadingParametersDefaultTypeInternal _MissionTask_ConstantHeadingParameters_default_instance_;
123 class MissionTask_DiveParameters;
124 class MissionTask_DiveParametersDefaultTypeInternal;
125 extern MissionTask_DiveParametersDefaultTypeInternal _MissionTask_DiveParameters_default_instance_;
126 class MissionTask_DriftParameters;
127 class MissionTask_DriftParametersDefaultTypeInternal;
128 extern MissionTask_DriftParametersDefaultTypeInternal _MissionTask_DriftParameters_default_instance_;
129 class MissionTask_StationKeepParameters;
130 class MissionTask_StationKeepParametersDefaultTypeInternal;
131 extern MissionTask_StationKeepParametersDefaultTypeInternal _MissionTask_StationKeepParameters_default_instance_;
132 class MissionTpvMeetsGpsReq;
133 class MissionTpvMeetsGpsReqDefaultTypeInternal;
134 extern MissionTpvMeetsGpsReqDefaultTypeInternal _MissionTpvMeetsGpsReq_default_instance_;
135 class Speeds;
136 class SpeedsDefaultTypeInternal;
137 extern SpeedsDefaultTypeInternal _Speeds_default_instance_;
138 } // namespace protobuf
139 } // namespace jaiabot
140 PROTOBUF_NAMESPACE_OPEN
141 template<> ::jaiabot::protobuf::BottomDepthSafetyParams* Arena::CreateMaybeMessage<::jaiabot::protobuf::BottomDepthSafetyParams>(Arena*);
142 template<> ::jaiabot::protobuf::IvPBehaviorReport* Arena::CreateMaybeMessage<::jaiabot::protobuf::IvPBehaviorReport>(Arena*);
143 template<> ::jaiabot::protobuf::IvPBehaviorReport_TransitReport* Arena::CreateMaybeMessage<::jaiabot::protobuf::IvPBehaviorReport_TransitReport>(Arena*);
144 template<> ::jaiabot::protobuf::IvPBehaviorUpdate* Arena::CreateMaybeMessage<::jaiabot::protobuf::IvPBehaviorUpdate>(Arena*);
145 template<> ::jaiabot::protobuf::IvPBehaviorUpdate_ConstantHeadingUpdate* Arena::CreateMaybeMessage<::jaiabot::protobuf::IvPBehaviorUpdate_ConstantHeadingUpdate>(Arena*);
146 template<> ::jaiabot::protobuf::IvPBehaviorUpdate_ConstantSpeedUpdate* Arena::CreateMaybeMessage<::jaiabot::protobuf::IvPBehaviorUpdate_ConstantSpeedUpdate>(Arena*);
147 template<> ::jaiabot::protobuf::IvPBehaviorUpdate_ContactUpdate* Arena::CreateMaybeMessage<::jaiabot::protobuf::IvPBehaviorUpdate_ContactUpdate>(Arena*);
148 template<> ::jaiabot::protobuf::IvPBehaviorUpdate_StationkeepUpdate* Arena::CreateMaybeMessage<::jaiabot::protobuf::IvPBehaviorUpdate_StationkeepUpdate>(Arena*);
149 template<> ::jaiabot::protobuf::IvPBehaviorUpdate_TrailUpdate* Arena::CreateMaybeMessage<::jaiabot::protobuf::IvPBehaviorUpdate_TrailUpdate>(Arena*);
150 template<> ::jaiabot::protobuf::IvPBehaviorUpdate_TransitUpdate* Arena::CreateMaybeMessage<::jaiabot::protobuf::IvPBehaviorUpdate_TransitUpdate>(Arena*);
151 template<> ::jaiabot::protobuf::MissionPlan* Arena::CreateMaybeMessage<::jaiabot::protobuf::MissionPlan>(Arena*);
152 template<> ::jaiabot::protobuf::MissionPlan_Goal* Arena::CreateMaybeMessage<::jaiabot::protobuf::MissionPlan_Goal>(Arena*);
153 template<> ::jaiabot::protobuf::MissionPlan_Recovery* Arena::CreateMaybeMessage<::jaiabot::protobuf::MissionPlan_Recovery>(Arena*);
154 template<> ::jaiabot::protobuf::MissionPlan_TrailParam* Arena::CreateMaybeMessage<::jaiabot::protobuf::MissionPlan_TrailParam>(Arena*);
155 template<> ::jaiabot::protobuf::MissionReport* Arena::CreateMaybeMessage<::jaiabot::protobuf::MissionReport>(Arena*);
156 template<> ::jaiabot::protobuf::MissionTask* Arena::CreateMaybeMessage<::jaiabot::protobuf::MissionTask>(Arena*);
157 template<> ::jaiabot::protobuf::MissionTask_ConstantHeadingParameters* Arena::CreateMaybeMessage<::jaiabot::protobuf::MissionTask_ConstantHeadingParameters>(Arena*);
158 template<> ::jaiabot::protobuf::MissionTask_DiveParameters* Arena::CreateMaybeMessage<::jaiabot::protobuf::MissionTask_DiveParameters>(Arena*);
159 template<> ::jaiabot::protobuf::MissionTask_DriftParameters* Arena::CreateMaybeMessage<::jaiabot::protobuf::MissionTask_DriftParameters>(Arena*);
160 template<> ::jaiabot::protobuf::MissionTask_StationKeepParameters* Arena::CreateMaybeMessage<::jaiabot::protobuf::MissionTask_StationKeepParameters>(Arena*);
161 template<> ::jaiabot::protobuf::MissionTpvMeetsGpsReq* Arena::CreateMaybeMessage<::jaiabot::protobuf::MissionTpvMeetsGpsReq>(Arena*);
162 template<> ::jaiabot::protobuf::Speeds* Arena::CreateMaybeMessage<::jaiabot::protobuf::Speeds>(Arena*);
163 PROTOBUF_NAMESPACE_CLOSE
164 namespace jaiabot {
165 namespace protobuf {
166 
173 };
178 
179 const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* MissionTask_TaskType_descriptor();
180 template<typename T>
181 inline const std::string& MissionTask_TaskType_Name(T enum_t_value) {
182  static_assert(::std::is_same<T, MissionTask_TaskType>::value ||
183  ::std::is_integral<T>::value,
184  "Incorrect type passed to function MissionTask_TaskType_Name.");
185  return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
186  MissionTask_TaskType_descriptor(), enum_t_value);
187 }
189  const std::string& name, MissionTask_TaskType* value) {
190  return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<MissionTask_TaskType>(
191  MissionTask_TaskType_descriptor(), name, value);
192 }
196 };
201 
202 const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* MissionPlan_MissionStart_descriptor();
203 template<typename T>
204 inline const std::string& MissionPlan_MissionStart_Name(T enum_t_value) {
205  static_assert(::std::is_same<T, MissionPlan_MissionStart>::value ||
206  ::std::is_integral<T>::value,
207  "Incorrect type passed to function MissionPlan_MissionStart_Name.");
208  return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
209  MissionPlan_MissionStart_descriptor(), enum_t_value);
210 }
212  const std::string& name, MissionPlan_MissionStart* value) {
213  return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<MissionPlan_MissionStart>(
214  MissionPlan_MissionStart_descriptor(), name, value);
215 }
220 };
225 
226 const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* MissionPlan_MovementType_descriptor();
227 template<typename T>
228 inline const std::string& MissionPlan_MovementType_Name(T enum_t_value) {
229  static_assert(::std::is_same<T, MissionPlan_MovementType>::value ||
230  ::std::is_integral<T>::value,
231  "Incorrect type passed to function MissionPlan_MovementType_Name.");
232  return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
233  MissionPlan_MovementType_descriptor(), enum_t_value);
234 }
236  const std::string& name, MissionPlan_MovementType* value) {
237  return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<MissionPlan_MovementType>(
238  MissionPlan_MovementType_descriptor(), name, value);
239 }
240 enum MissionState : int {
277 };
278 bool MissionState_IsValid(int value);
282 
283 const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* MissionState_descriptor();
284 template<typename T>
285 inline const std::string& MissionState_Name(T enum_t_value) {
286  static_assert(::std::is_same<T, MissionState>::value ||
287  ::std::is_integral<T>::value,
288  "Incorrect type passed to function MissionState_Name.");
289  return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
290  MissionState_descriptor(), enum_t_value);
291 }
292 inline bool MissionState_Parse(
293  const std::string& name, MissionState* value) {
294  return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<MissionState>(
295  MissionState_descriptor(), name, value);
296 }
297 // ===================================================================
298 
299 class Speeds PROTOBUF_FINAL :
300  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:jaiabot.protobuf.Speeds) */ {
301  public:
302  inline Speeds() : Speeds(nullptr) {};
303  virtual ~Speeds();
304 
305  Speeds(const Speeds& from);
306  Speeds(Speeds&& from) noexcept
307  : Speeds() {
308  *this = ::std::move(from);
309  }
310 
311  inline Speeds& operator=(const Speeds& from) {
312  CopyFrom(from);
313  return *this;
314  }
315  inline Speeds& operator=(Speeds&& from) noexcept {
316  if (GetArena() == from.GetArena()) {
317  if (this != &from) InternalSwap(&from);
318  } else {
319  CopyFrom(from);
320  }
321  return *this;
322  }
323 
324  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
325  return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
326  }
327  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
328  return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
329  }
330 
331  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
332  return GetDescriptor();
333  }
334  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
335  return GetMetadataStatic().descriptor;
336  }
337  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
338  return GetMetadataStatic().reflection;
339  }
340  static const Speeds& default_instance();
341 
342  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
343  static inline const Speeds* internal_default_instance() {
344  return reinterpret_cast<const Speeds*>(
346  }
347  static constexpr int kIndexInFileMessages =
348  0;
349 
350  friend void swap(Speeds& a, Speeds& b) {
351  a.Swap(&b);
352  }
353  inline void Swap(Speeds* other) {
354  if (other == this) return;
355  if (GetArena() == other->GetArena()) {
356  InternalSwap(other);
357  } else {
358  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
359  }
360  }
361  void UnsafeArenaSwap(Speeds* other) {
362  if (other == this) return;
363  GOOGLE_DCHECK(GetArena() == other->GetArena());
364  InternalSwap(other);
365  }
366 
367  // implements Message ----------------------------------------------
368 
369  inline Speeds* New() const final {
370  return CreateMaybeMessage<Speeds>(nullptr);
371  }
372 
373  Speeds* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
374  return CreateMaybeMessage<Speeds>(arena);
375  }
376  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
377  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
378  void CopyFrom(const Speeds& from);
379  void MergeFrom(const Speeds& from);
380  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
381  bool IsInitialized() const final;
382 
383  size_t ByteSizeLong() const final;
384  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
385  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
386  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
387  int GetCachedSize() const final { return _cached_size_.Get(); }
388 
389  private:
390  inline void SharedCtor();
391  inline void SharedDtor();
392  void SetCachedSize(int size) const final;
393  void InternalSwap(Speeds* other);
394  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
395  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
396  return "jaiabot.protobuf.Speeds";
397  }
398  protected:
399  explicit Speeds(::PROTOBUF_NAMESPACE_ID::Arena* arena);
400  private:
401  static void ArenaDtor(void* object);
402  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
403  public:
404 
405  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
406  private:
407  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
408  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_jaiabot_2fmessages_2fmission_2eproto);
409  return ::descriptor_table_jaiabot_2fmessages_2fmission_2eproto.file_level_metadata[kIndexInFileMessages];
410  }
411 
412  public:
413 
414  // nested types ----------------------------------------------------
415 
416  // accessors -------------------------------------------------------
417 
418  enum : int {
419  kTransitFieldNumber = 1,
420  kStationkeepOuterFieldNumber = 2,
421  };
422  // optional double transit = 1 [default = 2, (.dccl.field) = {
423  bool has_transit() const;
424  private:
425  bool _internal_has_transit() const;
426  public:
428  double transit() const;
429  void set_transit(double value);
430  private:
431  double _internal_transit() const;
432  void _internal_set_transit(double value);
433  public:
434 
435  // optional double stationkeep_outer = 2 [default = 0.5, (.dccl.field) = {
436  bool has_stationkeep_outer() const;
437  private:
438  bool _internal_has_stationkeep_outer() const;
439  public:
441  double stationkeep_outer() const;
442  void set_stationkeep_outer(double value);
443  private:
444  double _internal_stationkeep_outer() const;
445  void _internal_set_stationkeep_outer(double value);
446  public:
447 
448  typedef boost::units::derived_dimension< boost::units::length_base_dimension,1, boost::units::time_base_dimension,-1 >::type transit_dimension;
449 
450  typedef boost::units::unit<transit_dimension,boost::units::si::system> transit_unit;
451 
452  template<typename Quantity >
453  void set_transit_with_units(Quantity value_w_units)
454  { set_transit(boost::units::quantity<transit_unit,double >(value_w_units).value() ); };
455 
456  template<typename Quantity >
457  Quantity transit_with_units() const
458  { return Quantity(transit() * transit_unit()); };
459 
460  boost::units::quantity< transit_unit,double > transit_with_units() const
461  { return transit_with_units<boost::units::quantity< transit_unit,double > >(); };
462 
463  typedef boost::units::derived_dimension< boost::units::length_base_dimension,1, boost::units::time_base_dimension,-1 >::type stationkeep_outer_dimension;
464 
465  typedef boost::units::unit<stationkeep_outer_dimension,boost::units::si::system> stationkeep_outer_unit;
466 
467  template<typename Quantity >
468  void set_stationkeep_outer_with_units(Quantity value_w_units)
469  { set_stationkeep_outer(boost::units::quantity<stationkeep_outer_unit,double >(value_w_units).value() ); };
470 
471  template<typename Quantity >
473  { return Quantity(stationkeep_outer() * stationkeep_outer_unit()); };
474 
475  boost::units::quantity< stationkeep_outer_unit,double > stationkeep_outer_with_units() const
476  { return stationkeep_outer_with_units<boost::units::quantity< stationkeep_outer_unit,double > >(); };
477 
478  // @@protoc_insertion_point(class_scope:jaiabot.protobuf.Speeds)
479  private:
480  class _Internal;
481 
482  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
483  typedef void InternalArenaConstructable_;
484  typedef void DestructorSkippable_;
485  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
486  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
487  double transit_;
488  double stationkeep_outer_;
489  friend struct ::TableStruct_jaiabot_2fmessages_2fmission_2eproto;
490 };
491 // -------------------------------------------------------------------
492 
493 class BottomDepthSafetyParams PROTOBUF_FINAL :
494  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:jaiabot.protobuf.BottomDepthSafetyParams) */ {
495  public:
496  inline BottomDepthSafetyParams() : BottomDepthSafetyParams(nullptr) {};
498 
499  BottomDepthSafetyParams(const BottomDepthSafetyParams& from);
500  BottomDepthSafetyParams(BottomDepthSafetyParams&& from) noexcept
501  : BottomDepthSafetyParams() {
502  *this = ::std::move(from);
503  }
504 
505  inline BottomDepthSafetyParams& operator=(const BottomDepthSafetyParams& from) {
506  CopyFrom(from);
507  return *this;
508  }
509  inline BottomDepthSafetyParams& operator=(BottomDepthSafetyParams&& from) noexcept {
510  if (GetArena() == from.GetArena()) {
511  if (this != &from) InternalSwap(&from);
512  } else {
513  CopyFrom(from);
514  }
515  return *this;
516  }
517 
518  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
519  return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
520  }
521  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
522  return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
523  }
524 
525  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
526  return GetDescriptor();
527  }
528  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
529  return GetMetadataStatic().descriptor;
530  }
531  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
532  return GetMetadataStatic().reflection;
533  }
534  static const BottomDepthSafetyParams& default_instance();
535 
536  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
537  static inline const BottomDepthSafetyParams* internal_default_instance() {
538  return reinterpret_cast<const BottomDepthSafetyParams*>(
540  }
541  static constexpr int kIndexInFileMessages =
542  1;
543 
544  friend void swap(BottomDepthSafetyParams& a, BottomDepthSafetyParams& b) {
545  a.Swap(&b);
546  }
547  inline void Swap(BottomDepthSafetyParams* other) {
548  if (other == this) return;
549  if (GetArena() == other->GetArena()) {
550  InternalSwap(other);
551  } else {
552  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
553  }
554  }
555  void UnsafeArenaSwap(BottomDepthSafetyParams* other) {
556  if (other == this) return;
557  GOOGLE_DCHECK(GetArena() == other->GetArena());
558  InternalSwap(other);
559  }
560 
561  // implements Message ----------------------------------------------
562 
563  inline BottomDepthSafetyParams* New() const final {
564  return CreateMaybeMessage<BottomDepthSafetyParams>(nullptr);
565  }
566 
567  BottomDepthSafetyParams* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
568  return CreateMaybeMessage<BottomDepthSafetyParams>(arena);
569  }
570  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
571  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
572  void CopyFrom(const BottomDepthSafetyParams& from);
573  void MergeFrom(const BottomDepthSafetyParams& from);
574  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
575  bool IsInitialized() const final;
576 
577  size_t ByteSizeLong() const final;
578  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
579  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
580  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
581  int GetCachedSize() const final { return _cached_size_.Get(); }
582 
583  private:
584  inline void SharedCtor();
585  inline void SharedDtor();
586  void SetCachedSize(int size) const final;
587  void InternalSwap(BottomDepthSafetyParams* other);
588  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
589  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
590  return "jaiabot.protobuf.BottomDepthSafetyParams";
591  }
592  protected:
593  explicit BottomDepthSafetyParams(::PROTOBUF_NAMESPACE_ID::Arena* arena);
594  private:
595  static void ArenaDtor(void* object);
596  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
597  public:
598 
599  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
600  private:
601  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
602  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_jaiabot_2fmessages_2fmission_2eproto);
603  return ::descriptor_table_jaiabot_2fmessages_2fmission_2eproto.file_level_metadata[kIndexInFileMessages];
604  }
605 
606  public:
607 
608  // nested types ----------------------------------------------------
609 
610  // accessors -------------------------------------------------------
611 
612  enum : int {
613  kConstantHeadingFieldNumber = 1,
614  kConstantHeadingTimeFieldNumber = 2,
615  kConstantHeadingSpeedFieldNumber = 3,
616  kSafetyDepthFieldNumber = 4,
617  };
618  // required double constant_heading = 1 [default = 0, (.dccl.field) = {
619  bool has_constant_heading() const;
620  private:
621  bool _internal_has_constant_heading() const;
622  public:
624  double constant_heading() const;
625  void set_constant_heading(double value);
626  private:
627  double _internal_constant_heading() const;
628  void _internal_set_constant_heading(double value);
629  public:
630 
631  // required int32 constant_heading_time = 2 [default = 0, (.dccl.field) = {
633  private:
634  bool _internal_has_constant_heading_time() const;
635  public:
637  ::PROTOBUF_NAMESPACE_ID::int32 constant_heading_time() const;
638  void set_constant_heading_time(::PROTOBUF_NAMESPACE_ID::int32 value);
639  private:
640  ::PROTOBUF_NAMESPACE_ID::int32 _internal_constant_heading_time() const;
641  void _internal_set_constant_heading_time(::PROTOBUF_NAMESPACE_ID::int32 value);
642  public:
643 
644  // required double constant_heading_speed = 3 [default = 2, (.dccl.field) = {
646  private:
647  bool _internal_has_constant_heading_speed() const;
648  public:
650  double constant_heading_speed() const;
651  void set_constant_heading_speed(double value);
652  private:
653  double _internal_constant_heading_speed() const;
654  void _internal_set_constant_heading_speed(double value);
655  public:
656 
657  // required double safety_depth = 4 [default = -1, (.dccl.field) = {
658  bool has_safety_depth() const;
659  private:
660  bool _internal_has_safety_depth() const;
661  public:
663  double safety_depth() const;
664  void set_safety_depth(double value);
665  private:
666  double _internal_safety_depth() const;
667  void _internal_set_safety_depth(double value);
668  public:
669 
670  typedef boost::units::plane_angle_dimension constant_heading_dimension;
671 
672  typedef boost::units::unit<constant_heading_dimension,boost::units::degree::system> constant_heading_unit;
673 
674  template<typename Quantity >
675  void set_constant_heading_with_units(Quantity value_w_units)
676  { set_constant_heading(boost::units::quantity<constant_heading_unit,double >(value_w_units).value() ); };
677 
678  template<typename Quantity >
680  { return Quantity(constant_heading() * constant_heading_unit()); };
681 
682  boost::units::quantity< constant_heading_unit,double > constant_heading_with_units() const
683  { return constant_heading_with_units<boost::units::quantity< constant_heading_unit,double > >(); };
684 
685  typedef boost::units::derived_dimension< boost::units::time_base_dimension,1 >::type constant_heading_time_dimension;
686 
687  typedef boost::units::unit<constant_heading_time_dimension,boost::units::si::system> constant_heading_time_unit;
688 
689  template<typename Quantity >
690  void set_constant_heading_time_with_units(Quantity value_w_units)
691  { set_constant_heading_time(boost::units::quantity<constant_heading_time_unit,google::protobuf::int32 >(value_w_units).value() ); };
692 
693  template<typename Quantity >
695  { return Quantity(constant_heading_time() * constant_heading_time_unit()); };
696 
697  boost::units::quantity< constant_heading_time_unit,google::protobuf::int32 > constant_heading_time_with_units() const
698  { return constant_heading_time_with_units<boost::units::quantity< constant_heading_time_unit,google::protobuf::int32 > >(); };
699 
700  typedef boost::units::derived_dimension< boost::units::length_base_dimension,1, boost::units::time_base_dimension,-1 >::type constant_heading_speed_dimension;
701 
702  typedef boost::units::unit<constant_heading_speed_dimension,boost::units::si::system> constant_heading_speed_unit;
703 
704  template<typename Quantity >
705  void set_constant_heading_speed_with_units(Quantity value_w_units)
706  { set_constant_heading_speed(boost::units::quantity<constant_heading_speed_unit,double >(value_w_units).value() ); };
707 
708  template<typename Quantity >
710  { return Quantity(constant_heading_speed() * constant_heading_speed_unit()); };
711 
712  boost::units::quantity< constant_heading_speed_unit,double > constant_heading_speed_with_units() const
713  { return constant_heading_speed_with_units<boost::units::quantity< constant_heading_speed_unit,double > >(); };
714 
715  typedef boost::units::derived_dimension< boost::units::length_base_dimension,1, boost::units::time_base_dimension,-1 >::type safety_depth_dimension;
716 
717  typedef boost::units::unit<safety_depth_dimension,boost::units::si::system> safety_depth_unit;
718 
719  template<typename Quantity >
720  void set_safety_depth_with_units(Quantity value_w_units)
721  { set_safety_depth(boost::units::quantity<safety_depth_unit,double >(value_w_units).value() ); };
722 
723  template<typename Quantity >
724  Quantity safety_depth_with_units() const
725  { return Quantity(safety_depth() * safety_depth_unit()); };
726 
727  boost::units::quantity< safety_depth_unit,double > safety_depth_with_units() const
728  { return safety_depth_with_units<boost::units::quantity< safety_depth_unit,double > >(); };
729 
730  // @@protoc_insertion_point(class_scope:jaiabot.protobuf.BottomDepthSafetyParams)
731  private:
732  class _Internal;
733 
734  // helper for ByteSizeLong()
735  size_t RequiredFieldsByteSizeFallback() const;
736 
737  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
738  typedef void InternalArenaConstructable_;
739  typedef void DestructorSkippable_;
740  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
741  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
742  double constant_heading_;
743  ::PROTOBUF_NAMESPACE_ID::int32 constant_heading_time_;
744  double constant_heading_speed_;
745  double safety_depth_;
746  friend struct ::TableStruct_jaiabot_2fmessages_2fmission_2eproto;
747 };
748 // -------------------------------------------------------------------
749 
750 class MissionReport PROTOBUF_FINAL :
751  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:jaiabot.protobuf.MissionReport) */ {
752  public:
753  inline MissionReport() : MissionReport(nullptr) {};
754  virtual ~MissionReport();
755 
756  MissionReport(const MissionReport& from);
757  MissionReport(MissionReport&& from) noexcept
758  : MissionReport() {
759  *this = ::std::move(from);
760  }
761 
762  inline MissionReport& operator=(const MissionReport& from) {
763  CopyFrom(from);
764  return *this;
765  }
766  inline MissionReport& operator=(MissionReport&& from) noexcept {
767  if (GetArena() == from.GetArena()) {
768  if (this != &from) InternalSwap(&from);
769  } else {
770  CopyFrom(from);
771  }
772  return *this;
773  }
774 
775  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
776  return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
777  }
778  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
779  return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
780  }
781 
782  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
783  return GetDescriptor();
784  }
785  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
786  return GetMetadataStatic().descriptor;
787  }
788  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
789  return GetMetadataStatic().reflection;
790  }
791  static const MissionReport& default_instance();
792 
793  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
794  static inline const MissionReport* internal_default_instance() {
795  return reinterpret_cast<const MissionReport*>(
797  }
798  static constexpr int kIndexInFileMessages =
799  2;
800 
801  friend void swap(MissionReport& a, MissionReport& b) {
802  a.Swap(&b);
803  }
804  inline void Swap(MissionReport* other) {
805  if (other == this) return;
806  if (GetArena() == other->GetArena()) {
807  InternalSwap(other);
808  } else {
809  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
810  }
811  }
812  void UnsafeArenaSwap(MissionReport* other) {
813  if (other == this) return;
814  GOOGLE_DCHECK(GetArena() == other->GetArena());
815  InternalSwap(other);
816  }
817 
818  // implements Message ----------------------------------------------
819 
820  inline MissionReport* New() const final {
821  return CreateMaybeMessage<MissionReport>(nullptr);
822  }
823 
824  MissionReport* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
825  return CreateMaybeMessage<MissionReport>(arena);
826  }
827  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
828  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
829  void CopyFrom(const MissionReport& from);
830  void MergeFrom(const MissionReport& from);
831  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
832  bool IsInitialized() const final;
833 
834  size_t ByteSizeLong() const final;
835  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
836  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
837  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
838  int GetCachedSize() const final { return _cached_size_.Get(); }
839 
840  private:
841  inline void SharedCtor();
842  inline void SharedDtor();
843  void SetCachedSize(int size) const final;
844  void InternalSwap(MissionReport* other);
845  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
846  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
847  return "jaiabot.protobuf.MissionReport";
848  }
849  protected:
850  explicit MissionReport(::PROTOBUF_NAMESPACE_ID::Arena* arena);
851  private:
852  static void ArenaDtor(void* object);
853  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
854  public:
855 
856  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
857  private:
858  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
859  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_jaiabot_2fmessages_2fmission_2eproto);
860  return ::descriptor_table_jaiabot_2fmessages_2fmission_2eproto.file_level_metadata[kIndexInFileMessages];
861  }
862 
863  public:
864 
865  // nested types ----------------------------------------------------
866 
867  // accessors -------------------------------------------------------
868 
869  enum : int {
870  kActiveGoalLocationFieldNumber = 12,
871  kRepeatIndexFieldNumber = 16,
872  kStateFieldNumber = 10,
873  kActiveGoalFieldNumber = 11,
874  kDistanceToActiveGoalFieldNumber = 13,
875  kActiveGoalTimeoutFieldNumber = 14,
876  kDataOffloadPercentageFieldNumber = 15,
877  };
878  // optional .jaiabot.protobuf.GeographicCoordinate active_goal_location = 12;
880  private:
881  bool _internal_has_active_goal_location() const;
882  public:
884  const ::jaiabot::protobuf::GeographicCoordinate& active_goal_location() const;
885  ::jaiabot::protobuf::GeographicCoordinate* release_active_goal_location();
886  ::jaiabot::protobuf::GeographicCoordinate* mutable_active_goal_location();
887  void set_allocated_active_goal_location(::jaiabot::protobuf::GeographicCoordinate* active_goal_location);
888  private:
889  const ::jaiabot::protobuf::GeographicCoordinate& _internal_active_goal_location() const;
890  ::jaiabot::protobuf::GeographicCoordinate* _internal_mutable_active_goal_location();
891  public:
893  ::jaiabot::protobuf::GeographicCoordinate* active_goal_location);
894  ::jaiabot::protobuf::GeographicCoordinate* unsafe_arena_release_active_goal_location();
895 
896  // optional int32 repeat_index = 16 [(.dccl.field) = {
897  bool has_repeat_index() const;
898  private:
899  bool _internal_has_repeat_index() const;
900  public:
902  ::PROTOBUF_NAMESPACE_ID::int32 repeat_index() const;
903  void set_repeat_index(::PROTOBUF_NAMESPACE_ID::int32 value);
904  private:
905  ::PROTOBUF_NAMESPACE_ID::int32 _internal_repeat_index() const;
906  void _internal_set_repeat_index(::PROTOBUF_NAMESPACE_ID::int32 value);
907  public:
908 
909  // required .jaiabot.protobuf.MissionState state = 10;
910  bool has_state() const;
911  private:
912  bool _internal_has_state() const;
913  public:
914  void clear_state();
917  private:
918  ::jaiabot::protobuf::MissionState _internal_state() const;
919  void _internal_set_state(::jaiabot::protobuf::MissionState value);
920  public:
921 
922  // optional int32 active_goal = 11;
923  bool has_active_goal() const;
924  private:
925  bool _internal_has_active_goal() const;
926  public:
928  ::PROTOBUF_NAMESPACE_ID::int32 active_goal() const;
929  void set_active_goal(::PROTOBUF_NAMESPACE_ID::int32 value);
930  private:
931  ::PROTOBUF_NAMESPACE_ID::int32 _internal_active_goal() const;
932  void _internal_set_active_goal(::PROTOBUF_NAMESPACE_ID::int32 value);
933  public:
934 
935  // optional double distance_to_active_goal = 13 [(.dccl.field) = {
937  private:
938  bool _internal_has_distance_to_active_goal() const;
939  public:
941  double distance_to_active_goal() const;
942  void set_distance_to_active_goal(double value);
943  private:
944  double _internal_distance_to_active_goal() const;
945  void _internal_set_distance_to_active_goal(double value);
946  public:
947 
948  // optional uint32 active_goal_timeout = 14 [(.dccl.field) = {
950  private:
951  bool _internal_has_active_goal_timeout() const;
952  public:
954  ::PROTOBUF_NAMESPACE_ID::uint32 active_goal_timeout() const;
955  void set_active_goal_timeout(::PROTOBUF_NAMESPACE_ID::uint32 value);
956  private:
957  ::PROTOBUF_NAMESPACE_ID::uint32 _internal_active_goal_timeout() const;
958  void _internal_set_active_goal_timeout(::PROTOBUF_NAMESPACE_ID::uint32 value);
959  public:
960 
961  // optional int32 data_offload_percentage = 15 [(.dccl.field) = {
963  private:
964  bool _internal_has_data_offload_percentage() const;
965  public:
967  ::PROTOBUF_NAMESPACE_ID::int32 data_offload_percentage() const;
968  void set_data_offload_percentage(::PROTOBUF_NAMESPACE_ID::int32 value);
969  private:
970  ::PROTOBUF_NAMESPACE_ID::int32 _internal_data_offload_percentage() const;
971  void _internal_set_data_offload_percentage(::PROTOBUF_NAMESPACE_ID::int32 value);
972  public:
973 
974  typedef boost::units::length_dimension distance_to_active_goal_dimension;
975 
976  typedef boost::units::unit<distance_to_active_goal_dimension,boost::units::si::system> distance_to_active_goal_unit;
977 
978  template<typename Quantity >
979  void set_distance_to_active_goal_with_units(Quantity value_w_units)
980  { set_distance_to_active_goal(boost::units::quantity<distance_to_active_goal_unit,double >(value_w_units).value() ); };
981 
982  template<typename Quantity >
984  { return Quantity(distance_to_active_goal() * distance_to_active_goal_unit()); };
985 
986  boost::units::quantity< distance_to_active_goal_unit,double > distance_to_active_goal_with_units() const
987  { return distance_to_active_goal_with_units<boost::units::quantity< distance_to_active_goal_unit,double > >(); };
988 
989  typedef boost::units::derived_dimension< boost::units::time_base_dimension,1 >::type active_goal_timeout_dimension;
990 
991  typedef boost::units::unit<active_goal_timeout_dimension,boost::units::si::system> active_goal_timeout_unit;
992 
993  template<typename Quantity >
994  void set_active_goal_timeout_with_units(Quantity value_w_units)
995  { set_active_goal_timeout(boost::units::quantity<active_goal_timeout_unit,google::protobuf::uint32 >(value_w_units).value() ); };
996 
997  template<typename Quantity >
999  { return Quantity(active_goal_timeout() * active_goal_timeout_unit()); };
1000 
1001  boost::units::quantity< active_goal_timeout_unit,google::protobuf::uint32 > active_goal_timeout_with_units() const
1002  { return active_goal_timeout_with_units<boost::units::quantity< active_goal_timeout_unit,google::protobuf::uint32 > >(); };
1003 
1004  // @@protoc_insertion_point(class_scope:jaiabot.protobuf.MissionReport)
1005  private:
1006  class _Internal;
1007 
1008  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
1009  typedef void InternalArenaConstructable_;
1010  typedef void DestructorSkippable_;
1011  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
1012  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
1013  ::jaiabot::protobuf::GeographicCoordinate* active_goal_location_;
1014  ::PROTOBUF_NAMESPACE_ID::int32 repeat_index_;
1015  int state_;
1016  ::PROTOBUF_NAMESPACE_ID::int32 active_goal_;
1017  double distance_to_active_goal_;
1018  ::PROTOBUF_NAMESPACE_ID::uint32 active_goal_timeout_;
1019  ::PROTOBUF_NAMESPACE_ID::int32 data_offload_percentage_;
1020  friend struct ::TableStruct_jaiabot_2fmessages_2fmission_2eproto;
1021 };
1022 // -------------------------------------------------------------------
1023 
1024 class MissionTask_DiveParameters PROTOBUF_FINAL :
1025  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:jaiabot.protobuf.MissionTask.DiveParameters) */ {
1026  public:
1027  inline MissionTask_DiveParameters() : MissionTask_DiveParameters(nullptr) {};
1029 
1030  MissionTask_DiveParameters(const MissionTask_DiveParameters& from);
1031  MissionTask_DiveParameters(MissionTask_DiveParameters&& from) noexcept
1032  : MissionTask_DiveParameters() {
1033  *this = ::std::move(from);
1034  }
1035 
1036  inline MissionTask_DiveParameters& operator=(const MissionTask_DiveParameters& from) {
1037  CopyFrom(from);
1038  return *this;
1039  }
1040  inline MissionTask_DiveParameters& operator=(MissionTask_DiveParameters&& from) noexcept {
1041  if (GetArena() == from.GetArena()) {
1042  if (this != &from) InternalSwap(&from);
1043  } else {
1044  CopyFrom(from);
1045  }
1046  return *this;
1047  }
1048 
1049  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
1050  return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
1051  }
1052  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
1053  return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
1054  }
1055 
1056  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
1057  return GetDescriptor();
1058  }
1059  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
1060  return GetMetadataStatic().descriptor;
1061  }
1062  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
1063  return GetMetadataStatic().reflection;
1064  }
1065  static const MissionTask_DiveParameters& default_instance();
1066 
1067  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
1068  static inline const MissionTask_DiveParameters* internal_default_instance() {
1069  return reinterpret_cast<const MissionTask_DiveParameters*>(
1071  }
1072  static constexpr int kIndexInFileMessages =
1073  3;
1074 
1075  friend void swap(MissionTask_DiveParameters& a, MissionTask_DiveParameters& b) {
1076  a.Swap(&b);
1077  }
1078  inline void Swap(MissionTask_DiveParameters* other) {
1079  if (other == this) return;
1080  if (GetArena() == other->GetArena()) {
1081  InternalSwap(other);
1082  } else {
1083  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
1084  }
1085  }
1086  void UnsafeArenaSwap(MissionTask_DiveParameters* other) {
1087  if (other == this) return;
1088  GOOGLE_DCHECK(GetArena() == other->GetArena());
1089  InternalSwap(other);
1090  }
1091 
1092  // implements Message ----------------------------------------------
1093 
1094  inline MissionTask_DiveParameters* New() const final {
1095  return CreateMaybeMessage<MissionTask_DiveParameters>(nullptr);
1096  }
1097 
1098  MissionTask_DiveParameters* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
1099  return CreateMaybeMessage<MissionTask_DiveParameters>(arena);
1100  }
1101  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
1102  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
1103  void CopyFrom(const MissionTask_DiveParameters& from);
1104  void MergeFrom(const MissionTask_DiveParameters& from);
1105  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
1106  bool IsInitialized() const final;
1107 
1108  size_t ByteSizeLong() const final;
1109  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
1110  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
1111  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
1112  int GetCachedSize() const final { return _cached_size_.Get(); }
1113 
1114  private:
1115  inline void SharedCtor();
1116  inline void SharedDtor();
1117  void SetCachedSize(int size) const final;
1118  void InternalSwap(MissionTask_DiveParameters* other);
1119  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
1120  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
1121  return "jaiabot.protobuf.MissionTask.DiveParameters";
1122  }
1123  protected:
1124  explicit MissionTask_DiveParameters(::PROTOBUF_NAMESPACE_ID::Arena* arena);
1125  private:
1126  static void ArenaDtor(void* object);
1127  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
1128  public:
1129 
1130  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
1131  private:
1132  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
1133  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_jaiabot_2fmessages_2fmission_2eproto);
1134  return ::descriptor_table_jaiabot_2fmessages_2fmission_2eproto.file_level_metadata[kIndexInFileMessages];
1135  }
1136 
1137  public:
1138 
1139  // nested types ----------------------------------------------------
1140 
1141  // accessors -------------------------------------------------------
1142 
1143  enum : int {
1144  kHoldTimeFieldNumber = 3,
1145  kBottomDiveFieldNumber = 4,
1146  kMaxDepthFieldNumber = 1,
1147  kDepthIntervalFieldNumber = 2,
1148  };
1149  // optional double hold_time = 3 [default = 0, (.dccl.field) = {
1150  bool has_hold_time() const;
1151  private:
1152  bool _internal_has_hold_time() const;
1153  public:
1155  double hold_time() const;
1156  void set_hold_time(double value);
1157  private:
1158  double _internal_hold_time() const;
1159  void _internal_set_hold_time(double value);
1160  public:
1161 
1162  // optional bool bottom_dive = 4 [default = false, (.jaia.field) = {
1163  bool has_bottom_dive() const;
1164  private:
1165  bool _internal_has_bottom_dive() const;
1166  public:
1168  bool bottom_dive() const;
1169  void set_bottom_dive(bool value);
1170  private:
1171  bool _internal_bottom_dive() const;
1172  void _internal_set_bottom_dive(bool value);
1173  public:
1174 
1175  // optional double max_depth = 1 [default = 50, (.dccl.field) = {
1176  bool has_max_depth() const;
1177  private:
1178  bool _internal_has_max_depth() const;
1179  public:
1181  double max_depth() const;
1182  void set_max_depth(double value);
1183  private:
1184  double _internal_max_depth() const;
1185  void _internal_set_max_depth(double value);
1186  public:
1187 
1188  // optional double depth_interval = 2 [default = inf, (.dccl.field) = {
1189  bool has_depth_interval() const;
1190  private:
1191  bool _internal_has_depth_interval() const;
1192  public:
1194  double depth_interval() const;
1195  void set_depth_interval(double value);
1196  private:
1197  double _internal_depth_interval() const;
1198  void _internal_set_depth_interval(double value);
1199  public:
1200 
1201  typedef boost::units::derived_dimension< boost::units::length_base_dimension,1 >::type max_depth_dimension;
1202 
1203  typedef boost::units::unit<max_depth_dimension,boost::units::si::system> max_depth_unit;
1204 
1205  template<typename Quantity >
1206  void set_max_depth_with_units(Quantity value_w_units)
1207  { set_max_depth(boost::units::quantity<max_depth_unit,double >(value_w_units).value() ); };
1208 
1209  template<typename Quantity >
1210  Quantity max_depth_with_units() const
1211  { return Quantity(max_depth() * max_depth_unit()); };
1212 
1213  boost::units::quantity< max_depth_unit,double > max_depth_with_units() const
1214  { return max_depth_with_units<boost::units::quantity< max_depth_unit,double > >(); };
1215 
1216  typedef boost::units::derived_dimension< boost::units::length_base_dimension,1 >::type depth_interval_dimension;
1217 
1218  typedef boost::units::unit<depth_interval_dimension,boost::units::si::system> depth_interval_unit;
1219 
1220  template<typename Quantity >
1221  void set_depth_interval_with_units(Quantity value_w_units)
1222  { set_depth_interval(boost::units::quantity<depth_interval_unit,double >(value_w_units).value() ); };
1223 
1224  template<typename Quantity >
1225  Quantity depth_interval_with_units() const
1226  { return Quantity(depth_interval() * depth_interval_unit()); };
1227 
1228  boost::units::quantity< depth_interval_unit,double > depth_interval_with_units() const
1229  { return depth_interval_with_units<boost::units::quantity< depth_interval_unit,double > >(); };
1230 
1231  typedef boost::units::derived_dimension< boost::units::time_base_dimension,1 >::type hold_time_dimension;
1232 
1233  typedef boost::units::unit<hold_time_dimension,boost::units::si::system> hold_time_unit;
1234 
1235  template<typename Quantity >
1236  void set_hold_time_with_units(Quantity value_w_units)
1237  { set_hold_time(boost::units::quantity<hold_time_unit,double >(value_w_units).value() ); };
1238 
1239  template<typename Quantity >
1240  Quantity hold_time_with_units() const
1241  { return Quantity(hold_time() * hold_time_unit()); };
1242 
1243  boost::units::quantity< hold_time_unit,double > hold_time_with_units() const
1244  { return hold_time_with_units<boost::units::quantity< hold_time_unit,double > >(); };
1245 
1246  // @@protoc_insertion_point(class_scope:jaiabot.protobuf.MissionTask.DiveParameters)
1247  private:
1248  class _Internal;
1249 
1250  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
1251  typedef void InternalArenaConstructable_;
1252  typedef void DestructorSkippable_;
1253  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
1254  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
1255  double hold_time_;
1256  bool bottom_dive_;
1257  double max_depth_;
1258  double depth_interval_;
1259  friend struct ::TableStruct_jaiabot_2fmessages_2fmission_2eproto;
1260 };
1261 // -------------------------------------------------------------------
1262 
1263 class MissionTask_DriftParameters PROTOBUF_FINAL :
1264  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:jaiabot.protobuf.MissionTask.DriftParameters) */ {
1265  public:
1266  inline MissionTask_DriftParameters() : MissionTask_DriftParameters(nullptr) {};
1268 
1269  MissionTask_DriftParameters(const MissionTask_DriftParameters& from);
1270  MissionTask_DriftParameters(MissionTask_DriftParameters&& from) noexcept
1271  : MissionTask_DriftParameters() {
1272  *this = ::std::move(from);
1273  }
1274 
1275  inline MissionTask_DriftParameters& operator=(const MissionTask_DriftParameters& from) {
1276  CopyFrom(from);
1277  return *this;
1278  }
1279  inline MissionTask_DriftParameters& operator=(MissionTask_DriftParameters&& from) noexcept {
1280  if (GetArena() == from.GetArena()) {
1281  if (this != &from) InternalSwap(&from);
1282  } else {
1283  CopyFrom(from);
1284  }
1285  return *this;
1286  }
1287 
1288  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
1289  return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
1290  }
1291  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
1292  return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
1293  }
1294 
1295  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
1296  return GetDescriptor();
1297  }
1298  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
1299  return GetMetadataStatic().descriptor;
1300  }
1301  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
1302  return GetMetadataStatic().reflection;
1303  }
1304  static const MissionTask_DriftParameters& default_instance();
1305 
1306  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
1307  static inline const MissionTask_DriftParameters* internal_default_instance() {
1308  return reinterpret_cast<const MissionTask_DriftParameters*>(
1310  }
1311  static constexpr int kIndexInFileMessages =
1312  4;
1313 
1314  friend void swap(MissionTask_DriftParameters& a, MissionTask_DriftParameters& b) {
1315  a.Swap(&b);
1316  }
1317  inline void Swap(MissionTask_DriftParameters* other) {
1318  if (other == this) return;
1319  if (GetArena() == other->GetArena()) {
1320  InternalSwap(other);
1321  } else {
1322  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
1323  }
1324  }
1325  void UnsafeArenaSwap(MissionTask_DriftParameters* other) {
1326  if (other == this) return;
1327  GOOGLE_DCHECK(GetArena() == other->GetArena());
1328  InternalSwap(other);
1329  }
1330 
1331  // implements Message ----------------------------------------------
1332 
1333  inline MissionTask_DriftParameters* New() const final {
1334  return CreateMaybeMessage<MissionTask_DriftParameters>(nullptr);
1335  }
1336 
1337  MissionTask_DriftParameters* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
1338  return CreateMaybeMessage<MissionTask_DriftParameters>(arena);
1339  }
1340  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
1341  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
1342  void CopyFrom(const MissionTask_DriftParameters& from);
1343  void MergeFrom(const MissionTask_DriftParameters& from);
1344  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
1345  bool IsInitialized() const final;
1346 
1347  size_t ByteSizeLong() const final;
1348  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
1349  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
1350  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
1351  int GetCachedSize() const final { return _cached_size_.Get(); }
1352 
1353  private:
1354  inline void SharedCtor();
1355  inline void SharedDtor();
1356  void SetCachedSize(int size) const final;
1357  void InternalSwap(MissionTask_DriftParameters* other);
1358  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
1359  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
1360  return "jaiabot.protobuf.MissionTask.DriftParameters";
1361  }
1362  protected:
1363  explicit MissionTask_DriftParameters(::PROTOBUF_NAMESPACE_ID::Arena* arena);
1364  private:
1365  static void ArenaDtor(void* object);
1366  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
1367  public:
1368 
1369  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
1370  private:
1371  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
1372  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_jaiabot_2fmessages_2fmission_2eproto);
1373  return ::descriptor_table_jaiabot_2fmessages_2fmission_2eproto.file_level_metadata[kIndexInFileMessages];
1374  }
1375 
1376  public:
1377 
1378  // nested types ----------------------------------------------------
1379 
1380  // accessors -------------------------------------------------------
1381 
1382  enum : int {
1383  kDriftTimeFieldNumber = 3,
1384  };
1385  // optional int32 drift_time = 3 [default = 0, (.dccl.field) = {
1386  bool has_drift_time() const;
1387  private:
1388  bool _internal_has_drift_time() const;
1389  public:
1391  ::PROTOBUF_NAMESPACE_ID::int32 drift_time() const;
1392  void set_drift_time(::PROTOBUF_NAMESPACE_ID::int32 value);
1393  private:
1394  ::PROTOBUF_NAMESPACE_ID::int32 _internal_drift_time() const;
1395  void _internal_set_drift_time(::PROTOBUF_NAMESPACE_ID::int32 value);
1396  public:
1397 
1398  typedef boost::units::derived_dimension< boost::units::time_base_dimension,1 >::type drift_time_dimension;
1399 
1400  typedef boost::units::unit<drift_time_dimension,boost::units::si::system> drift_time_unit;
1401 
1402  template<typename Quantity >
1403  void set_drift_time_with_units(Quantity value_w_units)
1404  { set_drift_time(boost::units::quantity<drift_time_unit,google::protobuf::int32 >(value_w_units).value() ); };
1405 
1406  template<typename Quantity >
1407  Quantity drift_time_with_units() const
1408  { return Quantity(drift_time() * drift_time_unit()); };
1409 
1410  boost::units::quantity< drift_time_unit,google::protobuf::int32 > drift_time_with_units() const
1411  { return drift_time_with_units<boost::units::quantity< drift_time_unit,google::protobuf::int32 > >(); };
1412 
1413  // @@protoc_insertion_point(class_scope:jaiabot.protobuf.MissionTask.DriftParameters)
1414  private:
1415  class _Internal;
1416 
1417  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
1418  typedef void InternalArenaConstructable_;
1419  typedef void DestructorSkippable_;
1420  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
1421  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
1422  ::PROTOBUF_NAMESPACE_ID::int32 drift_time_;
1423  friend struct ::TableStruct_jaiabot_2fmessages_2fmission_2eproto;
1424 };
1425 // -------------------------------------------------------------------
1426 
1427 class MissionTask_ConstantHeadingParameters PROTOBUF_FINAL :
1428  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:jaiabot.protobuf.MissionTask.ConstantHeadingParameters) */ {
1429  public:
1430  inline MissionTask_ConstantHeadingParameters() : MissionTask_ConstantHeadingParameters(nullptr) {};
1432 
1433  MissionTask_ConstantHeadingParameters(const MissionTask_ConstantHeadingParameters& from);
1434  MissionTask_ConstantHeadingParameters(MissionTask_ConstantHeadingParameters&& from) noexcept
1435  : MissionTask_ConstantHeadingParameters() {
1436  *this = ::std::move(from);
1437  }
1438 
1439  inline MissionTask_ConstantHeadingParameters& operator=(const MissionTask_ConstantHeadingParameters& from) {
1440  CopyFrom(from);
1441  return *this;
1442  }
1443  inline MissionTask_ConstantHeadingParameters& operator=(MissionTask_ConstantHeadingParameters&& from) noexcept {
1444  if (GetArena() == from.GetArena()) {
1445  if (this != &from) InternalSwap(&from);
1446  } else {
1447  CopyFrom(from);
1448  }
1449  return *this;
1450  }
1451 
1452  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
1453  return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
1454  }
1455  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
1456  return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
1457  }
1458 
1459  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
1460  return GetDescriptor();
1461  }
1462  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
1463  return GetMetadataStatic().descriptor;
1464  }
1465  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
1466  return GetMetadataStatic().reflection;
1467  }
1468  static const MissionTask_ConstantHeadingParameters& default_instance();
1469 
1470  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
1471  static inline const MissionTask_ConstantHeadingParameters* internal_default_instance() {
1472  return reinterpret_cast<const MissionTask_ConstantHeadingParameters*>(
1474  }
1475  static constexpr int kIndexInFileMessages =
1476  5;
1477 
1478  friend void swap(MissionTask_ConstantHeadingParameters& a, MissionTask_ConstantHeadingParameters& b) {
1479  a.Swap(&b);
1480  }
1481  inline void Swap(MissionTask_ConstantHeadingParameters* other) {
1482  if (other == this) return;
1483  if (GetArena() == other->GetArena()) {
1484  InternalSwap(other);
1485  } else {
1486  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
1487  }
1488  }
1489  void UnsafeArenaSwap(MissionTask_ConstantHeadingParameters* other) {
1490  if (other == this) return;
1491  GOOGLE_DCHECK(GetArena() == other->GetArena());
1492  InternalSwap(other);
1493  }
1494 
1495  // implements Message ----------------------------------------------
1496 
1497  inline MissionTask_ConstantHeadingParameters* New() const final {
1498  return CreateMaybeMessage<MissionTask_ConstantHeadingParameters>(nullptr);
1499  }
1500 
1501  MissionTask_ConstantHeadingParameters* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
1502  return CreateMaybeMessage<MissionTask_ConstantHeadingParameters>(arena);
1503  }
1504  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
1505  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
1506  void CopyFrom(const MissionTask_ConstantHeadingParameters& from);
1507  void MergeFrom(const MissionTask_ConstantHeadingParameters& from);
1508  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
1509  bool IsInitialized() const final;
1510 
1511  size_t ByteSizeLong() const final;
1512  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
1513  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
1514  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
1515  int GetCachedSize() const final { return _cached_size_.Get(); }
1516 
1517  private:
1518  inline void SharedCtor();
1519  inline void SharedDtor();
1520  void SetCachedSize(int size) const final;
1521  void InternalSwap(MissionTask_ConstantHeadingParameters* other);
1522  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
1523  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
1524  return "jaiabot.protobuf.MissionTask.ConstantHeadingParameters";
1525  }
1526  protected:
1527  explicit MissionTask_ConstantHeadingParameters(::PROTOBUF_NAMESPACE_ID::Arena* arena);
1528  private:
1529  static void ArenaDtor(void* object);
1530  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
1531  public:
1532 
1533  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
1534  private:
1535  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
1536  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_jaiabot_2fmessages_2fmission_2eproto);
1537  return ::descriptor_table_jaiabot_2fmessages_2fmission_2eproto.file_level_metadata[kIndexInFileMessages];
1538  }
1539 
1540  public:
1541 
1542  // nested types ----------------------------------------------------
1543 
1544  // accessors -------------------------------------------------------
1545 
1546  enum : int {
1547  kConstantHeadingFieldNumber = 1,
1548  kConstantHeadingTimeFieldNumber = 2,
1549  kConstantHeadingSpeedFieldNumber = 3,
1550  };
1551  // optional double constant_heading = 1 [(.dccl.field) = {
1552  bool has_constant_heading() const;
1553  private:
1554  bool _internal_has_constant_heading() const;
1555  public:
1557  double constant_heading() const;
1558  void set_constant_heading(double value);
1559  private:
1560  double _internal_constant_heading() const;
1561  void _internal_set_constant_heading(double value);
1562  public:
1563 
1564  // optional int32 constant_heading_time = 2 [default = 0, (.dccl.field) = {
1566  private:
1567  bool _internal_has_constant_heading_time() const;
1568  public:
1570  ::PROTOBUF_NAMESPACE_ID::int32 constant_heading_time() const;
1571  void set_constant_heading_time(::PROTOBUF_NAMESPACE_ID::int32 value);
1572  private:
1573  ::PROTOBUF_NAMESPACE_ID::int32 _internal_constant_heading_time() const;
1574  void _internal_set_constant_heading_time(::PROTOBUF_NAMESPACE_ID::int32 value);
1575  public:
1576 
1577  // optional double constant_heading_speed = 3 [default = 2, (.dccl.field) = {
1579  private:
1580  bool _internal_has_constant_heading_speed() const;
1581  public:
1583  double constant_heading_speed() const;
1584  void set_constant_heading_speed(double value);
1585  private:
1586  double _internal_constant_heading_speed() const;
1587  void _internal_set_constant_heading_speed(double value);
1588  public:
1589 
1590  typedef boost::units::plane_angle_dimension constant_heading_dimension;
1591 
1592  typedef boost::units::unit<constant_heading_dimension,boost::units::degree::system> constant_heading_unit;
1593 
1594  template<typename Quantity >
1595  void set_constant_heading_with_units(Quantity value_w_units)
1596  { set_constant_heading(boost::units::quantity<constant_heading_unit,double >(value_w_units).value() ); };
1597 
1598  template<typename Quantity >
1600  { return Quantity(constant_heading() * constant_heading_unit()); };
1601 
1602  boost::units::quantity< constant_heading_unit,double > constant_heading_with_units() const
1603  { return constant_heading_with_units<boost::units::quantity< constant_heading_unit,double > >(); };
1604 
1605  typedef boost::units::derived_dimension< boost::units::time_base_dimension,1 >::type constant_heading_time_dimension;
1606 
1607  typedef boost::units::unit<constant_heading_time_dimension,boost::units::si::system> constant_heading_time_unit;
1608 
1609  template<typename Quantity >
1610  void set_constant_heading_time_with_units(Quantity value_w_units)
1611  { set_constant_heading_time(boost::units::quantity<constant_heading_time_unit,google::protobuf::int32 >(value_w_units).value() ); };
1612 
1613  template<typename Quantity >
1615  { return Quantity(constant_heading_time() * constant_heading_time_unit()); };
1616 
1617  boost::units::quantity< constant_heading_time_unit,google::protobuf::int32 > constant_heading_time_with_units() const
1618  { return constant_heading_time_with_units<boost::units::quantity< constant_heading_time_unit,google::protobuf::int32 > >(); };
1619 
1620  typedef boost::units::derived_dimension< boost::units::length_base_dimension,1, boost::units::time_base_dimension,-1 >::type constant_heading_speed_dimension;
1621 
1622  typedef boost::units::unit<constant_heading_speed_dimension,boost::units::si::system> constant_heading_speed_unit;
1623 
1624  template<typename Quantity >
1625  void set_constant_heading_speed_with_units(Quantity value_w_units)
1626  { set_constant_heading_speed(boost::units::quantity<constant_heading_speed_unit,double >(value_w_units).value() ); };
1627 
1628  template<typename Quantity >
1630  { return Quantity(constant_heading_speed() * constant_heading_speed_unit()); };
1631 
1632  boost::units::quantity< constant_heading_speed_unit,double > constant_heading_speed_with_units() const
1633  { return constant_heading_speed_with_units<boost::units::quantity< constant_heading_speed_unit,double > >(); };
1634 
1635  // @@protoc_insertion_point(class_scope:jaiabot.protobuf.MissionTask.ConstantHeadingParameters)
1636  private:
1637  class _Internal;
1638 
1639  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
1640  typedef void InternalArenaConstructable_;
1641  typedef void DestructorSkippable_;
1642  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
1643  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
1644  double constant_heading_;
1645  ::PROTOBUF_NAMESPACE_ID::int32 constant_heading_time_;
1646  double constant_heading_speed_;
1647  friend struct ::TableStruct_jaiabot_2fmessages_2fmission_2eproto;
1648 };
1649 // -------------------------------------------------------------------
1650 
1651 class MissionTask_StationKeepParameters PROTOBUF_FINAL :
1652  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:jaiabot.protobuf.MissionTask.StationKeepParameters) */ {
1653  public:
1654  inline MissionTask_StationKeepParameters() : MissionTask_StationKeepParameters(nullptr) {};
1656 
1657  MissionTask_StationKeepParameters(const MissionTask_StationKeepParameters& from);
1658  MissionTask_StationKeepParameters(MissionTask_StationKeepParameters&& from) noexcept
1659  : MissionTask_StationKeepParameters() {
1660  *this = ::std::move(from);
1661  }
1662 
1663  inline MissionTask_StationKeepParameters& operator=(const MissionTask_StationKeepParameters& from) {
1664  CopyFrom(from);
1665  return *this;
1666  }
1667  inline MissionTask_StationKeepParameters& operator=(MissionTask_StationKeepParameters&& from) noexcept {
1668  if (GetArena() == from.GetArena()) {
1669  if (this != &from) InternalSwap(&from);
1670  } else {
1671  CopyFrom(from);
1672  }
1673  return *this;
1674  }
1675 
1676  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
1677  return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
1678  }
1679  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
1680  return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
1681  }
1682 
1683  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
1684  return GetDescriptor();
1685  }
1686  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
1687  return GetMetadataStatic().descriptor;
1688  }
1689  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
1690  return GetMetadataStatic().reflection;
1691  }
1692  static const MissionTask_StationKeepParameters& default_instance();
1693 
1694  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
1695  static inline const MissionTask_StationKeepParameters* internal_default_instance() {
1696  return reinterpret_cast<const MissionTask_StationKeepParameters*>(
1698  }
1699  static constexpr int kIndexInFileMessages =
1700  6;
1701 
1702  friend void swap(MissionTask_StationKeepParameters& a, MissionTask_StationKeepParameters& b) {
1703  a.Swap(&b);
1704  }
1705  inline void Swap(MissionTask_StationKeepParameters* other) {
1706  if (other == this) return;
1707  if (GetArena() == other->GetArena()) {
1708  InternalSwap(other);
1709  } else {
1710  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
1711  }
1712  }
1713  void UnsafeArenaSwap(MissionTask_StationKeepParameters* other) {
1714  if (other == this) return;
1715  GOOGLE_DCHECK(GetArena() == other->GetArena());
1716  InternalSwap(other);
1717  }
1718 
1719  // implements Message ----------------------------------------------
1720 
1721  inline MissionTask_StationKeepParameters* New() const final {
1722  return CreateMaybeMessage<MissionTask_StationKeepParameters>(nullptr);
1723  }
1724 
1725  MissionTask_StationKeepParameters* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
1726  return CreateMaybeMessage<MissionTask_StationKeepParameters>(arena);
1727  }
1728  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
1729  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
1730  void CopyFrom(const MissionTask_StationKeepParameters& from);
1731  void MergeFrom(const MissionTask_StationKeepParameters& from);
1732  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
1733  bool IsInitialized() const final;
1734 
1735  size_t ByteSizeLong() const final;
1736  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
1737  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
1738  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
1739  int GetCachedSize() const final { return _cached_size_.Get(); }
1740 
1741  private:
1742  inline void SharedCtor();
1743  inline void SharedDtor();
1744  void SetCachedSize(int size) const final;
1745  void InternalSwap(MissionTask_StationKeepParameters* other);
1746  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
1747  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
1748  return "jaiabot.protobuf.MissionTask.StationKeepParameters";
1749  }
1750  protected:
1751  explicit MissionTask_StationKeepParameters(::PROTOBUF_NAMESPACE_ID::Arena* arena);
1752  private:
1753  static void ArenaDtor(void* object);
1754  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
1755  public:
1756 
1757  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
1758  private:
1759  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
1760  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_jaiabot_2fmessages_2fmission_2eproto);
1761  return ::descriptor_table_jaiabot_2fmessages_2fmission_2eproto.file_level_metadata[kIndexInFileMessages];
1762  }
1763 
1764  public:
1765 
1766  // nested types ----------------------------------------------------
1767 
1768  // accessors -------------------------------------------------------
1769 
1770  enum : int {
1771  kStationKeepTimeFieldNumber = 1,
1772  };
1773  // optional int32 station_keep_time = 1 [default = 10, (.dccl.field) = {
1775  private:
1776  bool _internal_has_station_keep_time() const;
1777  public:
1779  ::PROTOBUF_NAMESPACE_ID::int32 station_keep_time() const;
1780  void set_station_keep_time(::PROTOBUF_NAMESPACE_ID::int32 value);
1781  private:
1782  ::PROTOBUF_NAMESPACE_ID::int32 _internal_station_keep_time() const;
1783  void _internal_set_station_keep_time(::PROTOBUF_NAMESPACE_ID::int32 value);
1784  public:
1785 
1786  typedef boost::units::derived_dimension< boost::units::time_base_dimension,1 >::type station_keep_time_dimension;
1787 
1788  typedef boost::units::unit<station_keep_time_dimension,boost::units::si::system> station_keep_time_unit;
1789 
1790  template<typename Quantity >
1791  void set_station_keep_time_with_units(Quantity value_w_units)
1792  { set_station_keep_time(boost::units::quantity<station_keep_time_unit,google::protobuf::int32 >(value_w_units).value() ); };
1793 
1794  template<typename Quantity >
1796  { return Quantity(station_keep_time() * station_keep_time_unit()); };
1797 
1798  boost::units::quantity< station_keep_time_unit,google::protobuf::int32 > station_keep_time_with_units() const
1799  { return station_keep_time_with_units<boost::units::quantity< station_keep_time_unit,google::protobuf::int32 > >(); };
1800 
1801  // @@protoc_insertion_point(class_scope:jaiabot.protobuf.MissionTask.StationKeepParameters)
1802  private:
1803  class _Internal;
1804 
1805  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
1806  typedef void InternalArenaConstructable_;
1807  typedef void DestructorSkippable_;
1808  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
1809  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
1810  ::PROTOBUF_NAMESPACE_ID::int32 station_keep_time_;
1811  friend struct ::TableStruct_jaiabot_2fmessages_2fmission_2eproto;
1812 };
1813 // -------------------------------------------------------------------
1814 
1815 class MissionTask PROTOBUF_FINAL :
1816  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:jaiabot.protobuf.MissionTask) */ {
1817  public:
1818  inline MissionTask() : MissionTask(nullptr) {};
1819  virtual ~MissionTask();
1820 
1821  MissionTask(const MissionTask& from);
1822  MissionTask(MissionTask&& from) noexcept
1823  : MissionTask() {
1824  *this = ::std::move(from);
1825  }
1826 
1827  inline MissionTask& operator=(const MissionTask& from) {
1828  CopyFrom(from);
1829  return *this;
1830  }
1831  inline MissionTask& operator=(MissionTask&& from) noexcept {
1832  if (GetArena() == from.GetArena()) {
1833  if (this != &from) InternalSwap(&from);
1834  } else {
1835  CopyFrom(from);
1836  }
1837  return *this;
1838  }
1839 
1840  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
1841  return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
1842  }
1843  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
1844  return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
1845  }
1846 
1847  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
1848  return GetDescriptor();
1849  }
1850  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
1851  return GetMetadataStatic().descriptor;
1852  }
1853  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
1854  return GetMetadataStatic().reflection;
1855  }
1856  static const MissionTask& default_instance();
1857 
1858  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
1859  static inline const MissionTask* internal_default_instance() {
1860  return reinterpret_cast<const MissionTask*>(
1862  }
1863  static constexpr int kIndexInFileMessages =
1864  7;
1865 
1866  friend void swap(MissionTask& a, MissionTask& b) {
1867  a.Swap(&b);
1868  }
1869  inline void Swap(MissionTask* other) {
1870  if (other == this) return;
1871  if (GetArena() == other->GetArena()) {
1872  InternalSwap(other);
1873  } else {
1874  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
1875  }
1876  }
1877  void UnsafeArenaSwap(MissionTask* other) {
1878  if (other == this) return;
1879  GOOGLE_DCHECK(GetArena() == other->GetArena());
1880  InternalSwap(other);
1881  }
1882 
1883  // implements Message ----------------------------------------------
1884 
1885  inline MissionTask* New() const final {
1886  return CreateMaybeMessage<MissionTask>(nullptr);
1887  }
1888 
1889  MissionTask* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
1890  return CreateMaybeMessage<MissionTask>(arena);
1891  }
1892  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
1893  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
1894  void CopyFrom(const MissionTask& from);
1895  void MergeFrom(const MissionTask& from);
1896  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
1897  bool IsInitialized() const final;
1898 
1899  size_t ByteSizeLong() const final;
1900  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
1901  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
1902  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
1903  int GetCachedSize() const final { return _cached_size_.Get(); }
1904 
1905  private:
1906  inline void SharedCtor();
1907  inline void SharedDtor();
1908  void SetCachedSize(int size) const final;
1909  void InternalSwap(MissionTask* other);
1910  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
1911  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
1912  return "jaiabot.protobuf.MissionTask";
1913  }
1914  protected:
1915  explicit MissionTask(::PROTOBUF_NAMESPACE_ID::Arena* arena);
1916  private:
1917  static void ArenaDtor(void* object);
1918  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
1919  public:
1920 
1921  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
1922  private:
1923  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
1924  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_jaiabot_2fmessages_2fmission_2eproto);
1925  return ::descriptor_table_jaiabot_2fmessages_2fmission_2eproto.file_level_metadata[kIndexInFileMessages];
1926  }
1927 
1928  public:
1929 
1930  // nested types ----------------------------------------------------
1931 
1932  typedef MissionTask_DiveParameters DiveParameters;
1933  typedef MissionTask_DriftParameters DriftParameters;
1934  typedef MissionTask_ConstantHeadingParameters ConstantHeadingParameters;
1935  typedef MissionTask_StationKeepParameters StationKeepParameters;
1936 
1938  static constexpr TaskType NONE =
1940  static constexpr TaskType DIVE =
1942  static constexpr TaskType STATION_KEEP =
1944  static constexpr TaskType SURFACE_DRIFT =
1946  static constexpr TaskType CONSTANT_HEADING =
1948  static inline bool TaskType_IsValid(int value) {
1949  return MissionTask_TaskType_IsValid(value);
1950  }
1951  static constexpr TaskType TaskType_MIN =
1953  static constexpr TaskType TaskType_MAX =
1955  static constexpr int TaskType_ARRAYSIZE =
1957  static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
1960  }
1961  template<typename T>
1962  static inline const std::string& TaskType_Name(T enum_t_value) {
1963  static_assert(::std::is_same<T, TaskType>::value ||
1964  ::std::is_integral<T>::value,
1965  "Incorrect type passed to function TaskType_Name.");
1966  return MissionTask_TaskType_Name(enum_t_value);
1967  }
1968  static inline bool TaskType_Parse(const std::string& name,
1969  TaskType* value) {
1970  return MissionTask_TaskType_Parse(name, value);
1971  }
1972 
1973  // accessors -------------------------------------------------------
1974 
1975  enum : int {
1976  kDiveFieldNumber = 2,
1977  kSurfaceDriftFieldNumber = 3,
1978  kConstantHeadingFieldNumber = 4,
1979  kStationKeepFieldNumber = 6,
1980  kTypeFieldNumber = 1,
1981  kStartEchoFieldNumber = 5,
1982  };
1983  // optional .jaiabot.protobuf.MissionTask.DiveParameters dive = 2 [(.jaia.field) = {
1984  bool has_dive() const;
1985  private:
1986  bool _internal_has_dive() const;
1987  public:
1988  void clear_dive();
1989  const ::jaiabot::protobuf::MissionTask_DiveParameters& dive() const;
1990  ::jaiabot::protobuf::MissionTask_DiveParameters* release_dive();
1991  ::jaiabot::protobuf::MissionTask_DiveParameters* mutable_dive();
1992  void set_allocated_dive(::jaiabot::protobuf::MissionTask_DiveParameters* dive);
1993  private:
1994  const ::jaiabot::protobuf::MissionTask_DiveParameters& _internal_dive() const;
1995  ::jaiabot::protobuf::MissionTask_DiveParameters* _internal_mutable_dive();
1996  public:
1998  ::jaiabot::protobuf::MissionTask_DiveParameters* dive);
1999  ::jaiabot::protobuf::MissionTask_DiveParameters* unsafe_arena_release_dive();
2000 
2001  // optional .jaiabot.protobuf.MissionTask.DriftParameters surface_drift = 3 [(.jaia.field) = {
2002  bool has_surface_drift() const;
2003  private:
2004  bool _internal_has_surface_drift() const;
2005  public:
2007  const ::jaiabot::protobuf::MissionTask_DriftParameters& surface_drift() const;
2008  ::jaiabot::protobuf::MissionTask_DriftParameters* release_surface_drift();
2009  ::jaiabot::protobuf::MissionTask_DriftParameters* mutable_surface_drift();
2010  void set_allocated_surface_drift(::jaiabot::protobuf::MissionTask_DriftParameters* surface_drift);
2011  private:
2012  const ::jaiabot::protobuf::MissionTask_DriftParameters& _internal_surface_drift() const;
2013  ::jaiabot::protobuf::MissionTask_DriftParameters* _internal_mutable_surface_drift();
2014  public:
2016  ::jaiabot::protobuf::MissionTask_DriftParameters* surface_drift);
2017  ::jaiabot::protobuf::MissionTask_DriftParameters* unsafe_arena_release_surface_drift();
2018 
2019  // optional .jaiabot.protobuf.MissionTask.ConstantHeadingParameters constant_heading = 4 [(.jaia.field) = {
2020  bool has_constant_heading() const;
2021  private:
2022  bool _internal_has_constant_heading() const;
2023  public:
2025  const ::jaiabot::protobuf::MissionTask_ConstantHeadingParameters& constant_heading() const;
2026  ::jaiabot::protobuf::MissionTask_ConstantHeadingParameters* release_constant_heading();
2027  ::jaiabot::protobuf::MissionTask_ConstantHeadingParameters* mutable_constant_heading();
2028  void set_allocated_constant_heading(::jaiabot::protobuf::MissionTask_ConstantHeadingParameters* constant_heading);
2029  private:
2030  const ::jaiabot::protobuf::MissionTask_ConstantHeadingParameters& _internal_constant_heading() const;
2031  ::jaiabot::protobuf::MissionTask_ConstantHeadingParameters* _internal_mutable_constant_heading();
2032  public:
2034  ::jaiabot::protobuf::MissionTask_ConstantHeadingParameters* constant_heading);
2035  ::jaiabot::protobuf::MissionTask_ConstantHeadingParameters* unsafe_arena_release_constant_heading();
2036 
2037  // optional .jaiabot.protobuf.MissionTask.StationKeepParameters station_keep = 6 [(.jaia.field) = {
2038  bool has_station_keep() const;
2039  private:
2040  bool _internal_has_station_keep() const;
2041  public:
2043  const ::jaiabot::protobuf::MissionTask_StationKeepParameters& station_keep() const;
2044  ::jaiabot::protobuf::MissionTask_StationKeepParameters* release_station_keep();
2045  ::jaiabot::protobuf::MissionTask_StationKeepParameters* mutable_station_keep();
2046  void set_allocated_station_keep(::jaiabot::protobuf::MissionTask_StationKeepParameters* station_keep);
2047  private:
2048  const ::jaiabot::protobuf::MissionTask_StationKeepParameters& _internal_station_keep() const;
2049  ::jaiabot::protobuf::MissionTask_StationKeepParameters* _internal_mutable_station_keep();
2050  public:
2052  ::jaiabot::protobuf::MissionTask_StationKeepParameters* station_keep);
2053  ::jaiabot::protobuf::MissionTask_StationKeepParameters* unsafe_arena_release_station_keep();
2054 
2055  // optional .jaiabot.protobuf.MissionTask.TaskType type = 1 [default = NONE, (.jaia.field) = {
2056  bool has_type() const;
2057  private:
2058  bool _internal_has_type() const;
2059  public:
2060  void clear_type();
2063  private:
2064  ::jaiabot::protobuf::MissionTask_TaskType _internal_type() const;
2065  void _internal_set_type(::jaiabot::protobuf::MissionTask_TaskType value);
2066  public:
2067 
2068  // optional bool start_echo = 5 [default = false, (.jaia.field) = {
2069  bool has_start_echo() const;
2070  private:
2071  bool _internal_has_start_echo() const;
2072  public:
2074  bool start_echo() const;
2075  void set_start_echo(bool value);
2076  private:
2077  bool _internal_start_echo() const;
2078  void _internal_set_start_echo(bool value);
2079  public:
2080 
2081  // @@protoc_insertion_point(class_scope:jaiabot.protobuf.MissionTask)
2082  private:
2083  class _Internal;
2084 
2085  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
2086  typedef void InternalArenaConstructable_;
2087  typedef void DestructorSkippable_;
2088  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
2089  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
2090  ::jaiabot::protobuf::MissionTask_DiveParameters* dive_;
2091  ::jaiabot::protobuf::MissionTask_DriftParameters* surface_drift_;
2092  ::jaiabot::protobuf::MissionTask_ConstantHeadingParameters* constant_heading_;
2093  ::jaiabot::protobuf::MissionTask_StationKeepParameters* station_keep_;
2094  int type_;
2095  bool start_echo_;
2096  friend struct ::TableStruct_jaiabot_2fmessages_2fmission_2eproto;
2097 };
2098 // -------------------------------------------------------------------
2099 
2100 class MissionPlan_Goal PROTOBUF_FINAL :
2101  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:jaiabot.protobuf.MissionPlan.Goal) */ {
2102  public:
2103  inline MissionPlan_Goal() : MissionPlan_Goal(nullptr) {};
2105 
2106  MissionPlan_Goal(const MissionPlan_Goal& from);
2107  MissionPlan_Goal(MissionPlan_Goal&& from) noexcept
2108  : MissionPlan_Goal() {
2109  *this = ::std::move(from);
2110  }
2111 
2112  inline MissionPlan_Goal& operator=(const MissionPlan_Goal& from) {
2113  CopyFrom(from);
2114  return *this;
2115  }
2116  inline MissionPlan_Goal& operator=(MissionPlan_Goal&& from) noexcept {
2117  if (GetArena() == from.GetArena()) {
2118  if (this != &from) InternalSwap(&from);
2119  } else {
2120  CopyFrom(from);
2121  }
2122  return *this;
2123  }
2124 
2125  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
2126  return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
2127  }
2128  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
2129  return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
2130  }
2131 
2132  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
2133  return GetDescriptor();
2134  }
2135  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
2136  return GetMetadataStatic().descriptor;
2137  }
2138  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
2139  return GetMetadataStatic().reflection;
2140  }
2141  static const MissionPlan_Goal& default_instance();
2142 
2143  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
2144  static inline const MissionPlan_Goal* internal_default_instance() {
2145  return reinterpret_cast<const MissionPlan_Goal*>(
2147  }
2148  static constexpr int kIndexInFileMessages =
2149  8;
2150 
2151  friend void swap(MissionPlan_Goal& a, MissionPlan_Goal& b) {
2152  a.Swap(&b);
2153  }
2154  inline void Swap(MissionPlan_Goal* other) {
2155  if (other == this) return;
2156  if (GetArena() == other->GetArena()) {
2157  InternalSwap(other);
2158  } else {
2159  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
2160  }
2161  }
2162  void UnsafeArenaSwap(MissionPlan_Goal* other) {
2163  if (other == this) return;
2164  GOOGLE_DCHECK(GetArena() == other->GetArena());
2165  InternalSwap(other);
2166  }
2167 
2168  // implements Message ----------------------------------------------
2169 
2170  inline MissionPlan_Goal* New() const final {
2171  return CreateMaybeMessage<MissionPlan_Goal>(nullptr);
2172  }
2173 
2174  MissionPlan_Goal* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
2175  return CreateMaybeMessage<MissionPlan_Goal>(arena);
2176  }
2177  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
2178  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
2179  void CopyFrom(const MissionPlan_Goal& from);
2180  void MergeFrom(const MissionPlan_Goal& from);
2181  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
2182  bool IsInitialized() const final;
2183 
2184  size_t ByteSizeLong() const final;
2185  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
2186  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
2187  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
2188  int GetCachedSize() const final { return _cached_size_.Get(); }
2189 
2190  private:
2191  inline void SharedCtor();
2192  inline void SharedDtor();
2193  void SetCachedSize(int size) const final;
2194  void InternalSwap(MissionPlan_Goal* other);
2195  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
2196  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
2197  return "jaiabot.protobuf.MissionPlan.Goal";
2198  }
2199  protected:
2200  explicit MissionPlan_Goal(::PROTOBUF_NAMESPACE_ID::Arena* arena);
2201  private:
2202  static void ArenaDtor(void* object);
2203  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
2204  public:
2205 
2206  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
2207  private:
2208  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
2209  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_jaiabot_2fmessages_2fmission_2eproto);
2210  return ::descriptor_table_jaiabot_2fmessages_2fmission_2eproto.file_level_metadata[kIndexInFileMessages];
2211  }
2212 
2213  public:
2214 
2215  // nested types ----------------------------------------------------
2216 
2217  // accessors -------------------------------------------------------
2218 
2219  enum : int {
2220  kNameFieldNumber = 1,
2221  kLocationFieldNumber = 2,
2222  kTaskFieldNumber = 3,
2223  kMoveWptModeFieldNumber = 4,
2224  };
2225  // optional string name = 1 [(.dccl.field) = {
2226  bool has_name() const;
2227  private:
2228  bool _internal_has_name() const;
2229  public:
2230  void clear_name();
2231  const std::string& name() const;
2232  void set_name(const std::string& value);
2233  void set_name(std::string&& value);
2234  void set_name(const char* value);
2235  void set_name(const char* value, size_t size);
2236  std::string* mutable_name();
2237  std::string* release_name();
2238  void set_allocated_name(std::string* name);
2239  GOOGLE_PROTOBUF_RUNTIME_DEPRECATED("The unsafe_arena_ accessors for"
2240  " string fields are deprecated and will be removed in a"
2241  " future release.")
2242  std::string* unsafe_arena_release_name();
2243  GOOGLE_PROTOBUF_RUNTIME_DEPRECATED("The unsafe_arena_ accessors for"
2244  " string fields are deprecated and will be removed in a"
2245  " future release.")
2246  void unsafe_arena_set_allocated_name(
2247  std::string* name);
2248  private:
2249  const std::string& _internal_name() const;
2250  void _internal_set_name(const std::string& value);
2251  std::string* _internal_mutable_name();
2252  public:
2253 
2254  // required .jaiabot.protobuf.GeographicCoordinate location = 2 [(.jaia.field) = {
2255  bool has_location() const;
2256  private:
2257  bool _internal_has_location() const;
2258  public:
2259  void clear_location();
2260  const ::jaiabot::protobuf::GeographicCoordinate& location() const;
2261  ::jaiabot::protobuf::GeographicCoordinate* release_location();
2262  ::jaiabot::protobuf::GeographicCoordinate* mutable_location();
2263  void set_allocated_location(::jaiabot::protobuf::GeographicCoordinate* location);
2264  private:
2265  const ::jaiabot::protobuf::GeographicCoordinate& _internal_location() const;
2266  ::jaiabot::protobuf::GeographicCoordinate* _internal_mutable_location();
2267  public:
2268  void unsafe_arena_set_allocated_location(
2269  ::jaiabot::protobuf::GeographicCoordinate* location);
2270  ::jaiabot::protobuf::GeographicCoordinate* unsafe_arena_release_location();
2271 
2272  // optional .jaiabot.protobuf.MissionTask task = 3 [(.jaia.field) = {
2273  bool has_task() const;
2274  private:
2275  bool _internal_has_task() const;
2276  public:
2277  void clear_task();
2278  const ::jaiabot::protobuf::MissionTask& task() const;
2279  ::jaiabot::protobuf::MissionTask* release_task();
2280  ::jaiabot::protobuf::MissionTask* mutable_task();
2281  void set_allocated_task(::jaiabot::protobuf::MissionTask* task);
2282  private:
2283  const ::jaiabot::protobuf::MissionTask& _internal_task() const;
2284  ::jaiabot::protobuf::MissionTask* _internal_mutable_task();
2285  public:
2286  void unsafe_arena_set_allocated_task(
2287  ::jaiabot::protobuf::MissionTask* task);
2288  ::jaiabot::protobuf::MissionTask* unsafe_arena_release_task();
2289 
2290  // optional bool moveWptMode = 4;
2291  bool has_movewptmode() const;
2292  private:
2293  bool _internal_has_movewptmode() const;
2294  public:
2295  void clear_movewptmode();
2296  bool movewptmode() const;
2297  void set_movewptmode(bool value);
2298  private:
2299  bool _internal_movewptmode() const;
2300  void _internal_set_movewptmode(bool value);
2301  public:
2302 
2303  // @@protoc_insertion_point(class_scope:jaiabot.protobuf.MissionPlan.Goal)
2304  private:
2305  class _Internal;
2306 
2307  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
2308  typedef void InternalArenaConstructable_;
2309  typedef void DestructorSkippable_;
2310  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
2311  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
2312  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_;
2313  ::jaiabot::protobuf::GeographicCoordinate* location_;
2314  ::jaiabot::protobuf::MissionTask* task_;
2315  bool movewptmode_;
2317 };
2318 // -------------------------------------------------------------------
2319 
2320 class MissionPlan_Recovery PROTOBUF_FINAL :
2321  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:jaiabot.protobuf.MissionPlan.Recovery) */ {
2322  public:
2323  inline MissionPlan_Recovery() : MissionPlan_Recovery(nullptr) {};
2325 
2326  MissionPlan_Recovery(const MissionPlan_Recovery& from);
2327  MissionPlan_Recovery(MissionPlan_Recovery&& from) noexcept
2328  : MissionPlan_Recovery() {
2329  *this = ::std::move(from);
2330  }
2331 
2332  inline MissionPlan_Recovery& operator=(const MissionPlan_Recovery& from) {
2333  CopyFrom(from);
2334  return *this;
2335  }
2336  inline MissionPlan_Recovery& operator=(MissionPlan_Recovery&& from) noexcept {
2337  if (GetArena() == from.GetArena()) {
2338  if (this != &from) InternalSwap(&from);
2339  } else {
2340  CopyFrom(from);
2341  }
2342  return *this;
2343  }
2344 
2345  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
2346  return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
2347  }
2348  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
2349  return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
2350  }
2351 
2352  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
2353  return GetDescriptor();
2354  }
2355  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
2356  return GetMetadataStatic().descriptor;
2357  }
2358  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
2359  return GetMetadataStatic().reflection;
2360  }
2361  static const MissionPlan_Recovery& default_instance();
2362 
2363  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
2364  static inline const MissionPlan_Recovery* internal_default_instance() {
2365  return reinterpret_cast<const MissionPlan_Recovery*>(
2367  }
2368  static constexpr int kIndexInFileMessages =
2369  9;
2370 
2371  friend void swap(MissionPlan_Recovery& a, MissionPlan_Recovery& b) {
2372  a.Swap(&b);
2373  }
2374  inline void Swap(MissionPlan_Recovery* other) {
2375  if (other == this) return;
2376  if (GetArena() == other->GetArena()) {
2377  InternalSwap(other);
2378  } else {
2379  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
2380  }
2381  }
2382  void UnsafeArenaSwap(MissionPlan_Recovery* other) {
2383  if (other == this) return;
2384  GOOGLE_DCHECK(GetArena() == other->GetArena());
2385  InternalSwap(other);
2386  }
2387 
2388  // implements Message ----------------------------------------------
2389 
2390  inline MissionPlan_Recovery* New() const final {
2391  return CreateMaybeMessage<MissionPlan_Recovery>(nullptr);
2392  }
2393 
2394  MissionPlan_Recovery* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
2395  return CreateMaybeMessage<MissionPlan_Recovery>(arena);
2396  }
2397  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
2398  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
2399  void CopyFrom(const MissionPlan_Recovery& from);
2400  void MergeFrom(const MissionPlan_Recovery& from);
2401  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
2402  bool IsInitialized() const final;
2403 
2404  size_t ByteSizeLong() const final;
2405  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
2406  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
2407  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
2408  int GetCachedSize() const final { return _cached_size_.Get(); }
2409 
2410  private:
2411  inline void SharedCtor();
2412  inline void SharedDtor();
2413  void SetCachedSize(int size) const final;
2414  void InternalSwap(MissionPlan_Recovery* other);
2415  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
2416  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
2417  return "jaiabot.protobuf.MissionPlan.Recovery";
2418  }
2419  protected:
2420  explicit MissionPlan_Recovery(::PROTOBUF_NAMESPACE_ID::Arena* arena);
2421  private:
2422  static void ArenaDtor(void* object);
2423  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
2424  public:
2425 
2426  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
2427  private:
2428  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
2429  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_jaiabot_2fmessages_2fmission_2eproto);
2430  return ::descriptor_table_jaiabot_2fmessages_2fmission_2eproto.file_level_metadata[kIndexInFileMessages];
2431  }
2432 
2433  public:
2434 
2435  // nested types ----------------------------------------------------
2436 
2437  // accessors -------------------------------------------------------
2438 
2439  enum : int {
2440  kLocationFieldNumber = 2,
2441  kRecoverAtFinalGoalFieldNumber = 1,
2442  };
2443  // optional .jaiabot.protobuf.GeographicCoordinate location = 2 [(.jaia.field) = {
2444  bool has_location() const;
2445  private:
2446  bool _internal_has_location() const;
2447  public:
2449  const ::jaiabot::protobuf::GeographicCoordinate& location() const;
2450  ::jaiabot::protobuf::GeographicCoordinate* release_location();
2451  ::jaiabot::protobuf::GeographicCoordinate* mutable_location();
2452  void set_allocated_location(::jaiabot::protobuf::GeographicCoordinate* location);
2453  private:
2454  const ::jaiabot::protobuf::GeographicCoordinate& _internal_location() const;
2455  ::jaiabot::protobuf::GeographicCoordinate* _internal_mutable_location();
2456  public:
2458  ::jaiabot::protobuf::GeographicCoordinate* location);
2459  ::jaiabot::protobuf::GeographicCoordinate* unsafe_arena_release_location();
2460 
2461  // optional bool recover_at_final_goal = 1 [default = true, (.jaia.field) = {
2463  private:
2464  bool _internal_has_recover_at_final_goal() const;
2465  public:
2468  void set_recover_at_final_goal(bool value);
2469  private:
2470  bool _internal_recover_at_final_goal() const;
2471  void _internal_set_recover_at_final_goal(bool value);
2472  public:
2473 
2474  // @@protoc_insertion_point(class_scope:jaiabot.protobuf.MissionPlan.Recovery)
2475  private:
2476  class _Internal;
2477 
2478  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
2479  typedef void InternalArenaConstructable_;
2480  typedef void DestructorSkippable_;
2481  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
2482  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
2483  ::jaiabot::protobuf::GeographicCoordinate* location_;
2484  bool recover_at_final_goal_;
2485  friend struct ::TableStruct_jaiabot_2fmessages_2fmission_2eproto;
2486 };
2487 // -------------------------------------------------------------------
2488 
2489 class MissionPlan_TrailParam PROTOBUF_FINAL :
2490  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:jaiabot.protobuf.MissionPlan.TrailParam) */ {
2491  public:
2492  inline MissionPlan_TrailParam() : MissionPlan_TrailParam(nullptr) {};
2494 
2495  MissionPlan_TrailParam(const MissionPlan_TrailParam& from);
2496  MissionPlan_TrailParam(MissionPlan_TrailParam&& from) noexcept
2497  : MissionPlan_TrailParam() {
2498  *this = ::std::move(from);
2499  }
2500 
2501  inline MissionPlan_TrailParam& operator=(const MissionPlan_TrailParam& from) {
2502  CopyFrom(from);
2503  return *this;
2504  }
2505  inline MissionPlan_TrailParam& operator=(MissionPlan_TrailParam&& from) noexcept {
2506  if (GetArena() == from.GetArena()) {
2507  if (this != &from) InternalSwap(&from);
2508  } else {
2509  CopyFrom(from);
2510  }
2511  return *this;
2512  }
2513 
2514  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
2515  return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
2516  }
2517  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
2518  return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
2519  }
2520 
2521  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
2522  return GetDescriptor();
2523  }
2524  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
2525  return GetMetadataStatic().descriptor;
2526  }
2527  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
2528  return GetMetadataStatic().reflection;
2529  }
2530  static const MissionPlan_TrailParam& default_instance();
2531 
2532  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
2533  static inline const MissionPlan_TrailParam* internal_default_instance() {
2534  return reinterpret_cast<const MissionPlan_TrailParam*>(
2536  }
2537  static constexpr int kIndexInFileMessages =
2538  10;
2539 
2540  friend void swap(MissionPlan_TrailParam& a, MissionPlan_TrailParam& b) {
2541  a.Swap(&b);
2542  }
2543  inline void Swap(MissionPlan_TrailParam* other) {
2544  if (other == this) return;
2545  if (GetArena() == other->GetArena()) {
2546  InternalSwap(other);
2547  } else {
2548  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
2549  }
2550  }
2551  void UnsafeArenaSwap(MissionPlan_TrailParam* other) {
2552  if (other == this) return;
2553  GOOGLE_DCHECK(GetArena() == other->GetArena());
2554  InternalSwap(other);
2555  }
2556 
2557  // implements Message ----------------------------------------------
2558 
2559  inline MissionPlan_TrailParam* New() const final {
2560  return CreateMaybeMessage<MissionPlan_TrailParam>(nullptr);
2561  }
2562 
2563  MissionPlan_TrailParam* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
2564  return CreateMaybeMessage<MissionPlan_TrailParam>(arena);
2565  }
2566  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
2567  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
2568  void CopyFrom(const MissionPlan_TrailParam& from);
2569  void MergeFrom(const MissionPlan_TrailParam& from);
2570  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
2571  bool IsInitialized() const final;
2572 
2573  size_t ByteSizeLong() const final;
2574  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
2575  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
2576  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
2577  int GetCachedSize() const final { return _cached_size_.Get(); }
2578 
2579  private:
2580  inline void SharedCtor();
2581  inline void SharedDtor();
2582  void SetCachedSize(int size) const final;
2583  void InternalSwap(MissionPlan_TrailParam* other);
2584  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
2585  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
2586  return "jaiabot.protobuf.MissionPlan.TrailParam";
2587  }
2588  protected:
2589  explicit MissionPlan_TrailParam(::PROTOBUF_NAMESPACE_ID::Arena* arena);
2590  private:
2591  static void ArenaDtor(void* object);
2592  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
2593  public:
2594 
2595  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
2596  private:
2597  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
2598  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_jaiabot_2fmessages_2fmission_2eproto);
2599  return ::descriptor_table_jaiabot_2fmessages_2fmission_2eproto.file_level_metadata[kIndexInFileMessages];
2600  }
2601 
2602  public:
2603 
2604  // nested types ----------------------------------------------------
2605 
2606  // accessors -------------------------------------------------------
2607 
2608  enum : int {
2609  kContactFieldNumber = 1,
2610  kAngleRelativeFieldNumber = 3,
2611  kAngleFieldNumber = 2,
2612  kRangeFieldNumber = 4,
2613  };
2614  // optional int32 contact = 1 [default = 0, (.dccl.field) = {
2615  bool has_contact() const;
2616  private:
2617  bool _internal_has_contact() const;
2618  public:
2620  ::PROTOBUF_NAMESPACE_ID::int32 contact() const;
2621  void set_contact(::PROTOBUF_NAMESPACE_ID::int32 value);
2622  private:
2623  ::PROTOBUF_NAMESPACE_ID::int32 _internal_contact() const;
2624  void _internal_set_contact(::PROTOBUF_NAMESPACE_ID::int32 value);
2625  public:
2626 
2627  // optional bool angle_relative = 3 [default = true];
2628  bool has_angle_relative() const;
2629  private:
2630  bool _internal_has_angle_relative() const;
2631  public:
2633  bool angle_relative() const;
2634  void set_angle_relative(bool value);
2635  private:
2636  bool _internal_angle_relative() const;
2637  void _internal_set_angle_relative(bool value);
2638  public:
2639 
2640  // optional double angle = 2 [default = 180, (.dccl.field) = {
2641  bool has_angle() const;
2642  private:
2643  bool _internal_has_angle() const;
2644  public:
2645  void clear_angle();
2646  double angle() const;
2647  void set_angle(double value);
2648  private:
2649  double _internal_angle() const;
2650  void _internal_set_angle(double value);
2651  public:
2652 
2653  // optional double range = 4 [default = 50, (.dccl.field) = {
2654  bool has_range() const;
2655  private:
2656  bool _internal_has_range() const;
2657  public:
2658  void clear_range();
2659  double range() const;
2660  void set_range(double value);
2661  private:
2662  double _internal_range() const;
2663  void _internal_set_range(double value);
2664  public:
2665 
2666  typedef boost::units::plane_angle_dimension angle_dimension;
2667 
2668  typedef boost::units::unit<angle_dimension,boost::units::degree::system> angle_unit;
2669 
2670  template<typename Quantity >
2671  void set_angle_with_units(Quantity value_w_units)
2672  { set_angle(boost::units::quantity<angle_unit,double >(value_w_units).value() ); };
2673 
2674  template<typename Quantity >
2675  Quantity angle_with_units() const
2676  { return Quantity(angle() * angle_unit()); };
2677 
2678  boost::units::quantity< angle_unit,double > angle_with_units() const
2679  { return angle_with_units<boost::units::quantity< angle_unit,double > >(); };
2680 
2681  typedef boost::units::length_dimension range_dimension;
2682 
2683  typedef boost::units::unit<range_dimension,boost::units::si::system> range_unit;
2684 
2685  template<typename Quantity >
2686  void set_range_with_units(Quantity value_w_units)
2687  { set_range(boost::units::quantity<range_unit,double >(value_w_units).value() ); };
2688 
2689  template<typename Quantity >
2690  Quantity range_with_units() const
2691  { return Quantity(range() * range_unit()); };
2692 
2693  boost::units::quantity< range_unit,double > range_with_units() const
2694  { return range_with_units<boost::units::quantity< range_unit,double > >(); };
2695 
2696  // @@protoc_insertion_point(class_scope:jaiabot.protobuf.MissionPlan.TrailParam)
2697  private:
2698  class _Internal;
2699 
2700  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
2701  typedef void InternalArenaConstructable_;
2702  typedef void DestructorSkippable_;
2703  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
2704  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
2705  ::PROTOBUF_NAMESPACE_ID::int32 contact_;
2706  bool angle_relative_;
2707  double angle_;
2708  double range_;
2709  friend struct ::TableStruct_jaiabot_2fmessages_2fmission_2eproto;
2710 };
2711 // -------------------------------------------------------------------
2712 
2713 class MissionPlan PROTOBUF_FINAL :
2714  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:jaiabot.protobuf.MissionPlan) */ {
2715  public:
2716  inline MissionPlan() : MissionPlan(nullptr) {};
2717  virtual ~MissionPlan();
2718 
2719  MissionPlan(const MissionPlan& from);
2720  MissionPlan(MissionPlan&& from) noexcept
2721  : MissionPlan() {
2722  *this = ::std::move(from);
2723  }
2724 
2725  inline MissionPlan& operator=(const MissionPlan& from) {
2726  CopyFrom(from);
2727  return *this;
2728  }
2729  inline MissionPlan& operator=(MissionPlan&& from) noexcept {
2730  if (GetArena() == from.GetArena()) {
2731  if (this != &from) InternalSwap(&from);
2732  } else {
2733  CopyFrom(from);
2734  }
2735  return *this;
2736  }
2737 
2738  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
2739  return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
2740  }
2741  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
2742  return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
2743  }
2744 
2745  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
2746  return GetDescriptor();
2747  }
2748  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
2749  return GetMetadataStatic().descriptor;
2750  }
2751  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
2752  return GetMetadataStatic().reflection;
2753  }
2754  static const MissionPlan& default_instance();
2755 
2757  kTrail = 10,
2758  MOVEMENT_PARAMS_NOT_SET = 0,
2759  };
2760 
2761  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
2762  static inline const MissionPlan* internal_default_instance() {
2763  return reinterpret_cast<const MissionPlan*>(
2765  }
2766  static constexpr int kIndexInFileMessages =
2767  11;
2768 
2769  friend void swap(MissionPlan& a, MissionPlan& b) {
2770  a.Swap(&b);
2771  }
2772  inline void Swap(MissionPlan* other) {
2773  if (other == this) return;
2774  if (GetArena() == other->GetArena()) {
2775  InternalSwap(other);
2776  } else {
2777  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
2778  }
2779  }
2780  void UnsafeArenaSwap(MissionPlan* other) {
2781  if (other == this) return;
2782  GOOGLE_DCHECK(GetArena() == other->GetArena());
2783  InternalSwap(other);
2784  }
2785 
2786  // implements Message ----------------------------------------------
2787 
2788  inline MissionPlan* New() const final {
2789  return CreateMaybeMessage<MissionPlan>(nullptr);
2790  }
2791 
2792  MissionPlan* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
2793  return CreateMaybeMessage<MissionPlan>(arena);
2794  }
2795  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
2796  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
2797  void CopyFrom(const MissionPlan& from);
2798  void MergeFrom(const MissionPlan& from);
2799  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
2800  bool IsInitialized() const final;
2801 
2802  size_t ByteSizeLong() const final;
2803  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
2804  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
2805  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
2806  int GetCachedSize() const final { return _cached_size_.Get(); }
2807 
2808  private:
2809  inline void SharedCtor();
2810  inline void SharedDtor();
2811  void SetCachedSize(int size) const final;
2812  void InternalSwap(MissionPlan* other);
2813  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
2814  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
2815  return "jaiabot.protobuf.MissionPlan";
2816  }
2817  protected:
2818  explicit MissionPlan(::PROTOBUF_NAMESPACE_ID::Arena* arena);
2819  private:
2820  static void ArenaDtor(void* object);
2821  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
2822  public:
2823 
2824  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
2825  private:
2826  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
2827  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_jaiabot_2fmessages_2fmission_2eproto);
2828  return ::descriptor_table_jaiabot_2fmessages_2fmission_2eproto.file_level_metadata[kIndexInFileMessages];
2829  }
2830 
2831  public:
2832 
2833  // nested types ----------------------------------------------------
2834 
2835  typedef MissionPlan_Goal Goal;
2836  typedef MissionPlan_Recovery Recovery;
2837  typedef MissionPlan_TrailParam TrailParam;
2838 
2840  static constexpr MissionStart START_IMMEDIATELY =
2842  static constexpr MissionStart START_ON_COMMAND =
2844  static inline bool MissionStart_IsValid(int value) {
2845  return MissionPlan_MissionStart_IsValid(value);
2846  }
2847  static constexpr MissionStart MissionStart_MIN =
2849  static constexpr MissionStart MissionStart_MAX =
2851  static constexpr int MissionStart_ARRAYSIZE =
2853  static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
2856  }
2857  template<typename T>
2858  static inline const std::string& MissionStart_Name(T enum_t_value) {
2859  static_assert(::std::is_same<T, MissionStart>::value ||
2860  ::std::is_integral<T>::value,
2861  "Incorrect type passed to function MissionStart_Name.");
2862  return MissionPlan_MissionStart_Name(enum_t_value);
2863  }
2864  static inline bool MissionStart_Parse(const std::string& name,
2865  MissionStart* value) {
2866  return MissionPlan_MissionStart_Parse(name, value);
2867  }
2868 
2870  static constexpr MovementType TRANSIT =
2872  static constexpr MovementType REMOTE_CONTROL =
2874  static constexpr MovementType TRAIL =
2876  static inline bool MovementType_IsValid(int value) {
2877  return MissionPlan_MovementType_IsValid(value);
2878  }
2879  static constexpr MovementType MovementType_MIN =
2881  static constexpr MovementType MovementType_MAX =
2883  static constexpr int MovementType_ARRAYSIZE =
2885  static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
2888  }
2889  template<typename T>
2890  static inline const std::string& MovementType_Name(T enum_t_value) {
2891  static_assert(::std::is_same<T, MovementType>::value ||
2892  ::std::is_integral<T>::value,
2893  "Incorrect type passed to function MovementType_Name.");
2894  return MissionPlan_MovementType_Name(enum_t_value);
2895  }
2896  static inline bool MovementType_Parse(const std::string& name,
2897  MovementType* value) {
2898  return MissionPlan_MovementType_Parse(name, value);
2899  }
2900 
2901  // accessors -------------------------------------------------------
2902 
2903  enum : int {
2904  kGoalFieldNumber = 3,
2905  kRecoveryFieldNumber = 4,
2906  kSpeedsFieldNumber = 5,
2907  kBottomDepthSafetyParamsFieldNumber = 6,
2908  kFragmentIndexFieldNumber = 7,
2909  kExpectedFragmentsFieldNumber = 8,
2910  kRepeatsFieldNumber = 9,
2911  kStartFieldNumber = 1,
2912  kMovementFieldNumber = 2,
2913  kTrailFieldNumber = 10,
2914  };
2915  // repeated .jaiabot.protobuf.MissionPlan.Goal goal = 3 [(.dccl.field) = {
2916  int goal_size() const;
2917  private:
2918  int _internal_goal_size() const;
2919  public:
2920  void clear_goal();
2921  ::jaiabot::protobuf::MissionPlan_Goal* mutable_goal(int index);
2922  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::jaiabot::protobuf::MissionPlan_Goal >*
2924  private:
2925  const ::jaiabot::protobuf::MissionPlan_Goal& _internal_goal(int index) const;
2926  ::jaiabot::protobuf::MissionPlan_Goal* _internal_add_goal();
2927  public:
2928  const ::jaiabot::protobuf::MissionPlan_Goal& goal(int index) const;
2929  ::jaiabot::protobuf::MissionPlan_Goal* add_goal();
2930  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::jaiabot::protobuf::MissionPlan_Goal >&
2931  goal() const;
2932 
2933  // optional .jaiabot.protobuf.MissionPlan.Recovery recovery = 4 [(.jaia.field) = {
2934  bool has_recovery() const;
2935  private:
2936  bool _internal_has_recovery() const;
2937  public:
2939  const ::jaiabot::protobuf::MissionPlan_Recovery& recovery() const;
2940  ::jaiabot::protobuf::MissionPlan_Recovery* release_recovery();
2941  ::jaiabot::protobuf::MissionPlan_Recovery* mutable_recovery();
2942  void set_allocated_recovery(::jaiabot::protobuf::MissionPlan_Recovery* recovery);
2943  private:
2944  const ::jaiabot::protobuf::MissionPlan_Recovery& _internal_recovery() const;
2945  ::jaiabot::protobuf::MissionPlan_Recovery* _internal_mutable_recovery();
2946  public:
2948  ::jaiabot::protobuf::MissionPlan_Recovery* recovery);
2949  ::jaiabot::protobuf::MissionPlan_Recovery* unsafe_arena_release_recovery();
2950 
2951  // optional .jaiabot.protobuf.Speeds speeds = 5 [(.jaia.field) = {
2952  bool has_speeds() const;
2953  private:
2954  bool _internal_has_speeds() const;
2955  public:
2957  const ::jaiabot::protobuf::Speeds& speeds() const;
2958  ::jaiabot::protobuf::Speeds* release_speeds();
2959  ::jaiabot::protobuf::Speeds* mutable_speeds();
2960  void set_allocated_speeds(::jaiabot::protobuf::Speeds* speeds);
2961  private:
2962  const ::jaiabot::protobuf::Speeds& _internal_speeds() const;
2963  ::jaiabot::protobuf::Speeds* _internal_mutable_speeds();
2964  public:
2966  ::jaiabot::protobuf::Speeds* speeds);
2967  ::jaiabot::protobuf::Speeds* unsafe_arena_release_speeds();
2968 
2969  // optional .jaiabot.protobuf.BottomDepthSafetyParams bottom_depth_safety_params = 6 [(.jaia.field) = {
2971  private:
2972  bool _internal_has_bottom_depth_safety_params() const;
2973  public:
2975  const ::jaiabot::protobuf::BottomDepthSafetyParams& bottom_depth_safety_params() const;
2976  ::jaiabot::protobuf::BottomDepthSafetyParams* release_bottom_depth_safety_params();
2977  ::jaiabot::protobuf::BottomDepthSafetyParams* mutable_bottom_depth_safety_params();
2978  void set_allocated_bottom_depth_safety_params(::jaiabot::protobuf::BottomDepthSafetyParams* bottom_depth_safety_params);
2979  private:
2980  const ::jaiabot::protobuf::BottomDepthSafetyParams& _internal_bottom_depth_safety_params() const;
2981  ::jaiabot::protobuf::BottomDepthSafetyParams* _internal_mutable_bottom_depth_safety_params();
2982  public:
2984  ::jaiabot::protobuf::BottomDepthSafetyParams* bottom_depth_safety_params);
2985  ::jaiabot::protobuf::BottomDepthSafetyParams* unsafe_arena_release_bottom_depth_safety_params();
2986 
2987  // optional uint32 fragment_index = 7 [(.dccl.field) = {
2988  bool has_fragment_index() const;
2989  private:
2990  bool _internal_has_fragment_index() const;
2991  public:
2993  ::PROTOBUF_NAMESPACE_ID::uint32 fragment_index() const;
2994  void set_fragment_index(::PROTOBUF_NAMESPACE_ID::uint32 value);
2995  private:
2996  ::PROTOBUF_NAMESPACE_ID::uint32 _internal_fragment_index() const;
2997  void _internal_set_fragment_index(::PROTOBUF_NAMESPACE_ID::uint32 value);
2998  public:
2999 
3000  // optional uint32 expected_fragments = 8 [(.dccl.field) = {
3002  private:
3003  bool _internal_has_expected_fragments() const;
3004  public:
3006  ::PROTOBUF_NAMESPACE_ID::uint32 expected_fragments() const;
3007  void set_expected_fragments(::PROTOBUF_NAMESPACE_ID::uint32 value);
3008  private:
3009  ::PROTOBUF_NAMESPACE_ID::uint32 _internal_expected_fragments() const;
3010  void _internal_set_expected_fragments(::PROTOBUF_NAMESPACE_ID::uint32 value);
3011  public:
3012 
3013  // optional uint32 repeats = 9 [default = 1, (.dccl.field) = {
3014  bool has_repeats() const;
3015  private:
3016  bool _internal_has_repeats() const;
3017  public:
3019  ::PROTOBUF_NAMESPACE_ID::uint32 repeats() const;
3020  void set_repeats(::PROTOBUF_NAMESPACE_ID::uint32 value);
3021  private:
3022  ::PROTOBUF_NAMESPACE_ID::uint32 _internal_repeats() const;
3023  void _internal_set_repeats(::PROTOBUF_NAMESPACE_ID::uint32 value);
3024  public:
3025 
3026  // optional .jaiabot.protobuf.MissionPlan.MissionStart start = 1 [default = START_ON_COMMAND, (.jaia.field) = {
3027  bool has_start() const;
3028  private:
3029  bool _internal_has_start() const;
3030  public:
3031  void clear_start();
3034  private:
3035  ::jaiabot::protobuf::MissionPlan_MissionStart _internal_start() const;
3036  void _internal_set_start(::jaiabot::protobuf::MissionPlan_MissionStart value);
3037  public:
3038 
3039  // optional .jaiabot.protobuf.MissionPlan.MovementType movement = 2 [default = TRANSIT, (.jaia.field) = {
3040  bool has_movement() const;
3041  private:
3042  bool _internal_has_movement() const;
3043  public:
3047  private:
3048  ::jaiabot::protobuf::MissionPlan_MovementType _internal_movement() const;
3049  void _internal_set_movement(::jaiabot::protobuf::MissionPlan_MovementType value);
3050  public:
3051 
3052  // .jaiabot.protobuf.MissionPlan.TrailParam trail = 10;
3053  bool has_trail() const;
3054  private:
3055  bool _internal_has_trail() const;
3056  public:
3057  void clear_trail();
3058  const ::jaiabot::protobuf::MissionPlan_TrailParam& trail() const;
3059  ::jaiabot::protobuf::MissionPlan_TrailParam* release_trail();
3060  ::jaiabot::protobuf::MissionPlan_TrailParam* mutable_trail();
3061  void set_allocated_trail(::jaiabot::protobuf::MissionPlan_TrailParam* trail);
3062  private:
3063  const ::jaiabot::protobuf::MissionPlan_TrailParam& _internal_trail() const;
3064  ::jaiabot::protobuf::MissionPlan_TrailParam* _internal_mutable_trail();
3065  public:
3067  ::jaiabot::protobuf::MissionPlan_TrailParam* trail);
3068  ::jaiabot::protobuf::MissionPlan_TrailParam* unsafe_arena_release_trail();
3069 
3072  // @@protoc_insertion_point(class_scope:jaiabot.protobuf.MissionPlan)
3073  private:
3074  class _Internal;
3075  void set_has_trail();
3076 
3077  inline bool has_movement_params() const;
3078  inline void clear_has_movement_params();
3079 
3080  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
3081  typedef void InternalArenaConstructable_;
3082  typedef void DestructorSkippable_;
3083  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
3084  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
3085  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::jaiabot::protobuf::MissionPlan_Goal > goal_;
3086  ::jaiabot::protobuf::MissionPlan_Recovery* recovery_;
3087  ::jaiabot::protobuf::Speeds* speeds_;
3088  ::jaiabot::protobuf::BottomDepthSafetyParams* bottom_depth_safety_params_;
3089  ::PROTOBUF_NAMESPACE_ID::uint32 fragment_index_;
3090  ::PROTOBUF_NAMESPACE_ID::uint32 expected_fragments_;
3091  ::PROTOBUF_NAMESPACE_ID::uint32 repeats_;
3092  int start_;
3093  int movement_;
3094  union MovementParamsUnion {
3095  MovementParamsUnion() {}
3096  ::jaiabot::protobuf::MissionPlan_TrailParam* trail_;
3097  } movement_params_;
3098  ::PROTOBUF_NAMESPACE_ID::uint32 _oneof_case_[1];
3099 
3100  friend struct ::TableStruct_jaiabot_2fmessages_2fmission_2eproto;
3101 };
3102 // -------------------------------------------------------------------
3103 
3104 class IvPBehaviorUpdate_TransitUpdate PROTOBUF_FINAL :
3105  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:jaiabot.protobuf.IvPBehaviorUpdate.TransitUpdate) */ {
3106  public:
3107  inline IvPBehaviorUpdate_TransitUpdate() : IvPBehaviorUpdate_TransitUpdate(nullptr) {};
3109 
3110  IvPBehaviorUpdate_TransitUpdate(const IvPBehaviorUpdate_TransitUpdate& from);
3111  IvPBehaviorUpdate_TransitUpdate(IvPBehaviorUpdate_TransitUpdate&& from) noexcept
3112  : IvPBehaviorUpdate_TransitUpdate() {
3113  *this = ::std::move(from);
3114  }
3115 
3116  inline IvPBehaviorUpdate_TransitUpdate& operator=(const IvPBehaviorUpdate_TransitUpdate& from) {
3117  CopyFrom(from);
3118  return *this;
3119  }
3120  inline IvPBehaviorUpdate_TransitUpdate& operator=(IvPBehaviorUpdate_TransitUpdate&& from) noexcept {
3121  if (GetArena() == from.GetArena()) {
3122  if (this != &from) InternalSwap(&from);
3123  } else {
3124  CopyFrom(from);
3125  }
3126  return *this;
3127  }
3128 
3129  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
3130  return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
3131  }
3132  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
3133  return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
3134  }
3135 
3136  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
3137  return GetDescriptor();
3138  }
3139  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
3140  return GetMetadataStatic().descriptor;
3141  }
3142  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
3143  return GetMetadataStatic().reflection;
3144  }
3145  static const IvPBehaviorUpdate_TransitUpdate& default_instance();
3146 
3147  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
3148  static inline const IvPBehaviorUpdate_TransitUpdate* internal_default_instance() {
3149  return reinterpret_cast<const IvPBehaviorUpdate_TransitUpdate*>(
3151  }
3152  static constexpr int kIndexInFileMessages =
3153  12;
3154 
3155  friend void swap(IvPBehaviorUpdate_TransitUpdate& a, IvPBehaviorUpdate_TransitUpdate& b) {
3156  a.Swap(&b);
3157  }
3158  inline void Swap(IvPBehaviorUpdate_TransitUpdate* other) {
3159  if (other == this) return;
3160  if (GetArena() == other->GetArena()) {
3161  InternalSwap(other);
3162  } else {
3163  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
3164  }
3165  }
3166  void UnsafeArenaSwap(IvPBehaviorUpdate_TransitUpdate* other) {
3167  if (other == this) return;
3168  GOOGLE_DCHECK(GetArena() == other->GetArena());
3169  InternalSwap(other);
3170  }
3171 
3172  // implements Message ----------------------------------------------
3173 
3174  inline IvPBehaviorUpdate_TransitUpdate* New() const final {
3175  return CreateMaybeMessage<IvPBehaviorUpdate_TransitUpdate>(nullptr);
3176  }
3177 
3178  IvPBehaviorUpdate_TransitUpdate* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
3179  return CreateMaybeMessage<IvPBehaviorUpdate_TransitUpdate>(arena);
3180  }
3181  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
3182  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
3183  void CopyFrom(const IvPBehaviorUpdate_TransitUpdate& from);
3184  void MergeFrom(const IvPBehaviorUpdate_TransitUpdate& from);
3185  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
3186  bool IsInitialized() const final;
3187 
3188  size_t ByteSizeLong() const final;
3189  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
3190  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
3191  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
3192  int GetCachedSize() const final { return _cached_size_.Get(); }
3193 
3194  private:
3195  inline void SharedCtor();
3196  inline void SharedDtor();
3197  void SetCachedSize(int size) const final;
3198  void InternalSwap(IvPBehaviorUpdate_TransitUpdate* other);
3199  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
3200  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
3201  return "jaiabot.protobuf.IvPBehaviorUpdate.TransitUpdate";
3202  }
3203  protected:
3204  explicit IvPBehaviorUpdate_TransitUpdate(::PROTOBUF_NAMESPACE_ID::Arena* arena);
3205  private:
3206  static void ArenaDtor(void* object);
3207  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
3208  public:
3209 
3210  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
3211  private:
3212  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
3213  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_jaiabot_2fmessages_2fmission_2eproto);
3214  return ::descriptor_table_jaiabot_2fmessages_2fmission_2eproto.file_level_metadata[kIndexInFileMessages];
3215  }
3216 
3217  public:
3218 
3219  // nested types ----------------------------------------------------
3220 
3221  // accessors -------------------------------------------------------
3222 
3223  enum : int {
3224  kXFieldNumber = 2,
3225  kYFieldNumber = 3,
3226  kActiveFieldNumber = 1,
3227  kSlipRadiusFieldNumber = 5,
3228  kSpeedFieldNumber = 4,
3229  };
3230  // optional double x = 2 [(.dccl.field) = {
3231  bool has_x() const;
3232  private:
3233  bool _internal_has_x() const;
3234  public:
3235  void clear_x();
3236  double x() const;
3237  void set_x(double value);
3238  private:
3239  double _internal_x() const;
3240  void _internal_set_x(double value);
3241  public:
3242 
3243  // optional double y = 3 [(.dccl.field) = {
3244  bool has_y() const;
3245  private:
3246  bool _internal_has_y() const;
3247  public:
3248  void clear_y();
3249  double y() const;
3250  void set_y(double value);
3251  private:
3252  double _internal_y() const;
3253  void _internal_set_y(double value);
3254  public:
3255 
3256  // required bool active = 1;
3257  bool has_active() const;
3258  private:
3259  bool _internal_has_active() const;
3260  public:
3262  bool active() const;
3263  void set_active(bool value);
3264  private:
3265  bool _internal_active() const;
3266  void _internal_set_active(bool value);
3267  public:
3268 
3269  // optional int32 slip_radius = 5;
3270  bool has_slip_radius() const;
3271  private:
3272  bool _internal_has_slip_radius() const;
3273  public:
3275  ::PROTOBUF_NAMESPACE_ID::int32 slip_radius() const;
3276  void set_slip_radius(::PROTOBUF_NAMESPACE_ID::int32 value);
3277  private:
3278  ::PROTOBUF_NAMESPACE_ID::int32 _internal_slip_radius() const;
3279  void _internal_set_slip_radius(::PROTOBUF_NAMESPACE_ID::int32 value);
3280  public:
3281 
3282  // optional double speed = 4 [(.dccl.field) = {
3283  bool has_speed() const;
3284  private:
3285  bool _internal_has_speed() const;
3286  public:
3287  void clear_speed();
3288  double speed() const;
3289  void set_speed(double value);
3290  private:
3291  double _internal_speed() const;
3292  void _internal_set_speed(double value);
3293  public:
3294 
3295  typedef boost::units::derived_dimension< boost::units::length_base_dimension,1 >::type x_dimension;
3296 
3297  typedef boost::units::unit<x_dimension,boost::units::si::system> x_unit;
3298 
3299  template<typename Quantity >
3300  void set_x_with_units(Quantity value_w_units)
3301  { set_x(boost::units::quantity<x_unit,double >(value_w_units).value() ); };
3302 
3303  template<typename Quantity >
3304  Quantity x_with_units() const
3305  { return Quantity(x() * x_unit()); };
3306 
3307  boost::units::quantity< x_unit,double > x_with_units() const
3308  { return x_with_units<boost::units::quantity< x_unit,double > >(); };
3309 
3310  typedef boost::units::derived_dimension< boost::units::length_base_dimension,1 >::type y_dimension;
3311 
3312  typedef boost::units::unit<y_dimension,boost::units::si::system> y_unit;
3313 
3314  template<typename Quantity >
3315  void set_y_with_units(Quantity value_w_units)
3316  { set_y(boost::units::quantity<y_unit,double >(value_w_units).value() ); };
3317 
3318  template<typename Quantity >
3319  Quantity y_with_units() const
3320  { return Quantity(y() * y_unit()); };
3321 
3322  boost::units::quantity< y_unit,double > y_with_units() const
3323  { return y_with_units<boost::units::quantity< y_unit,double > >(); };
3324 
3325  typedef boost::units::derived_dimension< boost::units::length_base_dimension,1, boost::units::time_base_dimension,-1 >::type speed_dimension;
3326 
3327  typedef boost::units::unit<speed_dimension,boost::units::si::system> speed_unit;
3328 
3329  template<typename Quantity >
3330  void set_speed_with_units(Quantity value_w_units)
3331  { set_speed(boost::units::quantity<speed_unit,double >(value_w_units).value() ); };
3332 
3333  template<typename Quantity >
3334  Quantity speed_with_units() const
3335  { return Quantity(speed() * speed_unit()); };
3336 
3337  boost::units::quantity< speed_unit,double > speed_with_units() const
3338  { return speed_with_units<boost::units::quantity< speed_unit,double > >(); };
3339 
3340  // @@protoc_insertion_point(class_scope:jaiabot.protobuf.IvPBehaviorUpdate.TransitUpdate)
3341  private:
3342  class _Internal;
3343 
3344  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
3345  typedef void InternalArenaConstructable_;
3346  typedef void DestructorSkippable_;
3347  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
3348  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
3349  double x_;
3350  double y_;
3351  bool active_;
3352  ::PROTOBUF_NAMESPACE_ID::int32 slip_radius_;
3353  double speed_;
3354  friend struct ::TableStruct_jaiabot_2fmessages_2fmission_2eproto;
3355 };
3356 // -------------------------------------------------------------------
3357 
3358 class IvPBehaviorUpdate_StationkeepUpdate PROTOBUF_FINAL :
3359  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:jaiabot.protobuf.IvPBehaviorUpdate.StationkeepUpdate) */ {
3360  public:
3361  inline IvPBehaviorUpdate_StationkeepUpdate() : IvPBehaviorUpdate_StationkeepUpdate(nullptr) {};
3363 
3364  IvPBehaviorUpdate_StationkeepUpdate(const IvPBehaviorUpdate_StationkeepUpdate& from);
3365  IvPBehaviorUpdate_StationkeepUpdate(IvPBehaviorUpdate_StationkeepUpdate&& from) noexcept
3366  : IvPBehaviorUpdate_StationkeepUpdate() {
3367  *this = ::std::move(from);
3368  }
3369 
3370  inline IvPBehaviorUpdate_StationkeepUpdate& operator=(const IvPBehaviorUpdate_StationkeepUpdate& from) {
3371  CopyFrom(from);
3372  return *this;
3373  }
3374  inline IvPBehaviorUpdate_StationkeepUpdate& operator=(IvPBehaviorUpdate_StationkeepUpdate&& from) noexcept {
3375  if (GetArena() == from.GetArena()) {
3376  if (this != &from) InternalSwap(&from);
3377  } else {
3378  CopyFrom(from);
3379  }
3380  return *this;
3381  }
3382 
3383  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
3384  return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
3385  }
3386  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
3387  return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
3388  }
3389 
3390  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
3391  return GetDescriptor();
3392  }
3393  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
3394  return GetMetadataStatic().descriptor;
3395  }
3396  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
3397  return GetMetadataStatic().reflection;
3398  }
3399  static const IvPBehaviorUpdate_StationkeepUpdate& default_instance();
3400 
3401  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
3402  static inline const IvPBehaviorUpdate_StationkeepUpdate* internal_default_instance() {
3403  return reinterpret_cast<const IvPBehaviorUpdate_StationkeepUpdate*>(
3405  }
3406  static constexpr int kIndexInFileMessages =
3407  13;
3408 
3409  friend void swap(IvPBehaviorUpdate_StationkeepUpdate& a, IvPBehaviorUpdate_StationkeepUpdate& b) {
3410  a.Swap(&b);
3411  }
3412  inline void Swap(IvPBehaviorUpdate_StationkeepUpdate* other) {
3413  if (other == this) return;
3414  if (GetArena() == other->GetArena()) {
3415  InternalSwap(other);
3416  } else {
3417  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
3418  }
3419  }
3420  void UnsafeArenaSwap(IvPBehaviorUpdate_StationkeepUpdate* other) {
3421  if (other == this) return;
3422  GOOGLE_DCHECK(GetArena() == other->GetArena());
3423  InternalSwap(other);
3424  }
3425 
3426  // implements Message ----------------------------------------------
3427 
3428  inline IvPBehaviorUpdate_StationkeepUpdate* New() const final {
3429  return CreateMaybeMessage<IvPBehaviorUpdate_StationkeepUpdate>(nullptr);
3430  }
3431 
3432  IvPBehaviorUpdate_StationkeepUpdate* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
3433  return CreateMaybeMessage<IvPBehaviorUpdate_StationkeepUpdate>(arena);
3434  }
3435  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
3436  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
3437  void CopyFrom(const IvPBehaviorUpdate_StationkeepUpdate& from);
3438  void MergeFrom(const IvPBehaviorUpdate_StationkeepUpdate& from);
3439  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
3440  bool IsInitialized() const final;
3441 
3442  size_t ByteSizeLong() const final;
3443  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
3444  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
3445  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
3446  int GetCachedSize() const final { return _cached_size_.Get(); }
3447 
3448  private:
3449  inline void SharedCtor();
3450  inline void SharedDtor();
3451  void SetCachedSize(int size) const final;
3452  void InternalSwap(IvPBehaviorUpdate_StationkeepUpdate* other);
3453  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
3454  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
3455  return "jaiabot.protobuf.IvPBehaviorUpdate.StationkeepUpdate";
3456  }
3457  protected:
3458  explicit IvPBehaviorUpdate_StationkeepUpdate(::PROTOBUF_NAMESPACE_ID::Arena* arena);
3459  private:
3460  static void ArenaDtor(void* object);
3461  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
3462  public:
3463 
3464  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
3465  private:
3466  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
3467  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_jaiabot_2fmessages_2fmission_2eproto);
3468  return ::descriptor_table_jaiabot_2fmessages_2fmission_2eproto.file_level_metadata[kIndexInFileMessages];
3469  }
3470 
3471  public:
3472 
3473  // nested types ----------------------------------------------------
3474 
3475  // accessors -------------------------------------------------------
3476 
3477  enum : int {
3478  kXFieldNumber = 2,
3479  kYFieldNumber = 3,
3480  kOuterSpeedFieldNumber = 4,
3481  kTransitSpeedFieldNumber = 5,
3482  kActiveFieldNumber = 1,
3483  kCenterActivateFieldNumber = 6,
3484  };
3485  // optional double x = 2 [(.dccl.field) = {
3486  bool has_x() const;
3487  private:
3488  bool _internal_has_x() const;
3489  public:
3490  void clear_x();
3491  double x() const;
3492  void set_x(double value);
3493  private:
3494  double _internal_x() const;
3495  void _internal_set_x(double value);
3496  public:
3497 
3498  // optional double y = 3 [(.dccl.field) = {
3499  bool has_y() const;
3500  private:
3501  bool _internal_has_y() const;
3502  public:
3503  void clear_y();
3504  double y() const;
3505  void set_y(double value);
3506  private:
3507  double _internal_y() const;
3508  void _internal_set_y(double value);
3509  public:
3510 
3511  // optional double outer_speed = 4 [(.dccl.field) = {
3512  bool has_outer_speed() const;
3513  private:
3514  bool _internal_has_outer_speed() const;
3515  public:
3517  double outer_speed() const;
3518  void set_outer_speed(double value);
3519  private:
3520  double _internal_outer_speed() const;
3521  void _internal_set_outer_speed(double value);
3522  public:
3523 
3524  // optional double transit_speed = 5 [(.dccl.field) = {
3525  bool has_transit_speed() const;
3526  private:
3527  bool _internal_has_transit_speed() const;
3528  public:
3530  double transit_speed() const;
3531  void set_transit_speed(double value);
3532  private:
3533  double _internal_transit_speed() const;
3534  void _internal_set_transit_speed(double value);
3535  public:
3536 
3537  // required bool active = 1;
3538  bool has_active() const;
3539  private:
3540  bool _internal_has_active() const;
3541  public:
3543  bool active() const;
3544  void set_active(bool value);
3545  private:
3546  bool _internal_active() const;
3547  void _internal_set_active(bool value);
3548  public:
3549 
3550  // optional bool center_activate = 6 [default = false];
3551  bool has_center_activate() const;
3552  private:
3553  bool _internal_has_center_activate() const;
3554  public:
3556  bool center_activate() const;
3557  void set_center_activate(bool value);
3558  private:
3559  bool _internal_center_activate() const;
3560  void _internal_set_center_activate(bool value);
3561  public:
3562 
3563  typedef boost::units::derived_dimension< boost::units::length_base_dimension,1 >::type x_dimension;
3564 
3565  typedef boost::units::unit<x_dimension,boost::units::si::system> x_unit;
3566 
3567  template<typename Quantity >
3568  void set_x_with_units(Quantity value_w_units)
3569  { set_x(boost::units::quantity<x_unit,double >(value_w_units).value() ); };
3570 
3571  template<typename Quantity >
3572  Quantity x_with_units() const
3573  { return Quantity(x() * x_unit()); };
3574 
3575  boost::units::quantity< x_unit,double > x_with_units() const
3576  { return x_with_units<boost::units::quantity< x_unit,double > >(); };
3577 
3578  typedef boost::units::derived_dimension< boost::units::length_base_dimension,1 >::type y_dimension;
3579 
3580  typedef boost::units::unit<y_dimension,boost::units::si::system> y_unit;
3581 
3582  template<typename Quantity >
3583  void set_y_with_units(Quantity value_w_units)
3584  { set_y(boost::units::quantity<y_unit,double >(value_w_units).value() ); };
3585 
3586  template<typename Quantity >
3587  Quantity y_with_units() const
3588  { return Quantity(y() * y_unit()); };
3589 
3590  boost::units::quantity< y_unit,double > y_with_units() const
3591  { return y_with_units<boost::units::quantity< y_unit,double > >(); };
3592 
3593  typedef boost::units::derived_dimension< boost::units::length_base_dimension,1, boost::units::time_base_dimension,-1 >::type outer_speed_dimension;
3594 
3595  typedef boost::units::unit<outer_speed_dimension,boost::units::si::system> outer_speed_unit;
3596 
3597  template<typename Quantity >
3598  void set_outer_speed_with_units(Quantity value_w_units)
3599  { set_outer_speed(boost::units::quantity<outer_speed_unit,double >(value_w_units).value() ); };
3600 
3601  template<typename Quantity >
3602  Quantity outer_speed_with_units() const
3603  { return Quantity(outer_speed() * outer_speed_unit()); };
3604 
3605  boost::units::quantity< outer_speed_unit,double > outer_speed_with_units() const
3606  { return outer_speed_with_units<boost::units::quantity< outer_speed_unit,double > >(); };
3607 
3608  typedef boost::units::derived_dimension< boost::units::length_base_dimension,1, boost::units::time_base_dimension,-1 >::type transit_speed_dimension;
3609 
3610  typedef boost::units::unit<transit_speed_dimension,boost::units::si::system> transit_speed_unit;
3611 
3612  template<typename Quantity >
3613  void set_transit_speed_with_units(Quantity value_w_units)
3614  { set_transit_speed(boost::units::quantity<transit_speed_unit,double >(value_w_units).value() ); };
3615 
3616  template<typename Quantity >
3617  Quantity transit_speed_with_units() const
3618  { return Quantity(transit_speed() * transit_speed_unit()); };
3619 
3620  boost::units::quantity< transit_speed_unit,double > transit_speed_with_units() const
3621  { return transit_speed_with_units<boost::units::quantity< transit_speed_unit,double > >(); };
3622 
3623  // @@protoc_insertion_point(class_scope:jaiabot.protobuf.IvPBehaviorUpdate.StationkeepUpdate)
3624  private:
3625  class _Internal;
3626 
3627  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
3628  typedef void InternalArenaConstructable_;
3629  typedef void DestructorSkippable_;
3630  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
3631  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
3632  double x_;
3633  double y_;
3634  double outer_speed_;
3635  double transit_speed_;
3636  bool active_;
3637  bool center_activate_;
3638  friend struct ::TableStruct_jaiabot_2fmessages_2fmission_2eproto;
3639 };
3640 // -------------------------------------------------------------------
3641 
3642 class IvPBehaviorUpdate_ConstantHeadingUpdate PROTOBUF_FINAL :
3643  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:jaiabot.protobuf.IvPBehaviorUpdate.ConstantHeadingUpdate) */ {
3644  public:
3645  inline IvPBehaviorUpdate_ConstantHeadingUpdate() : IvPBehaviorUpdate_ConstantHeadingUpdate(nullptr) {};
3647 
3648  IvPBehaviorUpdate_ConstantHeadingUpdate(const IvPBehaviorUpdate_ConstantHeadingUpdate& from);
3649  IvPBehaviorUpdate_ConstantHeadingUpdate(IvPBehaviorUpdate_ConstantHeadingUpdate&& from) noexcept
3650  : IvPBehaviorUpdate_ConstantHeadingUpdate() {
3651  *this = ::std::move(from);
3652  }
3653 
3654  inline IvPBehaviorUpdate_ConstantHeadingUpdate& operator=(const IvPBehaviorUpdate_ConstantHeadingUpdate& from) {
3655  CopyFrom(from);
3656  return *this;
3657  }
3658  inline IvPBehaviorUpdate_ConstantHeadingUpdate& operator=(IvPBehaviorUpdate_ConstantHeadingUpdate&& from) noexcept {
3659  if (GetArena() == from.GetArena()) {
3660  if (this != &from) InternalSwap(&from);
3661  } else {
3662  CopyFrom(from);
3663  }
3664  return *this;
3665  }
3666 
3667  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
3668  return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
3669  }
3670  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
3671  return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
3672  }
3673 
3674  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
3675  return GetDescriptor();
3676  }
3677  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
3678  return GetMetadataStatic().descriptor;
3679  }
3680  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
3681  return GetMetadataStatic().reflection;
3682  }
3683  static const IvPBehaviorUpdate_ConstantHeadingUpdate& default_instance();
3684 
3685  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
3686  static inline const IvPBehaviorUpdate_ConstantHeadingUpdate* internal_default_instance() {
3687  return reinterpret_cast<const IvPBehaviorUpdate_ConstantHeadingUpdate*>(
3689  }
3690  static constexpr int kIndexInFileMessages =
3691  14;
3692 
3693  friend void swap(IvPBehaviorUpdate_ConstantHeadingUpdate& a, IvPBehaviorUpdate_ConstantHeadingUpdate& b) {
3694  a.Swap(&b);
3695  }
3696  inline void Swap(IvPBehaviorUpdate_ConstantHeadingUpdate* other) {
3697  if (other == this) return;
3698  if (GetArena() == other->GetArena()) {
3699  InternalSwap(other);
3700  } else {
3701  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
3702  }
3703  }
3704  void UnsafeArenaSwap(IvPBehaviorUpdate_ConstantHeadingUpdate* other) {
3705  if (other == this) return;
3706  GOOGLE_DCHECK(GetArena() == other->GetArena());
3707  InternalSwap(other);
3708  }
3709 
3710  // implements Message ----------------------------------------------
3711 
3712  inline IvPBehaviorUpdate_ConstantHeadingUpdate* New() const final {
3713  return CreateMaybeMessage<IvPBehaviorUpdate_ConstantHeadingUpdate>(nullptr);
3714  }
3715 
3716  IvPBehaviorUpdate_ConstantHeadingUpdate* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
3717  return CreateMaybeMessage<IvPBehaviorUpdate_ConstantHeadingUpdate>(arena);
3718  }
3719  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
3720  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
3721  void CopyFrom(const IvPBehaviorUpdate_ConstantHeadingUpdate& from);
3722  void MergeFrom(const IvPBehaviorUpdate_ConstantHeadingUpdate& from);
3723  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
3724  bool IsInitialized() const final;
3725 
3726  size_t ByteSizeLong() const final;
3727  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
3728  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
3729  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
3730  int GetCachedSize() const final { return _cached_size_.Get(); }
3731 
3732  private:
3733  inline void SharedCtor();
3734  inline void SharedDtor();
3735  void SetCachedSize(int size) const final;
3736  void InternalSwap(IvPBehaviorUpdate_ConstantHeadingUpdate* other);
3737  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
3738  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
3739  return "jaiabot.protobuf.IvPBehaviorUpdate.ConstantHeadingUpdate";
3740  }
3741  protected:
3742  explicit IvPBehaviorUpdate_ConstantHeadingUpdate(::PROTOBUF_NAMESPACE_ID::Arena* arena);
3743  private:
3744  static void ArenaDtor(void* object);
3745  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
3746  public:
3747 
3748  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
3749  private:
3750  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
3751  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_jaiabot_2fmessages_2fmission_2eproto);
3752  return ::descriptor_table_jaiabot_2fmessages_2fmission_2eproto.file_level_metadata[kIndexInFileMessages];
3753  }
3754 
3755  public:
3756 
3757  // nested types ----------------------------------------------------
3758 
3759  // accessors -------------------------------------------------------
3760 
3761  enum : int {
3762  kHeadingFieldNumber = 2,
3763  kActiveFieldNumber = 1,
3764  };
3765  // optional double heading = 2 [(.dccl.field) = {
3766  bool has_heading() const;
3767  private:
3768  bool _internal_has_heading() const;
3769  public:
3771  double heading() const;
3772  void set_heading(double value);
3773  private:
3774  double _internal_heading() const;
3775  void _internal_set_heading(double value);
3776  public:
3777 
3778  // required bool active = 1;
3779  bool has_active() const;
3780  private:
3781  bool _internal_has_active() const;
3782  public:
3784  bool active() const;
3785  void set_active(bool value);
3786  private:
3787  bool _internal_active() const;
3788  void _internal_set_active(bool value);
3789  public:
3790 
3791  typedef boost::units::plane_angle_dimension heading_dimension;
3792 
3793  typedef boost::units::unit<heading_dimension,boost::units::degree::system> heading_unit;
3794 
3795  template<typename Quantity >
3796  void set_heading_with_units(Quantity value_w_units)
3797  { set_heading(boost::units::quantity<heading_unit,double >(value_w_units).value() ); };
3798 
3799  template<typename Quantity >
3800  Quantity heading_with_units() const
3801  { return Quantity(heading() * heading_unit()); };
3802 
3803  boost::units::quantity< heading_unit,double > heading_with_units() const
3804  { return heading_with_units<boost::units::quantity< heading_unit,double > >(); };
3805 
3806  // @@protoc_insertion_point(class_scope:jaiabot.protobuf.IvPBehaviorUpdate.ConstantHeadingUpdate)
3807  private:
3808  class _Internal;
3809 
3810  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
3811  typedef void InternalArenaConstructable_;
3812  typedef void DestructorSkippable_;
3813  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
3814  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
3815  double heading_;
3816  bool active_;
3817  friend struct ::TableStruct_jaiabot_2fmessages_2fmission_2eproto;
3818 };
3819 // -------------------------------------------------------------------
3820 
3821 class IvPBehaviorUpdate_ConstantSpeedUpdate PROTOBUF_FINAL :
3822  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:jaiabot.protobuf.IvPBehaviorUpdate.ConstantSpeedUpdate) */ {
3823  public:
3824  inline IvPBehaviorUpdate_ConstantSpeedUpdate() : IvPBehaviorUpdate_ConstantSpeedUpdate(nullptr) {};
3826 
3827  IvPBehaviorUpdate_ConstantSpeedUpdate(const IvPBehaviorUpdate_ConstantSpeedUpdate& from);
3828  IvPBehaviorUpdate_ConstantSpeedUpdate(IvPBehaviorUpdate_ConstantSpeedUpdate&& from) noexcept
3829  : IvPBehaviorUpdate_ConstantSpeedUpdate() {
3830  *this = ::std::move(from);
3831  }
3832 
3833  inline IvPBehaviorUpdate_ConstantSpeedUpdate& operator=(const IvPBehaviorUpdate_ConstantSpeedUpdate& from) {
3834  CopyFrom(from);
3835  return *this;
3836  }
3837  inline IvPBehaviorUpdate_ConstantSpeedUpdate& operator=(IvPBehaviorUpdate_ConstantSpeedUpdate&& from) noexcept {
3838  if (GetArena() == from.GetArena()) {
3839  if (this != &from) InternalSwap(&from);
3840  } else {
3841  CopyFrom(from);
3842  }
3843  return *this;
3844  }
3845 
3846  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
3847  return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
3848  }
3849  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
3850  return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
3851  }
3852 
3853  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
3854  return GetDescriptor();
3855  }
3856  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
3857  return GetMetadataStatic().descriptor;
3858  }
3859  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
3860  return GetMetadataStatic().reflection;
3861  }
3862  static const IvPBehaviorUpdate_ConstantSpeedUpdate& default_instance();
3863 
3864  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
3865  static inline const IvPBehaviorUpdate_ConstantSpeedUpdate* internal_default_instance() {
3866  return reinterpret_cast<const IvPBehaviorUpdate_ConstantSpeedUpdate*>(
3868  }
3869  static constexpr int kIndexInFileMessages =
3870  15;
3871 
3872  friend void swap(IvPBehaviorUpdate_ConstantSpeedUpdate& a, IvPBehaviorUpdate_ConstantSpeedUpdate& b) {
3873  a.Swap(&b);
3874  }
3875  inline void Swap(IvPBehaviorUpdate_ConstantSpeedUpdate* other) {
3876  if (other == this) return;
3877  if (GetArena() == other->GetArena()) {
3878  InternalSwap(other);
3879  } else {
3880  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
3881  }
3882  }
3883  void UnsafeArenaSwap(IvPBehaviorUpdate_ConstantSpeedUpdate* other) {
3884  if (other == this) return;
3885  GOOGLE_DCHECK(GetArena() == other->GetArena());
3886  InternalSwap(other);
3887  }
3888 
3889  // implements Message ----------------------------------------------
3890 
3891  inline IvPBehaviorUpdate_ConstantSpeedUpdate* New() const final {
3892  return CreateMaybeMessage<IvPBehaviorUpdate_ConstantSpeedUpdate>(nullptr);
3893  }
3894 
3895  IvPBehaviorUpdate_ConstantSpeedUpdate* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
3896  return CreateMaybeMessage<IvPBehaviorUpdate_ConstantSpeedUpdate>(arena);
3897  }
3898  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
3899  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
3900  void CopyFrom(const IvPBehaviorUpdate_ConstantSpeedUpdate& from);
3901  void MergeFrom(const IvPBehaviorUpdate_ConstantSpeedUpdate& from);
3902  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
3903  bool IsInitialized() const final;
3904 
3905  size_t ByteSizeLong() const final;
3906  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
3907  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
3908  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
3909  int GetCachedSize() const final { return _cached_size_.Get(); }
3910 
3911  private:
3912  inline void SharedCtor();
3913  inline void SharedDtor();
3914  void SetCachedSize(int size) const final;
3915  void InternalSwap(IvPBehaviorUpdate_ConstantSpeedUpdate* other);
3916  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
3917  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
3918  return "jaiabot.protobuf.IvPBehaviorUpdate.ConstantSpeedUpdate";
3919  }
3920  protected:
3921  explicit IvPBehaviorUpdate_ConstantSpeedUpdate(::PROTOBUF_NAMESPACE_ID::Arena* arena);
3922  private:
3923  static void ArenaDtor(void* object);
3924  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
3925  public:
3926 
3927  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
3928  private:
3929  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
3930  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_jaiabot_2fmessages_2fmission_2eproto);
3931  return ::descriptor_table_jaiabot_2fmessages_2fmission_2eproto.file_level_metadata[kIndexInFileMessages];
3932  }
3933 
3934  public:
3935 
3936  // nested types ----------------------------------------------------
3937 
3938  // accessors -------------------------------------------------------
3939 
3940  enum : int {
3941  kSpeedFieldNumber = 2,
3942  kActiveFieldNumber = 1,
3943  };
3944  // optional double speed = 2 [(.dccl.field) = {
3945  bool has_speed() const;
3946  private:
3947  bool _internal_has_speed() const;
3948  public:
3949  void clear_speed();
3950  double speed() const;
3951  void set_speed(double value);
3952  private:
3953  double _internal_speed() const;
3954  void _internal_set_speed(double value);
3955  public:
3956 
3957  // required bool active = 1;
3958  bool has_active() const;
3959  private:
3960  bool _internal_has_active() const;
3961  public:
3963  bool active() const;
3964  void set_active(bool value);
3965  private:
3966  bool _internal_active() const;
3967  void _internal_set_active(bool value);
3968  public:
3969 
3970  typedef boost::units::derived_dimension< boost::units::length_base_dimension,1, boost::units::time_base_dimension,-1 >::type speed_dimension;
3971 
3972  typedef boost::units::unit<speed_dimension,boost::units::si::system> speed_unit;
3973 
3974  template<typename Quantity >
3975  void set_speed_with_units(Quantity value_w_units)
3976  { set_speed(boost::units::quantity<speed_unit,double >(value_w_units).value() ); };
3977 
3978  template<typename Quantity >
3979  Quantity speed_with_units() const
3980  { return Quantity(speed() * speed_unit()); };
3981 
3982  boost::units::quantity< speed_unit,double > speed_with_units() const
3983  { return speed_with_units<boost::units::quantity< speed_unit,double > >(); };
3984 
3985  // @@protoc_insertion_point(class_scope:jaiabot.protobuf.IvPBehaviorUpdate.ConstantSpeedUpdate)
3986  private:
3987  class _Internal;
3988 
3989  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
3990  typedef void InternalArenaConstructable_;
3991  typedef void DestructorSkippable_;
3992  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
3993  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
3994  double speed_;
3995  bool active_;
3996  friend struct ::TableStruct_jaiabot_2fmessages_2fmission_2eproto;
3997 };
3998 // -------------------------------------------------------------------
3999 
4000 class IvPBehaviorUpdate_TrailUpdate PROTOBUF_FINAL :
4001  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:jaiabot.protobuf.IvPBehaviorUpdate.TrailUpdate) */ {
4002  public:
4003  inline IvPBehaviorUpdate_TrailUpdate() : IvPBehaviorUpdate_TrailUpdate(nullptr) {};
4005 
4006  IvPBehaviorUpdate_TrailUpdate(const IvPBehaviorUpdate_TrailUpdate& from);
4007  IvPBehaviorUpdate_TrailUpdate(IvPBehaviorUpdate_TrailUpdate&& from) noexcept
4008  : IvPBehaviorUpdate_TrailUpdate() {
4009  *this = ::std::move(from);
4010  }
4011 
4012  inline IvPBehaviorUpdate_TrailUpdate& operator=(const IvPBehaviorUpdate_TrailUpdate& from) {
4013  CopyFrom(from);
4014  return *this;
4015  }
4016  inline IvPBehaviorUpdate_TrailUpdate& operator=(IvPBehaviorUpdate_TrailUpdate&& from) noexcept {
4017  if (GetArena() == from.GetArena()) {
4018  if (this != &from) InternalSwap(&from);
4019  } else {
4020  CopyFrom(from);
4021  }
4022  return *this;
4023  }
4024 
4025  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
4026  return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
4027  }
4028  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
4029  return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
4030  }
4031 
4032  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
4033  return GetDescriptor();
4034  }
4035  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
4036  return GetMetadataStatic().descriptor;
4037  }
4038  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
4039  return GetMetadataStatic().reflection;
4040  }
4041  static const IvPBehaviorUpdate_TrailUpdate& default_instance();
4042 
4043  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
4044  static inline const IvPBehaviorUpdate_TrailUpdate* internal_default_instance() {
4045  return reinterpret_cast<const IvPBehaviorUpdate_TrailUpdate*>(
4047  }
4048  static constexpr int kIndexInFileMessages =
4049  16;
4050 
4051  friend void swap(IvPBehaviorUpdate_TrailUpdate& a, IvPBehaviorUpdate_TrailUpdate& b) {
4052  a.Swap(&b);
4053  }
4054  inline void Swap(IvPBehaviorUpdate_TrailUpdate* other) {
4055  if (other == this) return;
4056  if (GetArena() == other->GetArena()) {
4057  InternalSwap(other);
4058  } else {
4059  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
4060  }
4061  }
4062  void UnsafeArenaSwap(IvPBehaviorUpdate_TrailUpdate* other) {
4063  if (other == this) return;
4064  GOOGLE_DCHECK(GetArena() == other->GetArena());
4065  InternalSwap(other);
4066  }
4067 
4068  // implements Message ----------------------------------------------
4069 
4070  inline IvPBehaviorUpdate_TrailUpdate* New() const final {
4071  return CreateMaybeMessage<IvPBehaviorUpdate_TrailUpdate>(nullptr);
4072  }
4073 
4074  IvPBehaviorUpdate_TrailUpdate* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
4075  return CreateMaybeMessage<IvPBehaviorUpdate_TrailUpdate>(arena);
4076  }
4077  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
4078  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
4079  void CopyFrom(const IvPBehaviorUpdate_TrailUpdate& from);
4080  void MergeFrom(const IvPBehaviorUpdate_TrailUpdate& from);
4081  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
4082  bool IsInitialized() const final;
4083 
4084  size_t ByteSizeLong() const final;
4085  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
4086  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
4087  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
4088  int GetCachedSize() const final { return _cached_size_.Get(); }
4089 
4090  private:
4091  inline void SharedCtor();
4092  inline void SharedDtor();
4093  void SetCachedSize(int size) const final;
4094  void InternalSwap(IvPBehaviorUpdate_TrailUpdate* other);
4095  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
4096  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
4097  return "jaiabot.protobuf.IvPBehaviorUpdate.TrailUpdate";
4098  }
4099  protected:
4100  explicit IvPBehaviorUpdate_TrailUpdate(::PROTOBUF_NAMESPACE_ID::Arena* arena);
4101  private:
4102  static void ArenaDtor(void* object);
4103  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
4104  public:
4105 
4106  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
4107  private:
4108  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
4109  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_jaiabot_2fmessages_2fmission_2eproto);
4110  return ::descriptor_table_jaiabot_2fmessages_2fmission_2eproto.file_level_metadata[kIndexInFileMessages];
4111  }
4112 
4113  public:
4114 
4115  // nested types ----------------------------------------------------
4116 
4117  // accessors -------------------------------------------------------
4118 
4119  enum : int {
4120  kParamFieldNumber = 2,
4121  kActiveFieldNumber = 1,
4122  };
4123  // optional .jaiabot.protobuf.MissionPlan.TrailParam param = 2;
4124  bool has_param() const;
4125  private:
4126  bool _internal_has_param() const;
4127  public:
4128  void clear_param();
4129  const ::jaiabot::protobuf::MissionPlan_TrailParam& param() const;
4130  ::jaiabot::protobuf::MissionPlan_TrailParam* release_param();
4131  ::jaiabot::protobuf::MissionPlan_TrailParam* mutable_param();
4132  void set_allocated_param(::jaiabot::protobuf::MissionPlan_TrailParam* param);
4133  private:
4134  const ::jaiabot::protobuf::MissionPlan_TrailParam& _internal_param() const;
4135  ::jaiabot::protobuf::MissionPlan_TrailParam* _internal_mutable_param();
4136  public:
4138  ::jaiabot::protobuf::MissionPlan_TrailParam* param);
4139  ::jaiabot::protobuf::MissionPlan_TrailParam* unsafe_arena_release_param();
4140 
4141  // required bool active = 1;
4142  bool has_active() const;
4143  private:
4144  bool _internal_has_active() const;
4145  public:
4147  bool active() const;
4148  void set_active(bool value);
4149  private:
4150  bool _internal_active() const;
4151  void _internal_set_active(bool value);
4152  public:
4153 
4154  // @@protoc_insertion_point(class_scope:jaiabot.protobuf.IvPBehaviorUpdate.TrailUpdate)
4155  private:
4156  class _Internal;
4157 
4158  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
4159  typedef void InternalArenaConstructable_;
4160  typedef void DestructorSkippable_;
4161  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
4162  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
4163  ::jaiabot::protobuf::MissionPlan_TrailParam* param_;
4164  bool active_;
4165  friend struct ::TableStruct_jaiabot_2fmessages_2fmission_2eproto;
4166 };
4167 // -------------------------------------------------------------------
4168 
4169 class IvPBehaviorUpdate_ContactUpdate PROTOBUF_FINAL :
4170  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:jaiabot.protobuf.IvPBehaviorUpdate.ContactUpdate) */ {
4171  public:
4172  inline IvPBehaviorUpdate_ContactUpdate() : IvPBehaviorUpdate_ContactUpdate(nullptr) {};
4174 
4175  IvPBehaviorUpdate_ContactUpdate(const IvPBehaviorUpdate_ContactUpdate& from);
4176  IvPBehaviorUpdate_ContactUpdate(IvPBehaviorUpdate_ContactUpdate&& from) noexcept
4177  : IvPBehaviorUpdate_ContactUpdate() {
4178  *this = ::std::move(from);
4179  }
4180 
4181  inline IvPBehaviorUpdate_ContactUpdate& operator=(const IvPBehaviorUpdate_ContactUpdate& from) {
4182  CopyFrom(from);
4183  return *this;
4184  }
4185  inline IvPBehaviorUpdate_ContactUpdate& operator=(IvPBehaviorUpdate_ContactUpdate&& from) noexcept {
4186  if (GetArena() == from.GetArena()) {
4187  if (this != &from) InternalSwap(&from);
4188  } else {
4189  CopyFrom(from);
4190  }
4191  return *this;
4192  }
4193 
4194  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
4195  return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
4196  }
4197  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
4198  return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
4199  }
4200 
4201  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
4202  return GetDescriptor();
4203  }
4204  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
4205  return GetMetadataStatic().descriptor;
4206  }
4207  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
4208  return GetMetadataStatic().reflection;
4209  }
4210  static const IvPBehaviorUpdate_ContactUpdate& default_instance();
4211 
4212  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
4213  static inline const IvPBehaviorUpdate_ContactUpdate* internal_default_instance() {
4214  return reinterpret_cast<const IvPBehaviorUpdate_ContactUpdate*>(
4216  }
4217  static constexpr int kIndexInFileMessages =
4218  17;
4219 
4220  friend void swap(IvPBehaviorUpdate_ContactUpdate& a, IvPBehaviorUpdate_ContactUpdate& b) {
4221  a.Swap(&b);
4222  }
4223  inline void Swap(IvPBehaviorUpdate_ContactUpdate* other) {
4224  if (other == this) return;
4225  if (GetArena() == other->GetArena()) {
4226  InternalSwap(other);
4227  } else {
4228  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
4229  }
4230  }
4231  void UnsafeArenaSwap(IvPBehaviorUpdate_ContactUpdate* other) {
4232  if (other == this) return;
4233  GOOGLE_DCHECK(GetArena() == other->GetArena());
4234  InternalSwap(other);
4235  }
4236 
4237  // implements Message ----------------------------------------------
4238 
4239  inline IvPBehaviorUpdate_ContactUpdate* New() const final {
4240  return CreateMaybeMessage<IvPBehaviorUpdate_ContactUpdate>(nullptr);
4241  }
4242 
4243  IvPBehaviorUpdate_ContactUpdate* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
4244  return CreateMaybeMessage<IvPBehaviorUpdate_ContactUpdate>(arena);
4245  }
4246  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
4247  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
4248  void CopyFrom(const IvPBehaviorUpdate_ContactUpdate& from);
4249  void MergeFrom(const IvPBehaviorUpdate_ContactUpdate& from);
4250  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
4251  bool IsInitialized() const final;
4252 
4253  size_t ByteSizeLong() const final;
4254  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
4255  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
4256  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
4257  int GetCachedSize() const final { return _cached_size_.Get(); }
4258 
4259  private:
4260  inline void SharedCtor();
4261  inline void SharedDtor();
4262  void SetCachedSize(int size) const final;
4263  void InternalSwap(IvPBehaviorUpdate_ContactUpdate* other);
4264  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
4265  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
4266  return "jaiabot.protobuf.IvPBehaviorUpdate.ContactUpdate";
4267  }
4268  protected:
4269  explicit IvPBehaviorUpdate_ContactUpdate(::PROTOBUF_NAMESPACE_ID::Arena* arena);
4270  private:
4271  static void ArenaDtor(void* object);
4272  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
4273  public:
4274 
4275  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
4276  private:
4277  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
4278  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_jaiabot_2fmessages_2fmission_2eproto);
4279  return ::descriptor_table_jaiabot_2fmessages_2fmission_2eproto.file_level_metadata[kIndexInFileMessages];
4280  }
4281 
4282  public:
4283 
4284  // nested types ----------------------------------------------------
4285 
4286  // accessors -------------------------------------------------------
4287 
4288  enum : int {
4289  kXFieldNumber = 2,
4290  kYFieldNumber = 3,
4291  kSpeedFieldNumber = 4,
4292  kHeadingOrCogFieldNumber = 5,
4293  kContactFieldNumber = 1,
4294  };
4295  // optional double x = 2 [(.dccl.field) = {
4296  bool has_x() const;
4297  private:
4298  bool _internal_has_x() const;
4299  public:
4300  void clear_x();
4301  double x() const;
4302  void set_x(double value);
4303  private:
4304  double _internal_x() const;
4305  void _internal_set_x(double value);
4306  public:
4307 
4308  // optional double y = 3 [(.dccl.field) = {
4309  bool has_y() const;
4310  private:
4311  bool _internal_has_y() const;
4312  public:
4313  void clear_y();
4314  double y() const;
4315  void set_y(double value);
4316  private:
4317  double _internal_y() const;
4318  void _internal_set_y(double value);
4319  public:
4320 
4321  // optional double speed = 4 [(.dccl.field) = {
4322  bool has_speed() const;
4323  private:
4324  bool _internal_has_speed() const;
4325  public:
4326  void clear_speed();
4327  double speed() const;
4328  void set_speed(double value);
4329  private:
4330  double _internal_speed() const;
4331  void _internal_set_speed(double value);
4332  public:
4333 
4334  // optional double heading_or_cog = 5 [(.dccl.field) = {
4335  bool has_heading_or_cog() const;
4336  private:
4337  bool _internal_has_heading_or_cog() const;
4338  public:
4340  double heading_or_cog() const;
4341  void set_heading_or_cog(double value);
4342  private:
4343  double _internal_heading_or_cog() const;
4344  void _internal_set_heading_or_cog(double value);
4345  public:
4346 
4347  // optional int32 contact = 1;
4348  bool has_contact() const;
4349  private:
4350  bool _internal_has_contact() const;
4351  public:
4353  ::PROTOBUF_NAMESPACE_ID::int32 contact() const;
4354  void set_contact(::PROTOBUF_NAMESPACE_ID::int32 value);
4355  private:
4356  ::PROTOBUF_NAMESPACE_ID::int32 _internal_contact() const;
4357  void _internal_set_contact(::PROTOBUF_NAMESPACE_ID::int32 value);
4358  public:
4359 
4360  typedef boost::units::derived_dimension< boost::units::length_base_dimension,1 >::type x_dimension;
4361 
4362  typedef boost::units::unit<x_dimension,boost::units::si::system> x_unit;
4363 
4364  template<typename Quantity >
4365  void set_x_with_units(Quantity value_w_units)
4366  { set_x(boost::units::quantity<x_unit,double >(value_w_units).value() ); };
4367 
4368  template<typename Quantity >
4369  Quantity x_with_units() const
4370  { return Quantity(x() * x_unit()); };
4371 
4372  boost::units::quantity< x_unit,double > x_with_units() const
4373  { return x_with_units<boost::units::quantity< x_unit,double > >(); };
4374 
4375  typedef boost::units::derived_dimension< boost::units::length_base_dimension,1 >::type y_dimension;
4376 
4377  typedef boost::units::unit<y_dimension,boost::units::si::system> y_unit;
4378 
4379  template<typename Quantity >
4380  void set_y_with_units(Quantity value_w_units)
4381  { set_y(boost::units::quantity<y_unit,double >(value_w_units).value() ); };
4382 
4383  template<typename Quantity >
4384  Quantity y_with_units() const
4385  { return Quantity(y() * y_unit()); };
4386 
4387  boost::units::quantity< y_unit,double > y_with_units() const
4388  { return y_with_units<boost::units::quantity< y_unit,double > >(); };
4389 
4390  typedef boost::units::derived_dimension< boost::units::length_base_dimension,1, boost::units::time_base_dimension,-1 >::type speed_dimension;
4391 
4392  typedef boost::units::unit<speed_dimension,boost::units::si::system> speed_unit;
4393 
4394  template<typename Quantity >
4395  void set_speed_with_units(Quantity value_w_units)
4396  { set_speed(boost::units::quantity<speed_unit,double >(value_w_units).value() ); };
4397 
4398  template<typename Quantity >
4399  Quantity speed_with_units() const
4400  { return Quantity(speed() * speed_unit()); };
4401 
4402  boost::units::quantity< speed_unit,double > speed_with_units() const
4403  { return speed_with_units<boost::units::quantity< speed_unit,double > >(); };
4404 
4405  typedef boost::units::plane_angle_dimension heading_or_cog_dimension;
4406 
4407  typedef boost::units::unit<heading_or_cog_dimension,boost::units::degree::system> heading_or_cog_unit;
4408 
4409  template<typename Quantity >
4410  void set_heading_or_cog_with_units(Quantity value_w_units)
4411  { set_heading_or_cog(boost::units::quantity<heading_or_cog_unit,double >(value_w_units).value() ); };
4412 
4413  template<typename Quantity >
4414  Quantity heading_or_cog_with_units() const
4415  { return Quantity(heading_or_cog() * heading_or_cog_unit()); };
4416 
4417  boost::units::quantity< heading_or_cog_unit,double > heading_or_cog_with_units() const
4418  { return heading_or_cog_with_units<boost::units::quantity< heading_or_cog_unit,double > >(); };
4419 
4420  // @@protoc_insertion_point(class_scope:jaiabot.protobuf.IvPBehaviorUpdate.ContactUpdate)
4421  private:
4422  class _Internal;
4423 
4424  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
4425  typedef void InternalArenaConstructable_;
4426  typedef void DestructorSkippable_;
4427  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
4428  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
4429  double x_;
4430  double y_;
4431  double speed_;
4432  double heading_or_cog_;
4433  ::PROTOBUF_NAMESPACE_ID::int32 contact_;
4434  friend struct ::TableStruct_jaiabot_2fmessages_2fmission_2eproto;
4435 };
4436 // -------------------------------------------------------------------
4437 
4438 class IvPBehaviorUpdate PROTOBUF_FINAL :
4439  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:jaiabot.protobuf.IvPBehaviorUpdate) */ {
4440  public:
4441  inline IvPBehaviorUpdate() : IvPBehaviorUpdate(nullptr) {};
4443 
4444  IvPBehaviorUpdate(const IvPBehaviorUpdate& from);
4445  IvPBehaviorUpdate(IvPBehaviorUpdate&& from) noexcept
4446  : IvPBehaviorUpdate() {
4447  *this = ::std::move(from);
4448  }
4449 
4450  inline IvPBehaviorUpdate& operator=(const IvPBehaviorUpdate& from) {
4451  CopyFrom(from);
4452  return *this;
4453  }
4454  inline IvPBehaviorUpdate& operator=(IvPBehaviorUpdate&& from) noexcept {
4455  if (GetArena() == from.GetArena()) {
4456  if (this != &from) InternalSwap(&from);
4457  } else {
4458  CopyFrom(from);
4459  }
4460  return *this;
4461  }
4462 
4463  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
4464  return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
4465  }
4466  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
4467  return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
4468  }
4469 
4470  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
4471  return GetDescriptor();
4472  }
4473  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
4474  return GetMetadataStatic().descriptor;
4475  }
4476  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
4477  return GetMetadataStatic().reflection;
4478  }
4479  static const IvPBehaviorUpdate& default_instance();
4480 
4482  kTransit = 1,
4483  kStationkeep = 2,
4484  kConstantHeading = 3,
4485  kConstantSpeed = 4,
4486  kTrail = 5,
4487  kContact = 6,
4488  BEHAVIOR_NOT_SET = 0,
4489  };
4490 
4491  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
4492  static inline const IvPBehaviorUpdate* internal_default_instance() {
4493  return reinterpret_cast<const IvPBehaviorUpdate*>(
4495  }
4496  static constexpr int kIndexInFileMessages =
4497  18;
4498 
4499  friend void swap(IvPBehaviorUpdate& a, IvPBehaviorUpdate& b) {
4500  a.Swap(&b);
4501  }
4502  inline void Swap(IvPBehaviorUpdate* other) {
4503  if (other == this) return;
4504  if (GetArena() == other->GetArena()) {
4505  InternalSwap(other);
4506  } else {
4507  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
4508  }
4509  }
4510  void UnsafeArenaSwap(IvPBehaviorUpdate* other) {
4511  if (other == this) return;
4512  GOOGLE_DCHECK(GetArena() == other->GetArena());
4513  InternalSwap(other);
4514  }
4515 
4516  // implements Message ----------------------------------------------
4517 
4518  inline IvPBehaviorUpdate* New() const final {
4519  return CreateMaybeMessage<IvPBehaviorUpdate>(nullptr);
4520  }
4521 
4522  IvPBehaviorUpdate* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
4523  return CreateMaybeMessage<IvPBehaviorUpdate>(arena);
4524  }
4525  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
4526  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
4527  void CopyFrom(const IvPBehaviorUpdate& from);
4528  void MergeFrom(const IvPBehaviorUpdate& from);
4529  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
4530  bool IsInitialized() const final;
4531 
4532  size_t ByteSizeLong() const final;
4533  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
4534  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
4535  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
4536  int GetCachedSize() const final { return _cached_size_.Get(); }
4537 
4538  private:
4539  inline void SharedCtor();
4540  inline void SharedDtor();
4541  void SetCachedSize(int size) const final;
4542  void InternalSwap(IvPBehaviorUpdate* other);
4543  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
4544  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
4545  return "jaiabot.protobuf.IvPBehaviorUpdate";
4546  }
4547  protected:
4548  explicit IvPBehaviorUpdate(::PROTOBUF_NAMESPACE_ID::Arena* arena);
4549  private:
4550  static void ArenaDtor(void* object);
4551  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
4552  public:
4553 
4554  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
4555  private:
4556  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
4557  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_jaiabot_2fmessages_2fmission_2eproto);
4558  return ::descriptor_table_jaiabot_2fmessages_2fmission_2eproto.file_level_metadata[kIndexInFileMessages];
4559  }
4560 
4561  public:
4562 
4563  // nested types ----------------------------------------------------
4564 
4565  typedef IvPBehaviorUpdate_TransitUpdate TransitUpdate;
4566  typedef IvPBehaviorUpdate_StationkeepUpdate StationkeepUpdate;
4567  typedef IvPBehaviorUpdate_ConstantHeadingUpdate ConstantHeadingUpdate;
4568  typedef IvPBehaviorUpdate_ConstantSpeedUpdate ConstantSpeedUpdate;
4569  typedef IvPBehaviorUpdate_TrailUpdate TrailUpdate;
4570  typedef IvPBehaviorUpdate_ContactUpdate ContactUpdate;
4571 
4572  // accessors -------------------------------------------------------
4573 
4574  enum : int {
4575  kTransitFieldNumber = 1,
4576  kStationkeepFieldNumber = 2,
4577  kConstantHeadingFieldNumber = 3,
4578  kConstantSpeedFieldNumber = 4,
4579  kTrailFieldNumber = 5,
4580  kContactFieldNumber = 6,
4581  };
4582  // .jaiabot.protobuf.IvPBehaviorUpdate.TransitUpdate transit = 1;
4583  bool has_transit() const;
4584  private:
4585  bool _internal_has_transit() const;
4586  public:
4588  const ::jaiabot::protobuf::IvPBehaviorUpdate_TransitUpdate& transit() const;
4589  ::jaiabot::protobuf::IvPBehaviorUpdate_TransitUpdate* release_transit();
4590  ::jaiabot::protobuf::IvPBehaviorUpdate_TransitUpdate* mutable_transit();
4591  void set_allocated_transit(::jaiabot::protobuf::IvPBehaviorUpdate_TransitUpdate* transit);
4592  private:
4593  const ::jaiabot::protobuf::IvPBehaviorUpdate_TransitUpdate& _internal_transit() const;
4594  ::jaiabot::protobuf::IvPBehaviorUpdate_TransitUpdate* _internal_mutable_transit();
4595  public:
4597  ::jaiabot::protobuf::IvPBehaviorUpdate_TransitUpdate* transit);
4598  ::jaiabot::protobuf::IvPBehaviorUpdate_TransitUpdate* unsafe_arena_release_transit();
4599 
4600  // .jaiabot.protobuf.IvPBehaviorUpdate.StationkeepUpdate stationkeep = 2;
4601  bool has_stationkeep() const;
4602  private:
4603  bool _internal_has_stationkeep() const;
4604  public:
4606  const ::jaiabot::protobuf::IvPBehaviorUpdate_StationkeepUpdate& stationkeep() const;
4607  ::jaiabot::protobuf::IvPBehaviorUpdate_StationkeepUpdate* release_stationkeep();
4608  ::jaiabot::protobuf::IvPBehaviorUpdate_StationkeepUpdate* mutable_stationkeep();
4609  void set_allocated_stationkeep(::jaiabot::protobuf::IvPBehaviorUpdate_StationkeepUpdate* stationkeep);
4610  private:
4611  const ::jaiabot::protobuf::IvPBehaviorUpdate_StationkeepUpdate& _internal_stationkeep() const;
4612  ::jaiabot::protobuf::IvPBehaviorUpdate_StationkeepUpdate* _internal_mutable_stationkeep();
4613  public:
4615  ::jaiabot::protobuf::IvPBehaviorUpdate_StationkeepUpdate* stationkeep);
4616  ::jaiabot::protobuf::IvPBehaviorUpdate_StationkeepUpdate* unsafe_arena_release_stationkeep();
4617 
4618  // .jaiabot.protobuf.IvPBehaviorUpdate.ConstantHeadingUpdate constantHeading = 3;
4619  bool has_constantheading() const;
4620  private:
4621  bool _internal_has_constantheading() const;
4622  public:
4624  const ::jaiabot::protobuf::IvPBehaviorUpdate_ConstantHeadingUpdate& constantheading() const;
4625  ::jaiabot::protobuf::IvPBehaviorUpdate_ConstantHeadingUpdate* release_constantheading();
4626  ::jaiabot::protobuf::IvPBehaviorUpdate_ConstantHeadingUpdate* mutable_constantheading();
4627  void set_allocated_constantheading(::jaiabot::protobuf::IvPBehaviorUpdate_ConstantHeadingUpdate* constantheading);
4628  private:
4629  const ::jaiabot::protobuf::IvPBehaviorUpdate_ConstantHeadingUpdate& _internal_constantheading() const;
4630  ::jaiabot::protobuf::IvPBehaviorUpdate_ConstantHeadingUpdate* _internal_mutable_constantheading();
4631  public:
4633  ::jaiabot::protobuf::IvPBehaviorUpdate_ConstantHeadingUpdate* constantheading);
4634  ::jaiabot::protobuf::IvPBehaviorUpdate_ConstantHeadingUpdate* unsafe_arena_release_constantheading();
4635 
4636  // .jaiabot.protobuf.IvPBehaviorUpdate.ConstantSpeedUpdate constantSpeed = 4;
4637  bool has_constantspeed() const;
4638  private:
4639  bool _internal_has_constantspeed() const;
4640  public:
4642  const ::jaiabot::protobuf::IvPBehaviorUpdate_ConstantSpeedUpdate& constantspeed() const;
4643  ::jaiabot::protobuf::IvPBehaviorUpdate_ConstantSpeedUpdate* release_constantspeed();
4644  ::jaiabot::protobuf::IvPBehaviorUpdate_ConstantSpeedUpdate* mutable_constantspeed();
4645  void set_allocated_constantspeed(::jaiabot::protobuf::IvPBehaviorUpdate_ConstantSpeedUpdate* constantspeed);
4646  private:
4647  const ::jaiabot::protobuf::IvPBehaviorUpdate_ConstantSpeedUpdate& _internal_constantspeed() const;
4648  ::jaiabot::protobuf::IvPBehaviorUpdate_ConstantSpeedUpdate* _internal_mutable_constantspeed();
4649  public:
4651  ::jaiabot::protobuf::IvPBehaviorUpdate_ConstantSpeedUpdate* constantspeed);
4652  ::jaiabot::protobuf::IvPBehaviorUpdate_ConstantSpeedUpdate* unsafe_arena_release_constantspeed();
4653 
4654  // .jaiabot.protobuf.IvPBehaviorUpdate.TrailUpdate trail = 5;
4655  bool has_trail() const;
4656  private:
4657  bool _internal_has_trail() const;
4658  public:
4659  void clear_trail();
4660  const ::jaiabot::protobuf::IvPBehaviorUpdate_TrailUpdate& trail() const;
4661  ::jaiabot::protobuf::IvPBehaviorUpdate_TrailUpdate* release_trail();
4662  ::jaiabot::protobuf::IvPBehaviorUpdate_TrailUpdate* mutable_trail();
4663  void set_allocated_trail(::jaiabot::protobuf::IvPBehaviorUpdate_TrailUpdate* trail);
4664  private:
4665  const ::jaiabot::protobuf::IvPBehaviorUpdate_TrailUpdate& _internal_trail() const;
4666  ::jaiabot::protobuf::IvPBehaviorUpdate_TrailUpdate* _internal_mutable_trail();
4667  public:
4669  ::jaiabot::protobuf::IvPBehaviorUpdate_TrailUpdate* trail);
4670  ::jaiabot::protobuf::IvPBehaviorUpdate_TrailUpdate* unsafe_arena_release_trail();
4671 
4672  // .jaiabot.protobuf.IvPBehaviorUpdate.ContactUpdate contact = 6;
4673  bool has_contact() const;
4674  private:
4675  bool _internal_has_contact() const;
4676  public:
4678  const ::jaiabot::protobuf::IvPBehaviorUpdate_ContactUpdate& contact() const;
4679  ::jaiabot::protobuf::IvPBehaviorUpdate_ContactUpdate* release_contact();
4680  ::jaiabot::protobuf::IvPBehaviorUpdate_ContactUpdate* mutable_contact();
4681  void set_allocated_contact(::jaiabot::protobuf::IvPBehaviorUpdate_ContactUpdate* contact);
4682  private:
4683  const ::jaiabot::protobuf::IvPBehaviorUpdate_ContactUpdate& _internal_contact() const;
4684  ::jaiabot::protobuf::IvPBehaviorUpdate_ContactUpdate* _internal_mutable_contact();
4685  public:
4687  ::jaiabot::protobuf::IvPBehaviorUpdate_ContactUpdate* contact);
4688  ::jaiabot::protobuf::IvPBehaviorUpdate_ContactUpdate* unsafe_arena_release_contact();
4689 
4692  // @@protoc_insertion_point(class_scope:jaiabot.protobuf.IvPBehaviorUpdate)
4693  private:
4694  class _Internal;
4695  void set_has_transit();
4696  void set_has_stationkeep();
4697  void set_has_constantheading();
4698  void set_has_constantspeed();
4699  void set_has_trail();
4700  void set_has_contact();
4701 
4702  inline bool has_behavior() const;
4703  inline void clear_has_behavior();
4704 
4705  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
4706  typedef void InternalArenaConstructable_;
4707  typedef void DestructorSkippable_;
4708  union BehaviorUnion {
4709  BehaviorUnion() {}
4710  ::jaiabot::protobuf::IvPBehaviorUpdate_TransitUpdate* transit_;
4711  ::jaiabot::protobuf::IvPBehaviorUpdate_StationkeepUpdate* stationkeep_;
4712  ::jaiabot::protobuf::IvPBehaviorUpdate_ConstantHeadingUpdate* constantheading_;
4713  ::jaiabot::protobuf::IvPBehaviorUpdate_ConstantSpeedUpdate* constantspeed_;
4714  ::jaiabot::protobuf::IvPBehaviorUpdate_TrailUpdate* trail_;
4715  ::jaiabot::protobuf::IvPBehaviorUpdate_ContactUpdate* contact_;
4716  } behavior_;
4717  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
4718  ::PROTOBUF_NAMESPACE_ID::uint32 _oneof_case_[1];
4719 
4720  friend struct ::TableStruct_jaiabot_2fmessages_2fmission_2eproto;
4721 };
4722 // -------------------------------------------------------------------
4723 
4724 class IvPBehaviorReport_TransitReport PROTOBUF_FINAL :
4725  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:jaiabot.protobuf.IvPBehaviorReport.TransitReport) */ {
4726  public:
4727  inline IvPBehaviorReport_TransitReport() : IvPBehaviorReport_TransitReport(nullptr) {};
4729 
4730  IvPBehaviorReport_TransitReport(const IvPBehaviorReport_TransitReport& from);
4731  IvPBehaviorReport_TransitReport(IvPBehaviorReport_TransitReport&& from) noexcept
4732  : IvPBehaviorReport_TransitReport() {
4733  *this = ::std::move(from);
4734  }
4735 
4736  inline IvPBehaviorReport_TransitReport& operator=(const IvPBehaviorReport_TransitReport& from) {
4737  CopyFrom(from);
4738  return *this;
4739  }
4740  inline IvPBehaviorReport_TransitReport& operator=(IvPBehaviorReport_TransitReport&& from) noexcept {
4741  if (GetArena() == from.GetArena()) {
4742  if (this != &from) InternalSwap(&from);
4743  } else {
4744  CopyFrom(from);
4745  }
4746  return *this;
4747  }
4748 
4749  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
4750  return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
4751  }
4752  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
4753  return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
4754  }
4755 
4756  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
4757  return GetDescriptor();
4758  }
4759  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
4760  return GetMetadataStatic().descriptor;
4761  }
4762  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
4763  return GetMetadataStatic().reflection;
4764  }
4765  static const IvPBehaviorReport_TransitReport& default_instance();
4766 
4767  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
4768  static inline const IvPBehaviorReport_TransitReport* internal_default_instance() {
4769  return reinterpret_cast<const IvPBehaviorReport_TransitReport*>(
4771  }
4772  static constexpr int kIndexInFileMessages =
4773  19;
4774 
4775  friend void swap(IvPBehaviorReport_TransitReport& a, IvPBehaviorReport_TransitReport& b) {
4776  a.Swap(&b);
4777  }
4778  inline void Swap(IvPBehaviorReport_TransitReport* other) {
4779  if (other == this) return;
4780  if (GetArena() == other->GetArena()) {
4781  InternalSwap(other);
4782  } else {
4783  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
4784  }
4785  }
4786  void UnsafeArenaSwap(IvPBehaviorReport_TransitReport* other) {
4787  if (other == this) return;
4788  GOOGLE_DCHECK(GetArena() == other->GetArena());
4789  InternalSwap(other);
4790  }
4791 
4792  // implements Message ----------------------------------------------
4793 
4794  inline IvPBehaviorReport_TransitReport* New() const final {
4795  return CreateMaybeMessage<IvPBehaviorReport_TransitReport>(nullptr);
4796  }
4797 
4798  IvPBehaviorReport_TransitReport* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
4799  return CreateMaybeMessage<IvPBehaviorReport_TransitReport>(arena);
4800  }
4801  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
4802  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
4803  void CopyFrom(const IvPBehaviorReport_TransitReport& from);
4804  void MergeFrom(const IvPBehaviorReport_TransitReport& from);
4805  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
4806  bool IsInitialized() const final;
4807 
4808  size_t ByteSizeLong() const final;
4809  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
4810  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
4811  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
4812  int GetCachedSize() const final { return _cached_size_.Get(); }
4813 
4814  private:
4815  inline void SharedCtor();
4816  inline void SharedDtor();
4817  void SetCachedSize(int size) const final;
4818  void InternalSwap(IvPBehaviorReport_TransitReport* other);
4819  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
4820  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
4821  return "jaiabot.protobuf.IvPBehaviorReport.TransitReport";
4822  }
4823  protected:
4824  explicit IvPBehaviorReport_TransitReport(::PROTOBUF_NAMESPACE_ID::Arena* arena);
4825  private:
4826  static void ArenaDtor(void* object);
4827  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
4828  public:
4829 
4830  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
4831  private:
4832  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
4833  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_jaiabot_2fmessages_2fmission_2eproto);
4834  return ::descriptor_table_jaiabot_2fmessages_2fmission_2eproto.file_level_metadata[kIndexInFileMessages];
4835  }
4836 
4837  public:
4838 
4839  // nested types ----------------------------------------------------
4840 
4841  // accessors -------------------------------------------------------
4842 
4843  enum : int {
4844  kWaypointReachedFieldNumber = 1,
4845  };
4846  // optional bool waypoint_reached = 1 [default = false];
4847  bool has_waypoint_reached() const;
4848  private:
4849  bool _internal_has_waypoint_reached() const;
4850  public:
4852  bool waypoint_reached() const;
4853  void set_waypoint_reached(bool value);
4854  private:
4855  bool _internal_waypoint_reached() const;
4856  void _internal_set_waypoint_reached(bool value);
4857  public:
4858 
4859  // @@protoc_insertion_point(class_scope:jaiabot.protobuf.IvPBehaviorReport.TransitReport)
4860  private:
4861  class _Internal;
4862 
4863  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
4864  typedef void InternalArenaConstructable_;
4865  typedef void DestructorSkippable_;
4866  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
4867  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
4868  bool waypoint_reached_;
4869  friend struct ::TableStruct_jaiabot_2fmessages_2fmission_2eproto;
4870 };
4871 // -------------------------------------------------------------------
4872 
4873 class IvPBehaviorReport PROTOBUF_FINAL :
4874  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:jaiabot.protobuf.IvPBehaviorReport) */ {
4875  public:
4876  inline IvPBehaviorReport() : IvPBehaviorReport(nullptr) {};
4878 
4879  IvPBehaviorReport(const IvPBehaviorReport& from);
4880  IvPBehaviorReport(IvPBehaviorReport&& from) noexcept
4881  : IvPBehaviorReport() {
4882  *this = ::std::move(from);
4883  }
4884 
4885  inline IvPBehaviorReport& operator=(const IvPBehaviorReport& from) {
4886  CopyFrom(from);
4887  return *this;
4888  }
4889  inline IvPBehaviorReport& operator=(IvPBehaviorReport&& from) noexcept {
4890  if (GetArena() == from.GetArena()) {
4891  if (this != &from) InternalSwap(&from);
4892  } else {
4893  CopyFrom(from);
4894  }
4895  return *this;
4896  }
4897 
4898  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
4899  return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
4900  }
4901  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
4902  return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
4903  }
4904 
4905  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
4906  return GetDescriptor();
4907  }
4908  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
4909  return GetMetadataStatic().descriptor;
4910  }
4911  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
4912  return GetMetadataStatic().reflection;
4913  }
4914  static const IvPBehaviorReport& default_instance();
4915 
4917  kTransit = 1,
4918  BEHAVIOR_NOT_SET = 0,
4919  };
4920 
4921  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
4922  static inline const IvPBehaviorReport* internal_default_instance() {
4923  return reinterpret_cast<const IvPBehaviorReport*>(
4925  }
4926  static constexpr int kIndexInFileMessages =
4927  20;
4928 
4929  friend void swap(IvPBehaviorReport& a, IvPBehaviorReport& b) {
4930  a.Swap(&b);
4931  }
4932  inline void Swap(IvPBehaviorReport* other) {
4933  if (other == this) return;
4934  if (GetArena() == other->GetArena()) {
4935  InternalSwap(other);
4936  } else {
4937  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
4938  }
4939  }
4940  void UnsafeArenaSwap(IvPBehaviorReport* other) {
4941  if (other == this) return;
4942  GOOGLE_DCHECK(GetArena() == other->GetArena());
4943  InternalSwap(other);
4944  }
4945 
4946  // implements Message ----------------------------------------------
4947 
4948  inline IvPBehaviorReport* New() const final {
4949  return CreateMaybeMessage<IvPBehaviorReport>(nullptr);
4950  }
4951 
4952  IvPBehaviorReport* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
4953  return CreateMaybeMessage<IvPBehaviorReport>(arena);
4954  }
4955  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
4956  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
4957  void CopyFrom(const IvPBehaviorReport& from);
4958  void MergeFrom(const IvPBehaviorReport& from);
4959  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
4960  bool IsInitialized() const final;
4961 
4962  size_t ByteSizeLong() const final;
4963  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
4964  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
4965  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
4966  int GetCachedSize() const final { return _cached_size_.Get(); }
4967 
4968  private:
4969  inline void SharedCtor();
4970  inline void SharedDtor();
4971  void SetCachedSize(int size) const final;
4972  void InternalSwap(IvPBehaviorReport* other);
4973  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
4974  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
4975  return "jaiabot.protobuf.IvPBehaviorReport";
4976  }
4977  protected:
4978  explicit IvPBehaviorReport(::PROTOBUF_NAMESPACE_ID::Arena* arena);
4979  private:
4980  static void ArenaDtor(void* object);
4981  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
4982  public:
4983 
4984  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
4985  private:
4986  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
4987  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_jaiabot_2fmessages_2fmission_2eproto);
4988  return ::descriptor_table_jaiabot_2fmessages_2fmission_2eproto.file_level_metadata[kIndexInFileMessages];
4989  }
4990 
4991  public:
4992 
4993  // nested types ----------------------------------------------------
4994 
4995  typedef IvPBehaviorReport_TransitReport TransitReport;
4996 
4997  // accessors -------------------------------------------------------
4998 
4999  enum : int {
5000  kTransitFieldNumber = 1,
5001  };
5002  // .jaiabot.protobuf.IvPBehaviorReport.TransitReport transit = 1;
5003  bool has_transit() const;
5004  private:
5005  bool _internal_has_transit() const;
5006  public:
5008  const ::jaiabot::protobuf::IvPBehaviorReport_TransitReport& transit() const;
5009  ::jaiabot::protobuf::IvPBehaviorReport_TransitReport* release_transit();
5010  ::jaiabot::protobuf::IvPBehaviorReport_TransitReport* mutable_transit();
5011  void set_allocated_transit(::jaiabot::protobuf::IvPBehaviorReport_TransitReport* transit);
5012  private:
5013  const ::jaiabot::protobuf::IvPBehaviorReport_TransitReport& _internal_transit() const;
5014  ::jaiabot::protobuf::IvPBehaviorReport_TransitReport* _internal_mutable_transit();
5015  public:
5017  ::jaiabot::protobuf::IvPBehaviorReport_TransitReport* transit);
5018  ::jaiabot::protobuf::IvPBehaviorReport_TransitReport* unsafe_arena_release_transit();
5019 
5022  // @@protoc_insertion_point(class_scope:jaiabot.protobuf.IvPBehaviorReport)
5023  private:
5024  class _Internal;
5025  void set_has_transit();
5026 
5027  inline bool has_behavior() const;
5028  inline void clear_has_behavior();
5029 
5030  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
5031  typedef void InternalArenaConstructable_;
5032  typedef void DestructorSkippable_;
5033  union BehaviorUnion {
5034  BehaviorUnion() {}
5035  ::jaiabot::protobuf::IvPBehaviorReport_TransitReport* transit_;
5036  } behavior_;
5037  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
5038  ::PROTOBUF_NAMESPACE_ID::uint32 _oneof_case_[1];
5039 
5040  friend struct ::TableStruct_jaiabot_2fmessages_2fmission_2eproto;
5041 };
5042 // -------------------------------------------------------------------
5043 
5044 class MissionTpvMeetsGpsReq PROTOBUF_FINAL :
5045  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:jaiabot.protobuf.MissionTpvMeetsGpsReq) */ {
5046  public:
5047  inline MissionTpvMeetsGpsReq() : MissionTpvMeetsGpsReq(nullptr) {};
5049 
5050  MissionTpvMeetsGpsReq(const MissionTpvMeetsGpsReq& from);
5051  MissionTpvMeetsGpsReq(MissionTpvMeetsGpsReq&& from) noexcept
5052  : MissionTpvMeetsGpsReq() {
5053  *this = ::std::move(from);
5054  }
5055 
5056  inline MissionTpvMeetsGpsReq& operator=(const MissionTpvMeetsGpsReq& from) {
5057  CopyFrom(from);
5058  return *this;
5059  }
5060  inline MissionTpvMeetsGpsReq& operator=(MissionTpvMeetsGpsReq&& from) noexcept {
5061  if (GetArena() == from.GetArena()) {
5062  if (this != &from) InternalSwap(&from);
5063  } else {
5064  CopyFrom(from);
5065  }
5066  return *this;
5067  }
5068 
5069  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
5070  return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
5071  }
5072  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
5073  return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
5074  }
5075 
5076  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
5077  return GetDescriptor();
5078  }
5079  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
5080  return GetMetadataStatic().descriptor;
5081  }
5082  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
5083  return GetMetadataStatic().reflection;
5084  }
5085  static const MissionTpvMeetsGpsReq& default_instance();
5086 
5087  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
5088  static inline const MissionTpvMeetsGpsReq* internal_default_instance() {
5089  return reinterpret_cast<const MissionTpvMeetsGpsReq*>(
5091  }
5092  static constexpr int kIndexInFileMessages =
5093  21;
5094 
5095  friend void swap(MissionTpvMeetsGpsReq& a, MissionTpvMeetsGpsReq& b) {
5096  a.Swap(&b);
5097  }
5098  inline void Swap(MissionTpvMeetsGpsReq* other) {
5099  if (other == this) return;
5100  if (GetArena() == other->GetArena()) {
5101  InternalSwap(other);
5102  } else {
5103  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
5104  }
5105  }
5106  void UnsafeArenaSwap(MissionTpvMeetsGpsReq* other) {
5107  if (other == this) return;
5108  GOOGLE_DCHECK(GetArena() == other->GetArena());
5109  InternalSwap(other);
5110  }
5111 
5112  // implements Message ----------------------------------------------
5113 
5114  inline MissionTpvMeetsGpsReq* New() const final {
5115  return CreateMaybeMessage<MissionTpvMeetsGpsReq>(nullptr);
5116  }
5117 
5118  MissionTpvMeetsGpsReq* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
5119  return CreateMaybeMessage<MissionTpvMeetsGpsReq>(arena);
5120  }
5121  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
5122  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
5123  void CopyFrom(const MissionTpvMeetsGpsReq& from);
5124  void MergeFrom(const MissionTpvMeetsGpsReq& from);
5125  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
5126  bool IsInitialized() const final;
5127 
5128  size_t ByteSizeLong() const final;
5129  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
5130  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
5131  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
5132  int GetCachedSize() const final { return _cached_size_.Get(); }
5133 
5134  private:
5135  inline void SharedCtor();
5136  inline void SharedDtor();
5137  void SetCachedSize(int size) const final;
5138  void InternalSwap(MissionTpvMeetsGpsReq* other);
5139  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
5140  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
5141  return "jaiabot.protobuf.MissionTpvMeetsGpsReq";
5142  }
5143  protected:
5144  explicit MissionTpvMeetsGpsReq(::PROTOBUF_NAMESPACE_ID::Arena* arena);
5145  private:
5146  static void ArenaDtor(void* object);
5147  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
5148  public:
5149 
5150  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
5151  private:
5152  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
5153  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_jaiabot_2fmessages_2fmission_2eproto);
5154  return ::descriptor_table_jaiabot_2fmessages_2fmission_2eproto.file_level_metadata[kIndexInFileMessages];
5155  }
5156 
5157  public:
5158 
5159  // nested types ----------------------------------------------------
5160 
5161  // accessors -------------------------------------------------------
5162 
5163  enum : int {
5164  kTpvFieldNumber = 1,
5165  };
5166  // optional .goby.middleware.protobuf.gpsd.TimePositionVelocity tpv = 1;
5167  bool has_tpv() const;
5168  private:
5169  bool _internal_has_tpv() const;
5170  public:
5171  void clear_tpv();
5172  const ::goby::middleware::protobuf::gpsd::TimePositionVelocity& tpv() const;
5173  ::goby::middleware::protobuf::gpsd::TimePositionVelocity* release_tpv();
5174  ::goby::middleware::protobuf::gpsd::TimePositionVelocity* mutable_tpv();
5175  void set_allocated_tpv(::goby::middleware::protobuf::gpsd::TimePositionVelocity* tpv);
5176  private:
5177  const ::goby::middleware::protobuf::gpsd::TimePositionVelocity& _internal_tpv() const;
5178  ::goby::middleware::protobuf::gpsd::TimePositionVelocity* _internal_mutable_tpv();
5179  public:
5181  ::goby::middleware::protobuf::gpsd::TimePositionVelocity* tpv);
5182  ::goby::middleware::protobuf::gpsd::TimePositionVelocity* unsafe_arena_release_tpv();
5183 
5184  // @@protoc_insertion_point(class_scope:jaiabot.protobuf.MissionTpvMeetsGpsReq)
5185  private:
5186  class _Internal;
5187 
5188  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
5189  typedef void InternalArenaConstructable_;
5190  typedef void DestructorSkippable_;
5191  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
5192  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
5193  ::goby::middleware::protobuf::gpsd::TimePositionVelocity* tpv_;
5194  friend struct ::TableStruct_jaiabot_2fmessages_2fmission_2eproto;
5195 };
5196 // ===================================================================
5197 
5198 
5199 // ===================================================================
5200 
5201 #ifdef __GNUC__
5202  #pragma GCC diagnostic push
5203  #pragma GCC diagnostic ignored "-Wstrict-aliasing"
5204 #endif // __GNUC__
5205 // Speeds
5206 
5207 // optional double transit = 1 [default = 2, (.dccl.field) = {
5208 inline bool Speeds::_internal_has_transit() const {
5209  bool value = (_has_bits_[0] & 0x00000001u) != 0;
5210  return value;
5211 }
5212 inline bool Speeds::has_transit() const {
5213  return _internal_has_transit();
5214 }
5215 inline void Speeds::clear_transit() {
5216  transit_ = 2;
5217  _has_bits_[0] &= ~0x00000001u;
5218 }
5219 inline double Speeds::_internal_transit() const {
5220  return transit_;
5221 }
5222 inline double Speeds::transit() const {
5223  // @@protoc_insertion_point(field_get:jaiabot.protobuf.Speeds.transit)
5224  return _internal_transit();
5225 }
5226 inline void Speeds::_internal_set_transit(double value) {
5227  _has_bits_[0] |= 0x00000001u;
5228  transit_ = value;
5229 }
5230 inline void Speeds::set_transit(double value) {
5231  _internal_set_transit(value);
5232  // @@protoc_insertion_point(field_set:jaiabot.protobuf.Speeds.transit)
5233 }
5234 
5235 // optional double stationkeep_outer = 2 [default = 0.5, (.dccl.field) = {
5236 inline bool Speeds::_internal_has_stationkeep_outer() const {
5237  bool value = (_has_bits_[0] & 0x00000002u) != 0;
5238  return value;
5239 }
5240 inline bool Speeds::has_stationkeep_outer() const {
5241  return _internal_has_stationkeep_outer();
5242 }
5243 inline void Speeds::clear_stationkeep_outer() {
5244  stationkeep_outer_ = 0.5;
5245  _has_bits_[0] &= ~0x00000002u;
5246 }
5247 inline double Speeds::_internal_stationkeep_outer() const {
5248  return stationkeep_outer_;
5249 }
5250 inline double Speeds::stationkeep_outer() const {
5251  // @@protoc_insertion_point(field_get:jaiabot.protobuf.Speeds.stationkeep_outer)
5252  return _internal_stationkeep_outer();
5253 }
5254 inline void Speeds::_internal_set_stationkeep_outer(double value) {
5255  _has_bits_[0] |= 0x00000002u;
5256  stationkeep_outer_ = value;
5257 }
5258 inline void Speeds::set_stationkeep_outer(double value) {
5259  _internal_set_stationkeep_outer(value);
5260  // @@protoc_insertion_point(field_set:jaiabot.protobuf.Speeds.stationkeep_outer)
5261 }
5262 
5263 // -------------------------------------------------------------------
5264 
5265 // BottomDepthSafetyParams
5266 
5267 // required double constant_heading = 1 [default = 0, (.dccl.field) = {
5268 inline bool BottomDepthSafetyParams::_internal_has_constant_heading() const {
5269  bool value = (_has_bits_[0] & 0x00000001u) != 0;
5270  return value;
5271 }
5272 inline bool BottomDepthSafetyParams::has_constant_heading() const {
5273  return _internal_has_constant_heading();
5274 }
5275 inline void BottomDepthSafetyParams::clear_constant_heading() {
5276  constant_heading_ = 0;
5277  _has_bits_[0] &= ~0x00000001u;
5278 }
5279 inline double BottomDepthSafetyParams::_internal_constant_heading() const {
5280  return constant_heading_;
5281 }
5282 inline double BottomDepthSafetyParams::constant_heading() const {
5283  // @@protoc_insertion_point(field_get:jaiabot.protobuf.BottomDepthSafetyParams.constant_heading)
5284  return _internal_constant_heading();
5285 }
5286 inline void BottomDepthSafetyParams::_internal_set_constant_heading(double value) {
5287  _has_bits_[0] |= 0x00000001u;
5288  constant_heading_ = value;
5289 }
5290 inline void BottomDepthSafetyParams::set_constant_heading(double value) {
5291  _internal_set_constant_heading(value);
5292  // @@protoc_insertion_point(field_set:jaiabot.protobuf.BottomDepthSafetyParams.constant_heading)
5293 }
5294 
5295 // required int32 constant_heading_time = 2 [default = 0, (.dccl.field) = {
5296 inline bool BottomDepthSafetyParams::_internal_has_constant_heading_time() const {
5297  bool value = (_has_bits_[0] & 0x00000002u) != 0;
5298  return value;
5299 }
5300 inline bool BottomDepthSafetyParams::has_constant_heading_time() const {
5301  return _internal_has_constant_heading_time();
5302 }
5303 inline void BottomDepthSafetyParams::clear_constant_heading_time() {
5304  constant_heading_time_ = 0;
5305  _has_bits_[0] &= ~0x00000002u;
5306 }
5307 inline ::PROTOBUF_NAMESPACE_ID::int32 BottomDepthSafetyParams::_internal_constant_heading_time() const {
5308  return constant_heading_time_;
5309 }
5310 inline ::PROTOBUF_NAMESPACE_ID::int32 BottomDepthSafetyParams::constant_heading_time() const {
5311  // @@protoc_insertion_point(field_get:jaiabot.protobuf.BottomDepthSafetyParams.constant_heading_time)
5312  return _internal_constant_heading_time();
5313 }
5314 inline void BottomDepthSafetyParams::_internal_set_constant_heading_time(::PROTOBUF_NAMESPACE_ID::int32 value) {
5315  _has_bits_[0] |= 0x00000002u;
5316  constant_heading_time_ = value;
5317 }
5318 inline void BottomDepthSafetyParams::set_constant_heading_time(::PROTOBUF_NAMESPACE_ID::int32 value) {
5319  _internal_set_constant_heading_time(value);
5320  // @@protoc_insertion_point(field_set:jaiabot.protobuf.BottomDepthSafetyParams.constant_heading_time)
5321 }
5322 
5323 // required double constant_heading_speed = 3 [default = 2, (.dccl.field) = {
5324 inline bool BottomDepthSafetyParams::_internal_has_constant_heading_speed() const {
5325  bool value = (_has_bits_[0] & 0x00000004u) != 0;
5326  return value;
5327 }
5328 inline bool BottomDepthSafetyParams::has_constant_heading_speed() const {
5329  return _internal_has_constant_heading_speed();
5330 }
5331 inline void BottomDepthSafetyParams::clear_constant_heading_speed() {
5332  constant_heading_speed_ = 2;
5333  _has_bits_[0] &= ~0x00000004u;
5334 }
5335 inline double BottomDepthSafetyParams::_internal_constant_heading_speed() const {
5336  return constant_heading_speed_;
5337 }
5338 inline double BottomDepthSafetyParams::constant_heading_speed() const {
5339  // @@protoc_insertion_point(field_get:jaiabot.protobuf.BottomDepthSafetyParams.constant_heading_speed)
5340  return _internal_constant_heading_speed();
5341 }
5342 inline void BottomDepthSafetyParams::_internal_set_constant_heading_speed(double value) {
5343  _has_bits_[0] |= 0x00000004u;
5344  constant_heading_speed_ = value;
5345 }
5346 inline void BottomDepthSafetyParams::set_constant_heading_speed(double value) {
5347  _internal_set_constant_heading_speed(value);
5348  // @@protoc_insertion_point(field_set:jaiabot.protobuf.BottomDepthSafetyParams.constant_heading_speed)
5349 }
5350 
5351 // required double safety_depth = 4 [default = -1, (.dccl.field) = {
5352 inline bool BottomDepthSafetyParams::_internal_has_safety_depth() const {
5353  bool value = (_has_bits_[0] & 0x00000008u) != 0;
5354  return value;
5355 }
5356 inline bool BottomDepthSafetyParams::has_safety_depth() const {
5357  return _internal_has_safety_depth();
5358 }
5359 inline void BottomDepthSafetyParams::clear_safety_depth() {
5360  safety_depth_ = -1;
5361  _has_bits_[0] &= ~0x00000008u;
5362 }
5363 inline double BottomDepthSafetyParams::_internal_safety_depth() const {
5364  return safety_depth_;
5365 }
5366 inline double BottomDepthSafetyParams::safety_depth() const {
5367  // @@protoc_insertion_point(field_get:jaiabot.protobuf.BottomDepthSafetyParams.safety_depth)
5368  return _internal_safety_depth();
5369 }
5370 inline void BottomDepthSafetyParams::_internal_set_safety_depth(double value) {
5371  _has_bits_[0] |= 0x00000008u;
5372  safety_depth_ = value;
5373 }
5374 inline void BottomDepthSafetyParams::set_safety_depth(double value) {
5375  _internal_set_safety_depth(value);
5376  // @@protoc_insertion_point(field_set:jaiabot.protobuf.BottomDepthSafetyParams.safety_depth)
5377 }
5378 
5379 // -------------------------------------------------------------------
5380 
5381 // MissionReport
5382 
5383 // required .jaiabot.protobuf.MissionState state = 10;
5384 inline bool MissionReport::_internal_has_state() const {
5385  bool value = (_has_bits_[0] & 0x00000004u) != 0;
5386  return value;
5387 }
5388 inline bool MissionReport::has_state() const {
5389  return _internal_has_state();
5390 }
5391 inline void MissionReport::clear_state() {
5392  state_ = 0;
5393  _has_bits_[0] &= ~0x00000004u;
5394 }
5395 inline ::jaiabot::protobuf::MissionState MissionReport::_internal_state() const {
5396  return static_cast< ::jaiabot::protobuf::MissionState >(state_);
5397 }
5398 inline ::jaiabot::protobuf::MissionState MissionReport::state() const {
5399  // @@protoc_insertion_point(field_get:jaiabot.protobuf.MissionReport.state)
5400  return _internal_state();
5401 }
5402 inline void MissionReport::_internal_set_state(::jaiabot::protobuf::MissionState value) {
5403  assert(::jaiabot::protobuf::MissionState_IsValid(value));
5404  _has_bits_[0] |= 0x00000004u;
5405  state_ = value;
5406 }
5407 inline void MissionReport::set_state(::jaiabot::protobuf::MissionState value) {
5408  _internal_set_state(value);
5409  // @@protoc_insertion_point(field_set:jaiabot.protobuf.MissionReport.state)
5410 }
5411 
5412 // optional int32 active_goal = 11;
5413 inline bool MissionReport::_internal_has_active_goal() const {
5414  bool value = (_has_bits_[0] & 0x00000008u) != 0;
5415  return value;
5416 }
5417 inline bool MissionReport::has_active_goal() const {
5418  return _internal_has_active_goal();
5419 }
5420 inline void MissionReport::clear_active_goal() {
5421  active_goal_ = 0;
5422  _has_bits_[0] &= ~0x00000008u;
5423 }
5424 inline ::PROTOBUF_NAMESPACE_ID::int32 MissionReport::_internal_active_goal() const {
5425  return active_goal_;
5426 }
5427 inline ::PROTOBUF_NAMESPACE_ID::int32 MissionReport::active_goal() const {
5428  // @@protoc_insertion_point(field_get:jaiabot.protobuf.MissionReport.active_goal)
5429  return _internal_active_goal();
5430 }
5431 inline void MissionReport::_internal_set_active_goal(::PROTOBUF_NAMESPACE_ID::int32 value) {
5432  _has_bits_[0] |= 0x00000008u;
5433  active_goal_ = value;
5434 }
5435 inline void MissionReport::set_active_goal(::PROTOBUF_NAMESPACE_ID::int32 value) {
5436  _internal_set_active_goal(value);
5437  // @@protoc_insertion_point(field_set:jaiabot.protobuf.MissionReport.active_goal)
5438 }
5439 
5440 // optional .jaiabot.protobuf.GeographicCoordinate active_goal_location = 12;
5441 inline bool MissionReport::_internal_has_active_goal_location() const {
5442  bool value = (_has_bits_[0] & 0x00000001u) != 0;
5443  PROTOBUF_ASSUME(!value || active_goal_location_ != nullptr);
5444  return value;
5445 }
5446 inline bool MissionReport::has_active_goal_location() const {
5447  return _internal_has_active_goal_location();
5448 }
5449 inline const ::jaiabot::protobuf::GeographicCoordinate& MissionReport::_internal_active_goal_location() const {
5450  const ::jaiabot::protobuf::GeographicCoordinate* p = active_goal_location_;
5451  return p != nullptr ? *p : *reinterpret_cast<const ::jaiabot::protobuf::GeographicCoordinate*>(
5453 }
5454 inline const ::jaiabot::protobuf::GeographicCoordinate& MissionReport::active_goal_location() const {
5455  // @@protoc_insertion_point(field_get:jaiabot.protobuf.MissionReport.active_goal_location)
5456  return _internal_active_goal_location();
5457 }
5458 inline void MissionReport::unsafe_arena_set_allocated_active_goal_location(
5459  ::jaiabot::protobuf::GeographicCoordinate* active_goal_location) {
5460  if (GetArena() == nullptr) {
5461  delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(active_goal_location_);
5462  }
5463  active_goal_location_ = active_goal_location;
5464  if (active_goal_location) {
5465  _has_bits_[0] |= 0x00000001u;
5466  } else {
5467  _has_bits_[0] &= ~0x00000001u;
5468  }
5469  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:jaiabot.protobuf.MissionReport.active_goal_location)
5470 }
5471 inline ::jaiabot::protobuf::GeographicCoordinate* MissionReport::release_active_goal_location() {
5472  auto temp = unsafe_arena_release_active_goal_location();
5473  if (GetArena() != nullptr) {
5474  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
5475  }
5476  return temp;
5477 }
5478 inline ::jaiabot::protobuf::GeographicCoordinate* MissionReport::unsafe_arena_release_active_goal_location() {
5479  // @@protoc_insertion_point(field_release:jaiabot.protobuf.MissionReport.active_goal_location)
5480  _has_bits_[0] &= ~0x00000001u;
5481  ::jaiabot::protobuf::GeographicCoordinate* temp = active_goal_location_;
5482  active_goal_location_ = nullptr;
5483  return temp;
5484 }
5485 inline ::jaiabot::protobuf::GeographicCoordinate* MissionReport::_internal_mutable_active_goal_location() {
5486  _has_bits_[0] |= 0x00000001u;
5487  if (active_goal_location_ == nullptr) {
5488  auto* p = CreateMaybeMessage<::jaiabot::protobuf::GeographicCoordinate>(GetArena());
5489  active_goal_location_ = p;
5490  }
5491  return active_goal_location_;
5492 }
5493 inline ::jaiabot::protobuf::GeographicCoordinate* MissionReport::mutable_active_goal_location() {
5494  // @@protoc_insertion_point(field_mutable:jaiabot.protobuf.MissionReport.active_goal_location)
5495  return _internal_mutable_active_goal_location();
5496 }
5497 inline void MissionReport::set_allocated_active_goal_location(::jaiabot::protobuf::GeographicCoordinate* active_goal_location) {
5498  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
5499  if (message_arena == nullptr) {
5500  delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(active_goal_location_);
5501  }
5502  if (active_goal_location) {
5503  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
5504  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(active_goal_location)->GetArena();
5505  if (message_arena != submessage_arena) {
5506  active_goal_location = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
5507  message_arena, active_goal_location, submessage_arena);
5508  }
5509  _has_bits_[0] |= 0x00000001u;
5510  } else {
5511  _has_bits_[0] &= ~0x00000001u;
5512  }
5513  active_goal_location_ = active_goal_location;
5514  // @@protoc_insertion_point(field_set_allocated:jaiabot.protobuf.MissionReport.active_goal_location)
5515 }
5516 
5517 // optional double distance_to_active_goal = 13 [(.dccl.field) = {
5518 inline bool MissionReport::_internal_has_distance_to_active_goal() const {
5519  bool value = (_has_bits_[0] & 0x00000010u) != 0;
5520  return value;
5521 }
5522 inline bool MissionReport::has_distance_to_active_goal() const {
5523  return _internal_has_distance_to_active_goal();
5524 }
5525 inline void MissionReport::clear_distance_to_active_goal() {
5526  distance_to_active_goal_ = 0;
5527  _has_bits_[0] &= ~0x00000010u;
5528 }
5529 inline double MissionReport::_internal_distance_to_active_goal() const {
5530  return distance_to_active_goal_;
5531 }
5532 inline double MissionReport::distance_to_active_goal() const {
5533  // @@protoc_insertion_point(field_get:jaiabot.protobuf.MissionReport.distance_to_active_goal)
5534  return _internal_distance_to_active_goal();
5535 }
5536 inline void MissionReport::_internal_set_distance_to_active_goal(double value) {
5537  _has_bits_[0] |= 0x00000010u;
5538  distance_to_active_goal_ = value;
5539 }
5540 inline void MissionReport::set_distance_to_active_goal(double value) {
5541  _internal_set_distance_to_active_goal(value);
5542  // @@protoc_insertion_point(field_set:jaiabot.protobuf.MissionReport.distance_to_active_goal)
5543 }
5544 
5545 // optional uint32 active_goal_timeout = 14 [(.dccl.field) = {
5546 inline bool MissionReport::_internal_has_active_goal_timeout() const {
5547  bool value = (_has_bits_[0] & 0x00000020u) != 0;
5548  return value;
5549 }
5550 inline bool MissionReport::has_active_goal_timeout() const {
5551  return _internal_has_active_goal_timeout();
5552 }
5553 inline void MissionReport::clear_active_goal_timeout() {
5554  active_goal_timeout_ = 0u;
5555  _has_bits_[0] &= ~0x00000020u;
5556 }
5557 inline ::PROTOBUF_NAMESPACE_ID::uint32 MissionReport::_internal_active_goal_timeout() const {
5558  return active_goal_timeout_;
5559 }
5560 inline ::PROTOBUF_NAMESPACE_ID::uint32 MissionReport::active_goal_timeout() const {
5561  // @@protoc_insertion_point(field_get:jaiabot.protobuf.MissionReport.active_goal_timeout)
5562  return _internal_active_goal_timeout();
5563 }
5564 inline void MissionReport::_internal_set_active_goal_timeout(::PROTOBUF_NAMESPACE_ID::uint32 value) {
5565  _has_bits_[0] |= 0x00000020u;
5566  active_goal_timeout_ = value;
5567 }
5568 inline void MissionReport::set_active_goal_timeout(::PROTOBUF_NAMESPACE_ID::uint32 value) {
5569  _internal_set_active_goal_timeout(value);
5570  // @@protoc_insertion_point(field_set:jaiabot.protobuf.MissionReport.active_goal_timeout)
5571 }
5572 
5573 // optional int32 data_offload_percentage = 15 [(.dccl.field) = {
5574 inline bool MissionReport::_internal_has_data_offload_percentage() const {
5575  bool value = (_has_bits_[0] & 0x00000040u) != 0;
5576  return value;
5577 }
5578 inline bool MissionReport::has_data_offload_percentage() const {
5579  return _internal_has_data_offload_percentage();
5580 }
5581 inline void MissionReport::clear_data_offload_percentage() {
5582  data_offload_percentage_ = 0;
5583  _has_bits_[0] &= ~0x00000040u;
5584 }
5585 inline ::PROTOBUF_NAMESPACE_ID::int32 MissionReport::_internal_data_offload_percentage() const {
5586  return data_offload_percentage_;
5587 }
5588 inline ::PROTOBUF_NAMESPACE_ID::int32 MissionReport::data_offload_percentage() const {
5589  // @@protoc_insertion_point(field_get:jaiabot.protobuf.MissionReport.data_offload_percentage)
5590  return _internal_data_offload_percentage();
5591 }
5592 inline void MissionReport::_internal_set_data_offload_percentage(::PROTOBUF_NAMESPACE_ID::int32 value) {
5593  _has_bits_[0] |= 0x00000040u;
5594  data_offload_percentage_ = value;
5595 }
5596 inline void MissionReport::set_data_offload_percentage(::PROTOBUF_NAMESPACE_ID::int32 value) {
5597  _internal_set_data_offload_percentage(value);
5598  // @@protoc_insertion_point(field_set:jaiabot.protobuf.MissionReport.data_offload_percentage)
5599 }
5600 
5601 // optional int32 repeat_index = 16 [(.dccl.field) = {
5602 inline bool MissionReport::_internal_has_repeat_index() const {
5603  bool value = (_has_bits_[0] & 0x00000002u) != 0;
5604  return value;
5605 }
5606 inline bool MissionReport::has_repeat_index() const {
5607  return _internal_has_repeat_index();
5608 }
5609 inline void MissionReport::clear_repeat_index() {
5610  repeat_index_ = 0;
5611  _has_bits_[0] &= ~0x00000002u;
5612 }
5613 inline ::PROTOBUF_NAMESPACE_ID::int32 MissionReport::_internal_repeat_index() const {
5614  return repeat_index_;
5615 }
5616 inline ::PROTOBUF_NAMESPACE_ID::int32 MissionReport::repeat_index() const {
5617  // @@protoc_insertion_point(field_get:jaiabot.protobuf.MissionReport.repeat_index)
5618  return _internal_repeat_index();
5619 }
5620 inline void MissionReport::_internal_set_repeat_index(::PROTOBUF_NAMESPACE_ID::int32 value) {
5621  _has_bits_[0] |= 0x00000002u;
5622  repeat_index_ = value;
5623 }
5624 inline void MissionReport::set_repeat_index(::PROTOBUF_NAMESPACE_ID::int32 value) {
5625  _internal_set_repeat_index(value);
5626  // @@protoc_insertion_point(field_set:jaiabot.protobuf.MissionReport.repeat_index)
5627 }
5628 
5629 // -------------------------------------------------------------------
5630 
5631 // MissionTask_DiveParameters
5632 
5633 // optional double max_depth = 1 [default = 50, (.dccl.field) = {
5634 inline bool MissionTask_DiveParameters::_internal_has_max_depth() const {
5635  bool value = (_has_bits_[0] & 0x00000004u) != 0;
5636  return value;
5637 }
5638 inline bool MissionTask_DiveParameters::has_max_depth() const {
5639  return _internal_has_max_depth();
5640 }
5641 inline void MissionTask_DiveParameters::clear_max_depth() {
5642  max_depth_ = 50;
5643  _has_bits_[0] &= ~0x00000004u;
5644 }
5645 inline double MissionTask_DiveParameters::_internal_max_depth() const {
5646  return max_depth_;
5647 }
5648 inline double MissionTask_DiveParameters::max_depth() const {
5649  // @@protoc_insertion_point(field_get:jaiabot.protobuf.MissionTask.DiveParameters.max_depth)
5650  return _internal_max_depth();
5651 }
5652 inline void MissionTask_DiveParameters::_internal_set_max_depth(double value) {
5653  _has_bits_[0] |= 0x00000004u;
5654  max_depth_ = value;
5655 }
5656 inline void MissionTask_DiveParameters::set_max_depth(double value) {
5657  _internal_set_max_depth(value);
5658  // @@protoc_insertion_point(field_set:jaiabot.protobuf.MissionTask.DiveParameters.max_depth)
5659 }
5660 
5661 // optional double depth_interval = 2 [default = inf, (.dccl.field) = {
5662 inline bool MissionTask_DiveParameters::_internal_has_depth_interval() const {
5663  bool value = (_has_bits_[0] & 0x00000008u) != 0;
5664  return value;
5665 }
5666 inline bool MissionTask_DiveParameters::has_depth_interval() const {
5667  return _internal_has_depth_interval();
5668 }
5669 inline void MissionTask_DiveParameters::clear_depth_interval() {
5670  depth_interval_ = std::numeric_limits<double>::infinity();
5671  _has_bits_[0] &= ~0x00000008u;
5672 }
5673 inline double MissionTask_DiveParameters::_internal_depth_interval() const {
5674  return depth_interval_;
5675 }
5676 inline double MissionTask_DiveParameters::depth_interval() const {
5677  // @@protoc_insertion_point(field_get:jaiabot.protobuf.MissionTask.DiveParameters.depth_interval)
5678  return _internal_depth_interval();
5679 }
5680 inline void MissionTask_DiveParameters::_internal_set_depth_interval(double value) {
5681  _has_bits_[0] |= 0x00000008u;
5682  depth_interval_ = value;
5683 }
5684 inline void MissionTask_DiveParameters::set_depth_interval(double value) {
5685  _internal_set_depth_interval(value);
5686  // @@protoc_insertion_point(field_set:jaiabot.protobuf.MissionTask.DiveParameters.depth_interval)
5687 }
5688 
5689 // optional double hold_time = 3 [default = 0, (.dccl.field) = {
5690 inline bool MissionTask_DiveParameters::_internal_has_hold_time() const {
5691  bool value = (_has_bits_[0] & 0x00000001u) != 0;
5692  return value;
5693 }
5694 inline bool MissionTask_DiveParameters::has_hold_time() const {
5695  return _internal_has_hold_time();
5696 }
5697 inline void MissionTask_DiveParameters::clear_hold_time() {
5698  hold_time_ = 0;
5699  _has_bits_[0] &= ~0x00000001u;
5700 }
5701 inline double MissionTask_DiveParameters::_internal_hold_time() const {
5702  return hold_time_;
5703 }
5704 inline double MissionTask_DiveParameters::hold_time() const {
5705  // @@protoc_insertion_point(field_get:jaiabot.protobuf.MissionTask.DiveParameters.hold_time)
5706  return _internal_hold_time();
5707 }
5708 inline void MissionTask_DiveParameters::_internal_set_hold_time(double value) {
5709  _has_bits_[0] |= 0x00000001u;
5710  hold_time_ = value;
5711 }
5712 inline void MissionTask_DiveParameters::set_hold_time(double value) {
5713  _internal_set_hold_time(value);
5714  // @@protoc_insertion_point(field_set:jaiabot.protobuf.MissionTask.DiveParameters.hold_time)
5715 }
5716 
5717 // optional bool bottom_dive = 4 [default = false, (.jaia.field) = {
5718 inline bool MissionTask_DiveParameters::_internal_has_bottom_dive() const {
5719  bool value = (_has_bits_[0] & 0x00000002u) != 0;
5720  return value;
5721 }
5722 inline bool MissionTask_DiveParameters::has_bottom_dive() const {
5723  return _internal_has_bottom_dive();
5724 }
5725 inline void MissionTask_DiveParameters::clear_bottom_dive() {
5726  bottom_dive_ = false;
5727  _has_bits_[0] &= ~0x00000002u;
5728 }
5729 inline bool MissionTask_DiveParameters::_internal_bottom_dive() const {
5730  return bottom_dive_;
5731 }
5732 inline bool MissionTask_DiveParameters::bottom_dive() const {
5733  // @@protoc_insertion_point(field_get:jaiabot.protobuf.MissionTask.DiveParameters.bottom_dive)
5734  return _internal_bottom_dive();
5735 }
5736 inline void MissionTask_DiveParameters::_internal_set_bottom_dive(bool value) {
5737  _has_bits_[0] |= 0x00000002u;
5738  bottom_dive_ = value;
5739 }
5740 inline void MissionTask_DiveParameters::set_bottom_dive(bool value) {
5741  _internal_set_bottom_dive(value);
5742  // @@protoc_insertion_point(field_set:jaiabot.protobuf.MissionTask.DiveParameters.bottom_dive)
5743 }
5744 
5745 // -------------------------------------------------------------------
5746 
5747 // MissionTask_DriftParameters
5748 
5749 // optional int32 drift_time = 3 [default = 0, (.dccl.field) = {
5750 inline bool MissionTask_DriftParameters::_internal_has_drift_time() const {
5751  bool value = (_has_bits_[0] & 0x00000001u) != 0;
5752  return value;
5753 }
5754 inline bool MissionTask_DriftParameters::has_drift_time() const {
5755  return _internal_has_drift_time();
5756 }
5757 inline void MissionTask_DriftParameters::clear_drift_time() {
5758  drift_time_ = 0;
5759  _has_bits_[0] &= ~0x00000001u;
5760 }
5761 inline ::PROTOBUF_NAMESPACE_ID::int32 MissionTask_DriftParameters::_internal_drift_time() const {
5762  return drift_time_;
5763 }
5764 inline ::PROTOBUF_NAMESPACE_ID::int32 MissionTask_DriftParameters::drift_time() const {
5765  // @@protoc_insertion_point(field_get:jaiabot.protobuf.MissionTask.DriftParameters.drift_time)
5766  return _internal_drift_time();
5767 }
5768 inline void MissionTask_DriftParameters::_internal_set_drift_time(::PROTOBUF_NAMESPACE_ID::int32 value) {
5769  _has_bits_[0] |= 0x00000001u;
5770  drift_time_ = value;
5771 }
5772 inline void MissionTask_DriftParameters::set_drift_time(::PROTOBUF_NAMESPACE_ID::int32 value) {
5773  _internal_set_drift_time(value);
5774  // @@protoc_insertion_point(field_set:jaiabot.protobuf.MissionTask.DriftParameters.drift_time)
5775 }
5776 
5777 // -------------------------------------------------------------------
5778 
5779 // MissionTask_ConstantHeadingParameters
5780 
5781 // optional double constant_heading = 1 [(.dccl.field) = {
5782 inline bool MissionTask_ConstantHeadingParameters::_internal_has_constant_heading() const {
5783  bool value = (_has_bits_[0] & 0x00000001u) != 0;
5784  return value;
5785 }
5786 inline bool MissionTask_ConstantHeadingParameters::has_constant_heading() const {
5787  return _internal_has_constant_heading();
5788 }
5789 inline void MissionTask_ConstantHeadingParameters::clear_constant_heading() {
5790  constant_heading_ = 0;
5791  _has_bits_[0] &= ~0x00000001u;
5792 }
5793 inline double MissionTask_ConstantHeadingParameters::_internal_constant_heading() const {
5794  return constant_heading_;
5795 }
5796 inline double MissionTask_ConstantHeadingParameters::constant_heading() const {
5797  // @@protoc_insertion_point(field_get:jaiabot.protobuf.MissionTask.ConstantHeadingParameters.constant_heading)
5798  return _internal_constant_heading();
5799 }
5800 inline void MissionTask_ConstantHeadingParameters::_internal_set_constant_heading(double value) {
5801  _has_bits_[0] |= 0x00000001u;
5802  constant_heading_ = value;
5803 }
5804 inline void MissionTask_ConstantHeadingParameters::set_constant_heading(double value) {
5805  _internal_set_constant_heading(value);
5806  // @@protoc_insertion_point(field_set:jaiabot.protobuf.MissionTask.ConstantHeadingParameters.constant_heading)
5807 }
5808 
5809 // optional int32 constant_heading_time = 2 [default = 0, (.dccl.field) = {
5810 inline bool MissionTask_ConstantHeadingParameters::_internal_has_constant_heading_time() const {
5811  bool value = (_has_bits_[0] & 0x00000002u) != 0;
5812  return value;
5813 }
5814 inline bool MissionTask_ConstantHeadingParameters::has_constant_heading_time() const {
5815  return _internal_has_constant_heading_time();
5816 }
5817 inline void MissionTask_ConstantHeadingParameters::clear_constant_heading_time() {
5818  constant_heading_time_ = 0;
5819  _has_bits_[0] &= ~0x00000002u;
5820 }
5821 inline ::PROTOBUF_NAMESPACE_ID::int32 MissionTask_ConstantHeadingParameters::_internal_constant_heading_time() const {
5822  return constant_heading_time_;
5823 }
5824 inline ::PROTOBUF_NAMESPACE_ID::int32 MissionTask_ConstantHeadingParameters::constant_heading_time() const {
5825  // @@protoc_insertion_point(field_get:jaiabot.protobuf.MissionTask.ConstantHeadingParameters.constant_heading_time)
5826  return _internal_constant_heading_time();
5827 }
5828 inline void MissionTask_ConstantHeadingParameters::_internal_set_constant_heading_time(::PROTOBUF_NAMESPACE_ID::int32 value) {
5829  _has_bits_[0] |= 0x00000002u;
5830  constant_heading_time_ = value;
5831 }
5832 inline void MissionTask_ConstantHeadingParameters::set_constant_heading_time(::PROTOBUF_NAMESPACE_ID::int32 value) {
5833  _internal_set_constant_heading_time(value);
5834  // @@protoc_insertion_point(field_set:jaiabot.protobuf.MissionTask.ConstantHeadingParameters.constant_heading_time)
5835 }
5836 
5837 // optional double constant_heading_speed = 3 [default = 2, (.dccl.field) = {
5838 inline bool MissionTask_ConstantHeadingParameters::_internal_has_constant_heading_speed() const {
5839  bool value = (_has_bits_[0] & 0x00000004u) != 0;
5840  return value;
5841 }
5842 inline bool MissionTask_ConstantHeadingParameters::has_constant_heading_speed() const {
5843  return _internal_has_constant_heading_speed();
5844 }
5845 inline void MissionTask_ConstantHeadingParameters::clear_constant_heading_speed() {
5846  constant_heading_speed_ = 2;
5847  _has_bits_[0] &= ~0x00000004u;
5848 }
5849 inline double MissionTask_ConstantHeadingParameters::_internal_constant_heading_speed() const {
5850  return constant_heading_speed_;
5851 }
5852 inline double MissionTask_ConstantHeadingParameters::constant_heading_speed() const {
5853  // @@protoc_insertion_point(field_get:jaiabot.protobuf.MissionTask.ConstantHeadingParameters.constant_heading_speed)
5854  return _internal_constant_heading_speed();
5855 }
5856 inline void MissionTask_ConstantHeadingParameters::_internal_set_constant_heading_speed(double value) {
5857  _has_bits_[0] |= 0x00000004u;
5858  constant_heading_speed_ = value;
5859 }
5860 inline void MissionTask_ConstantHeadingParameters::set_constant_heading_speed(double value) {
5861  _internal_set_constant_heading_speed(value);
5862  // @@protoc_insertion_point(field_set:jaiabot.protobuf.MissionTask.ConstantHeadingParameters.constant_heading_speed)
5863 }
5864 
5865 // -------------------------------------------------------------------
5866 
5867 // MissionTask_StationKeepParameters
5868 
5869 // optional int32 station_keep_time = 1 [default = 10, (.dccl.field) = {
5870 inline bool MissionTask_StationKeepParameters::_internal_has_station_keep_time() const {
5871  bool value = (_has_bits_[0] & 0x00000001u) != 0;
5872  return value;
5873 }
5874 inline bool MissionTask_StationKeepParameters::has_station_keep_time() const {
5875  return _internal_has_station_keep_time();
5876 }
5877 inline void MissionTask_StationKeepParameters::clear_station_keep_time() {
5878  station_keep_time_ = 10;
5879  _has_bits_[0] &= ~0x00000001u;
5880 }
5881 inline ::PROTOBUF_NAMESPACE_ID::int32 MissionTask_StationKeepParameters::_internal_station_keep_time() const {
5882  return station_keep_time_;
5883 }
5884 inline ::PROTOBUF_NAMESPACE_ID::int32 MissionTask_StationKeepParameters::station_keep_time() const {
5885  // @@protoc_insertion_point(field_get:jaiabot.protobuf.MissionTask.StationKeepParameters.station_keep_time)
5886  return _internal_station_keep_time();
5887 }
5888 inline void MissionTask_StationKeepParameters::_internal_set_station_keep_time(::PROTOBUF_NAMESPACE_ID::int32 value) {
5889  _has_bits_[0] |= 0x00000001u;
5890  station_keep_time_ = value;
5891 }
5892 inline void MissionTask_StationKeepParameters::set_station_keep_time(::PROTOBUF_NAMESPACE_ID::int32 value) {
5893  _internal_set_station_keep_time(value);
5894  // @@protoc_insertion_point(field_set:jaiabot.protobuf.MissionTask.StationKeepParameters.station_keep_time)
5895 }
5896 
5897 // -------------------------------------------------------------------
5898 
5899 // MissionTask
5900 
5901 // optional .jaiabot.protobuf.MissionTask.TaskType type = 1 [default = NONE, (.jaia.field) = {
5902 inline bool MissionTask::_internal_has_type() const {
5903  bool value = (_has_bits_[0] & 0x00000010u) != 0;
5904  return value;
5905 }
5906 inline bool MissionTask::has_type() const {
5907  return _internal_has_type();
5908 }
5909 inline void MissionTask::clear_type() {
5910  type_ = 0;
5911  _has_bits_[0] &= ~0x00000010u;
5912 }
5913 inline ::jaiabot::protobuf::MissionTask_TaskType MissionTask::_internal_type() const {
5914  return static_cast< ::jaiabot::protobuf::MissionTask_TaskType >(type_);
5915 }
5916 inline ::jaiabot::protobuf::MissionTask_TaskType MissionTask::type() const {
5917  // @@protoc_insertion_point(field_get:jaiabot.protobuf.MissionTask.type)
5918  return _internal_type();
5919 }
5920 inline void MissionTask::_internal_set_type(::jaiabot::protobuf::MissionTask_TaskType value) {
5922  _has_bits_[0] |= 0x00000010u;
5923  type_ = value;
5924 }
5925 inline void MissionTask::set_type(::jaiabot::protobuf::MissionTask_TaskType value) {
5926  _internal_set_type(value);
5927  // @@protoc_insertion_point(field_set:jaiabot.protobuf.MissionTask.type)
5928 }
5929 
5930 // optional .jaiabot.protobuf.MissionTask.DiveParameters dive = 2 [(.jaia.field) = {
5931 inline bool MissionTask::_internal_has_dive() const {
5932  bool value = (_has_bits_[0] & 0x00000001u) != 0;
5933  PROTOBUF_ASSUME(!value || dive_ != nullptr);
5934  return value;
5935 }
5936 inline bool MissionTask::has_dive() const {
5937  return _internal_has_dive();
5938 }
5939 inline void MissionTask::clear_dive() {
5940  if (dive_ != nullptr) dive_->Clear();
5941  _has_bits_[0] &= ~0x00000001u;
5942 }
5943 inline const ::jaiabot::protobuf::MissionTask_DiveParameters& MissionTask::_internal_dive() const {
5944  const ::jaiabot::protobuf::MissionTask_DiveParameters* p = dive_;
5945  return p != nullptr ? *p : *reinterpret_cast<const ::jaiabot::protobuf::MissionTask_DiveParameters*>(
5947 }
5948 inline const ::jaiabot::protobuf::MissionTask_DiveParameters& MissionTask::dive() const {
5949  // @@protoc_insertion_point(field_get:jaiabot.protobuf.MissionTask.dive)
5950  return _internal_dive();
5951 }
5952 inline void MissionTask::unsafe_arena_set_allocated_dive(
5953  ::jaiabot::protobuf::MissionTask_DiveParameters* dive) {
5954  if (GetArena() == nullptr) {
5955  delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(dive_);
5956  }
5957  dive_ = dive;
5958  if (dive) {
5959  _has_bits_[0] |= 0x00000001u;
5960  } else {
5961  _has_bits_[0] &= ~0x00000001u;
5962  }
5963  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:jaiabot.protobuf.MissionTask.dive)
5964 }
5965 inline ::jaiabot::protobuf::MissionTask_DiveParameters* MissionTask::release_dive() {
5966  auto temp = unsafe_arena_release_dive();
5967  if (GetArena() != nullptr) {
5968  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
5969  }
5970  return temp;
5971 }
5972 inline ::jaiabot::protobuf::MissionTask_DiveParameters* MissionTask::unsafe_arena_release_dive() {
5973  // @@protoc_insertion_point(field_release:jaiabot.protobuf.MissionTask.dive)
5974  _has_bits_[0] &= ~0x00000001u;
5975  ::jaiabot::protobuf::MissionTask_DiveParameters* temp = dive_;
5976  dive_ = nullptr;
5977  return temp;
5978 }
5979 inline ::jaiabot::protobuf::MissionTask_DiveParameters* MissionTask::_internal_mutable_dive() {
5980  _has_bits_[0] |= 0x00000001u;
5981  if (dive_ == nullptr) {
5982  auto* p = CreateMaybeMessage<::jaiabot::protobuf::MissionTask_DiveParameters>(GetArena());
5983  dive_ = p;
5984  }
5985  return dive_;
5986 }
5987 inline ::jaiabot::protobuf::MissionTask_DiveParameters* MissionTask::mutable_dive() {
5988  // @@protoc_insertion_point(field_mutable:jaiabot.protobuf.MissionTask.dive)
5989  return _internal_mutable_dive();
5990 }
5991 inline void MissionTask::set_allocated_dive(::jaiabot::protobuf::MissionTask_DiveParameters* dive) {
5992  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
5993  if (message_arena == nullptr) {
5994  delete dive_;
5995  }
5996  if (dive) {
5997  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
5998  ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(dive);
5999  if (message_arena != submessage_arena) {
6000  dive = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
6001  message_arena, dive, submessage_arena);
6002  }
6003  _has_bits_[0] |= 0x00000001u;
6004  } else {
6005  _has_bits_[0] &= ~0x00000001u;
6006  }
6007  dive_ = dive;
6008  // @@protoc_insertion_point(field_set_allocated:jaiabot.protobuf.MissionTask.dive)
6009 }
6010 
6011 // optional .jaiabot.protobuf.MissionTask.DriftParameters surface_drift = 3 [(.jaia.field) = {
6012 inline bool MissionTask::_internal_has_surface_drift() const {
6013  bool value = (_has_bits_[0] & 0x00000002u) != 0;
6014  PROTOBUF_ASSUME(!value || surface_drift_ != nullptr);
6015  return value;
6016 }
6017 inline bool MissionTask::has_surface_drift() const {
6018  return _internal_has_surface_drift();
6019 }
6020 inline void MissionTask::clear_surface_drift() {
6021  if (surface_drift_ != nullptr) surface_drift_->Clear();
6022  _has_bits_[0] &= ~0x00000002u;
6023 }
6024 inline const ::jaiabot::protobuf::MissionTask_DriftParameters& MissionTask::_internal_surface_drift() const {
6025  const ::jaiabot::protobuf::MissionTask_DriftParameters* p = surface_drift_;
6026  return p != nullptr ? *p : *reinterpret_cast<const ::jaiabot::protobuf::MissionTask_DriftParameters*>(
6028 }
6029 inline const ::jaiabot::protobuf::MissionTask_DriftParameters& MissionTask::surface_drift() const {
6030  // @@protoc_insertion_point(field_get:jaiabot.protobuf.MissionTask.surface_drift)
6031  return _internal_surface_drift();
6032 }
6033 inline void MissionTask::unsafe_arena_set_allocated_surface_drift(
6034  ::jaiabot::protobuf::MissionTask_DriftParameters* surface_drift) {
6035  if (GetArena() == nullptr) {
6036  delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(surface_drift_);
6037  }
6038  surface_drift_ = surface_drift;
6039  if (surface_drift) {
6040  _has_bits_[0] |= 0x00000002u;
6041  } else {
6042  _has_bits_[0] &= ~0x00000002u;
6043  }
6044  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:jaiabot.protobuf.MissionTask.surface_drift)
6045 }
6046 inline ::jaiabot::protobuf::MissionTask_DriftParameters* MissionTask::release_surface_drift() {
6047  auto temp = unsafe_arena_release_surface_drift();
6048  if (GetArena() != nullptr) {
6049  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
6050  }
6051  return temp;
6052 }
6053 inline ::jaiabot::protobuf::MissionTask_DriftParameters* MissionTask::unsafe_arena_release_surface_drift() {
6054  // @@protoc_insertion_point(field_release:jaiabot.protobuf.MissionTask.surface_drift)
6055  _has_bits_[0] &= ~0x00000002u;
6056  ::jaiabot::protobuf::MissionTask_DriftParameters* temp = surface_drift_;
6057  surface_drift_ = nullptr;
6058  return temp;
6059 }
6060 inline ::jaiabot::protobuf::MissionTask_DriftParameters* MissionTask::_internal_mutable_surface_drift() {
6061  _has_bits_[0] |= 0x00000002u;
6062  if (surface_drift_ == nullptr) {
6063  auto* p = CreateMaybeMessage<::jaiabot::protobuf::MissionTask_DriftParameters>(GetArena());
6064  surface_drift_ = p;
6065  }
6066  return surface_drift_;
6067 }
6068 inline ::jaiabot::protobuf::MissionTask_DriftParameters* MissionTask::mutable_surface_drift() {
6069  // @@protoc_insertion_point(field_mutable:jaiabot.protobuf.MissionTask.surface_drift)
6070  return _internal_mutable_surface_drift();
6071 }
6072 inline void MissionTask::set_allocated_surface_drift(::jaiabot::protobuf::MissionTask_DriftParameters* surface_drift) {
6073  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
6074  if (message_arena == nullptr) {
6075  delete surface_drift_;
6076  }
6077  if (surface_drift) {
6078  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
6079  ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(surface_drift);
6080  if (message_arena != submessage_arena) {
6081  surface_drift = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
6082  message_arena, surface_drift, submessage_arena);
6083  }
6084  _has_bits_[0] |= 0x00000002u;
6085  } else {
6086  _has_bits_[0] &= ~0x00000002u;
6087  }
6088  surface_drift_ = surface_drift;
6089  // @@protoc_insertion_point(field_set_allocated:jaiabot.protobuf.MissionTask.surface_drift)
6090 }
6091 
6092 // optional .jaiabot.protobuf.MissionTask.ConstantHeadingParameters constant_heading = 4 [(.jaia.field) = {
6093 inline bool MissionTask::_internal_has_constant_heading() const {
6094  bool value = (_has_bits_[0] & 0x00000004u) != 0;
6095  PROTOBUF_ASSUME(!value || constant_heading_ != nullptr);
6096  return value;
6097 }
6098 inline bool MissionTask::has_constant_heading() const {
6099  return _internal_has_constant_heading();
6100 }
6101 inline void MissionTask::clear_constant_heading() {
6102  if (constant_heading_ != nullptr) constant_heading_->Clear();
6103  _has_bits_[0] &= ~0x00000004u;
6104 }
6105 inline const ::jaiabot::protobuf::MissionTask_ConstantHeadingParameters& MissionTask::_internal_constant_heading() const {
6106  const ::jaiabot::protobuf::MissionTask_ConstantHeadingParameters* p = constant_heading_;
6107  return p != nullptr ? *p : *reinterpret_cast<const ::jaiabot::protobuf::MissionTask_ConstantHeadingParameters*>(
6109 }
6110 inline const ::jaiabot::protobuf::MissionTask_ConstantHeadingParameters& MissionTask::constant_heading() const {
6111  // @@protoc_insertion_point(field_get:jaiabot.protobuf.MissionTask.constant_heading)
6112  return _internal_constant_heading();
6113 }
6114 inline void MissionTask::unsafe_arena_set_allocated_constant_heading(
6115  ::jaiabot::protobuf::MissionTask_ConstantHeadingParameters* constant_heading) {
6116  if (GetArena() == nullptr) {
6117  delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(constant_heading_);
6118  }
6119  constant_heading_ = constant_heading;
6120  if (constant_heading) {
6121  _has_bits_[0] |= 0x00000004u;
6122  } else {
6123  _has_bits_[0] &= ~0x00000004u;
6124  }
6125  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:jaiabot.protobuf.MissionTask.constant_heading)
6126 }
6127 inline ::jaiabot::protobuf::MissionTask_ConstantHeadingParameters* MissionTask::release_constant_heading() {
6128  auto temp = unsafe_arena_release_constant_heading();
6129  if (GetArena() != nullptr) {
6130  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
6131  }
6132  return temp;
6133 }
6134 inline ::jaiabot::protobuf::MissionTask_ConstantHeadingParameters* MissionTask::unsafe_arena_release_constant_heading() {
6135  // @@protoc_insertion_point(field_release:jaiabot.protobuf.MissionTask.constant_heading)
6136  _has_bits_[0] &= ~0x00000004u;
6137  ::jaiabot::protobuf::MissionTask_ConstantHeadingParameters* temp = constant_heading_;
6138  constant_heading_ = nullptr;
6139  return temp;
6140 }
6141 inline ::jaiabot::protobuf::MissionTask_ConstantHeadingParameters* MissionTask::_internal_mutable_constant_heading() {
6142  _has_bits_[0] |= 0x00000004u;
6143  if (constant_heading_ == nullptr) {
6144  auto* p = CreateMaybeMessage<::jaiabot::protobuf::MissionTask_ConstantHeadingParameters>(GetArena());
6145  constant_heading_ = p;
6146  }
6147  return constant_heading_;
6148 }
6149 inline ::jaiabot::protobuf::MissionTask_ConstantHeadingParameters* MissionTask::mutable_constant_heading() {
6150  // @@protoc_insertion_point(field_mutable:jaiabot.protobuf.MissionTask.constant_heading)
6151  return _internal_mutable_constant_heading();
6152 }
6153 inline void MissionTask::set_allocated_constant_heading(::jaiabot::protobuf::MissionTask_ConstantHeadingParameters* constant_heading) {
6154  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
6155  if (message_arena == nullptr) {
6156  delete constant_heading_;
6157  }
6158  if (constant_heading) {
6159  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
6160  ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(constant_heading);
6161  if (message_arena != submessage_arena) {
6162  constant_heading = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
6163  message_arena, constant_heading, submessage_arena);
6164  }
6165  _has_bits_[0] |= 0x00000004u;
6166  } else {
6167  _has_bits_[0] &= ~0x00000004u;
6168  }
6169  constant_heading_ = constant_heading;
6170  // @@protoc_insertion_point(field_set_allocated:jaiabot.protobuf.MissionTask.constant_heading)
6171 }
6172 
6173 // optional bool start_echo = 5 [default = false, (.jaia.field) = {
6174 inline bool MissionTask::_internal_has_start_echo() const {
6175  bool value = (_has_bits_[0] & 0x00000020u) != 0;
6176  return value;
6177 }
6178 inline bool MissionTask::has_start_echo() const {
6179  return _internal_has_start_echo();
6180 }
6181 inline void MissionTask::clear_start_echo() {
6182  start_echo_ = false;
6183  _has_bits_[0] &= ~0x00000020u;
6184 }
6185 inline bool MissionTask::_internal_start_echo() const {
6186  return start_echo_;
6187 }
6188 inline bool MissionTask::start_echo() const {
6189  // @@protoc_insertion_point(field_get:jaiabot.protobuf.MissionTask.start_echo)
6190  return _internal_start_echo();
6191 }
6192 inline void MissionTask::_internal_set_start_echo(bool value) {
6193  _has_bits_[0] |= 0x00000020u;
6194  start_echo_ = value;
6195 }
6196 inline void MissionTask::set_start_echo(bool value) {
6197  _internal_set_start_echo(value);
6198  // @@protoc_insertion_point(field_set:jaiabot.protobuf.MissionTask.start_echo)
6199 }
6200 
6201 // optional .jaiabot.protobuf.MissionTask.StationKeepParameters station_keep = 6 [(.jaia.field) = {
6202 inline bool MissionTask::_internal_has_station_keep() const {
6203  bool value = (_has_bits_[0] & 0x00000008u) != 0;
6204  PROTOBUF_ASSUME(!value || station_keep_ != nullptr);
6205  return value;
6206 }
6207 inline bool MissionTask::has_station_keep() const {
6208  return _internal_has_station_keep();
6209 }
6210 inline void MissionTask::clear_station_keep() {
6211  if (station_keep_ != nullptr) station_keep_->Clear();
6212  _has_bits_[0] &= ~0x00000008u;
6213 }
6214 inline const ::jaiabot::protobuf::MissionTask_StationKeepParameters& MissionTask::_internal_station_keep() const {
6215  const ::jaiabot::protobuf::MissionTask_StationKeepParameters* p = station_keep_;
6216  return p != nullptr ? *p : *reinterpret_cast<const ::jaiabot::protobuf::MissionTask_StationKeepParameters*>(
6218 }
6219 inline const ::jaiabot::protobuf::MissionTask_StationKeepParameters& MissionTask::station_keep() const {
6220  // @@protoc_insertion_point(field_get:jaiabot.protobuf.MissionTask.station_keep)
6221  return _internal_station_keep();
6222 }
6223 inline void MissionTask::unsafe_arena_set_allocated_station_keep(
6224  ::jaiabot::protobuf::MissionTask_StationKeepParameters* station_keep) {
6225  if (GetArena() == nullptr) {
6226  delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(station_keep_);
6227  }
6228  station_keep_ = station_keep;
6229  if (station_keep) {
6230  _has_bits_[0] |= 0x00000008u;
6231  } else {
6232  _has_bits_[0] &= ~0x00000008u;
6233  }
6234  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:jaiabot.protobuf.MissionTask.station_keep)
6235 }
6236 inline ::jaiabot::protobuf::MissionTask_StationKeepParameters* MissionTask::release_station_keep() {
6237  auto temp = unsafe_arena_release_station_keep();
6238  if (GetArena() != nullptr) {
6239  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
6240  }
6241  return temp;
6242 }
6243 inline ::jaiabot::protobuf::MissionTask_StationKeepParameters* MissionTask::unsafe_arena_release_station_keep() {
6244  // @@protoc_insertion_point(field_release:jaiabot.protobuf.MissionTask.station_keep)
6245  _has_bits_[0] &= ~0x00000008u;
6246  ::jaiabot::protobuf::MissionTask_StationKeepParameters* temp = station_keep_;
6247  station_keep_ = nullptr;
6248  return temp;
6249 }
6250 inline ::jaiabot::protobuf::MissionTask_StationKeepParameters* MissionTask::_internal_mutable_station_keep() {
6251  _has_bits_[0] |= 0x00000008u;
6252  if (station_keep_ == nullptr) {
6253  auto* p = CreateMaybeMessage<::jaiabot::protobuf::MissionTask_StationKeepParameters>(GetArena());
6254  station_keep_ = p;
6255  }
6256  return station_keep_;
6257 }
6258 inline ::jaiabot::protobuf::MissionTask_StationKeepParameters* MissionTask::mutable_station_keep() {
6259  // @@protoc_insertion_point(field_mutable:jaiabot.protobuf.MissionTask.station_keep)
6260  return _internal_mutable_station_keep();
6261 }
6262 inline void MissionTask::set_allocated_station_keep(::jaiabot::protobuf::MissionTask_StationKeepParameters* station_keep) {
6263  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
6264  if (message_arena == nullptr) {
6265  delete station_keep_;
6266  }
6267  if (station_keep) {
6268  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
6269  ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(station_keep);
6270  if (message_arena != submessage_arena) {
6271  station_keep = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
6272  message_arena, station_keep, submessage_arena);
6273  }
6274  _has_bits_[0] |= 0x00000008u;
6275  } else {
6276  _has_bits_[0] &= ~0x00000008u;
6277  }
6278  station_keep_ = station_keep;
6279  // @@protoc_insertion_point(field_set_allocated:jaiabot.protobuf.MissionTask.station_keep)
6280 }
6281 
6282 // -------------------------------------------------------------------
6283 
6284 // MissionPlan_Goal
6285 
6286 // optional string name = 1 [(.dccl.field) = {
6287 inline bool MissionPlan_Goal::_internal_has_name() const {
6288  bool value = (_has_bits_[0] & 0x00000001u) != 0;
6289  return value;
6290 }
6291 inline bool MissionPlan_Goal::has_name() const {
6292  return _internal_has_name();
6293 }
6294 inline void MissionPlan_Goal::clear_name() {
6295  name_.ClearToEmpty(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
6296  _has_bits_[0] &= ~0x00000001u;
6297 }
6298 inline const std::string& MissionPlan_Goal::name() const {
6299  // @@protoc_insertion_point(field_get:jaiabot.protobuf.MissionPlan.Goal.name)
6300  return _internal_name();
6301 }
6302 inline void MissionPlan_Goal::set_name(const std::string& value) {
6303  _internal_set_name(value);
6304  // @@protoc_insertion_point(field_set:jaiabot.protobuf.MissionPlan.Goal.name)
6305 }
6306 inline std::string* MissionPlan_Goal::mutable_name() {
6307  // @@protoc_insertion_point(field_mutable:jaiabot.protobuf.MissionPlan.Goal.name)
6308  return _internal_mutable_name();
6309 }
6310 inline const std::string& MissionPlan_Goal::_internal_name() const {
6311  return name_.Get();
6312 }
6313 inline void MissionPlan_Goal::_internal_set_name(const std::string& value) {
6314  _has_bits_[0] |= 0x00000001u;
6315  name_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), value, GetArena());
6316 }
6317 inline void MissionPlan_Goal::set_name(std::string&& value) {
6318  _has_bits_[0] |= 0x00000001u;
6319  name_.Set(
6320  &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::move(value), GetArena());
6321  // @@protoc_insertion_point(field_set_rvalue:jaiabot.protobuf.MissionPlan.Goal.name)
6322 }
6323 inline void MissionPlan_Goal::set_name(const char* value) {
6324  GOOGLE_DCHECK(value != nullptr);
6325  _has_bits_[0] |= 0x00000001u;
6326  name_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(value),
6327  GetArena());
6328  // @@protoc_insertion_point(field_set_char:jaiabot.protobuf.MissionPlan.Goal.name)
6329 }
6330 inline void MissionPlan_Goal::set_name(const char* value,
6331  size_t size) {
6332  _has_bits_[0] |= 0x00000001u;
6333  name_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(
6334  reinterpret_cast<const char*>(value), size), GetArena());
6335  // @@protoc_insertion_point(field_set_pointer:jaiabot.protobuf.MissionPlan.Goal.name)
6336 }
6337 inline std::string* MissionPlan_Goal::_internal_mutable_name() {
6338  _has_bits_[0] |= 0x00000001u;
6339  return name_.Mutable(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
6340 }
6341 inline std::string* MissionPlan_Goal::release_name() {
6342  // @@protoc_insertion_point(field_release:jaiabot.protobuf.MissionPlan.Goal.name)
6343  if (!_internal_has_name()) {
6344  return nullptr;
6345  }
6346  _has_bits_[0] &= ~0x00000001u;
6347  return name_.ReleaseNonDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
6348 }
6349 inline void MissionPlan_Goal::set_allocated_name(std::string* name) {
6350  if (name != nullptr) {
6351  _has_bits_[0] |= 0x00000001u;
6352  } else {
6353  _has_bits_[0] &= ~0x00000001u;
6354  }
6355  name_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), name,
6356  GetArena());
6357  // @@protoc_insertion_point(field_set_allocated:jaiabot.protobuf.MissionPlan.Goal.name)
6358 }
6359 inline std::string* MissionPlan_Goal::unsafe_arena_release_name() {
6360  // @@protoc_insertion_point(field_unsafe_arena_release:jaiabot.protobuf.MissionPlan.Goal.name)
6361  GOOGLE_DCHECK(GetArena() != nullptr);
6362  _has_bits_[0] &= ~0x00000001u;
6363  return name_.UnsafeArenaRelease(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
6364  GetArena());
6365 }
6366 inline void MissionPlan_Goal::unsafe_arena_set_allocated_name(
6367  std::string* name) {
6368  GOOGLE_DCHECK(GetArena() != nullptr);
6369  if (name != nullptr) {
6370  _has_bits_[0] |= 0x00000001u;
6371  } else {
6372  _has_bits_[0] &= ~0x00000001u;
6373  }
6374  name_.UnsafeArenaSetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
6375  name, GetArena());
6376  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:jaiabot.protobuf.MissionPlan.Goal.name)
6377 }
6378 
6379 // required .jaiabot.protobuf.GeographicCoordinate location = 2 [(.jaia.field) = {
6380 inline bool MissionPlan_Goal::_internal_has_location() const {
6381  bool value = (_has_bits_[0] & 0x00000002u) != 0;
6382  PROTOBUF_ASSUME(!value || location_ != nullptr);
6383  return value;
6384 }
6385 inline bool MissionPlan_Goal::has_location() const {
6386  return _internal_has_location();
6387 }
6388 inline const ::jaiabot::protobuf::GeographicCoordinate& MissionPlan_Goal::_internal_location() const {
6389  const ::jaiabot::protobuf::GeographicCoordinate* p = location_;
6390  return p != nullptr ? *p : *reinterpret_cast<const ::jaiabot::protobuf::GeographicCoordinate*>(
6392 }
6393 inline const ::jaiabot::protobuf::GeographicCoordinate& MissionPlan_Goal::location() const {
6394  // @@protoc_insertion_point(field_get:jaiabot.protobuf.MissionPlan.Goal.location)
6395  return _internal_location();
6396 }
6397 inline void MissionPlan_Goal::unsafe_arena_set_allocated_location(
6398  ::jaiabot::protobuf::GeographicCoordinate* location) {
6399  if (GetArena() == nullptr) {
6400  delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(location_);
6401  }
6402  location_ = location;
6403  if (location) {
6404  _has_bits_[0] |= 0x00000002u;
6405  } else {
6406  _has_bits_[0] &= ~0x00000002u;
6407  }
6408  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:jaiabot.protobuf.MissionPlan.Goal.location)
6409 }
6410 inline ::jaiabot::protobuf::GeographicCoordinate* MissionPlan_Goal::release_location() {
6411  auto temp = unsafe_arena_release_location();
6412  if (GetArena() != nullptr) {
6413  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
6414  }
6415  return temp;
6416 }
6417 inline ::jaiabot::protobuf::GeographicCoordinate* MissionPlan_Goal::unsafe_arena_release_location() {
6418  // @@protoc_insertion_point(field_release:jaiabot.protobuf.MissionPlan.Goal.location)
6419  _has_bits_[0] &= ~0x00000002u;
6420  ::jaiabot::protobuf::GeographicCoordinate* temp = location_;
6421  location_ = nullptr;
6422  return temp;
6423 }
6424 inline ::jaiabot::protobuf::GeographicCoordinate* MissionPlan_Goal::_internal_mutable_location() {
6425  _has_bits_[0] |= 0x00000002u;
6426  if (location_ == nullptr) {
6427  auto* p = CreateMaybeMessage<::jaiabot::protobuf::GeographicCoordinate>(GetArena());
6428  location_ = p;
6429  }
6430  return location_;
6431 }
6432 inline ::jaiabot::protobuf::GeographicCoordinate* MissionPlan_Goal::mutable_location() {
6433  // @@protoc_insertion_point(field_mutable:jaiabot.protobuf.MissionPlan.Goal.location)
6434  return _internal_mutable_location();
6435 }
6436 inline void MissionPlan_Goal::set_allocated_location(::jaiabot::protobuf::GeographicCoordinate* location) {
6437  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
6438  if (message_arena == nullptr) {
6439  delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(location_);
6440  }
6441  if (location) {
6442  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
6443  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(location)->GetArena();
6444  if (message_arena != submessage_arena) {
6445  location = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
6446  message_arena, location, submessage_arena);
6447  }
6448  _has_bits_[0] |= 0x00000002u;
6449  } else {
6450  _has_bits_[0] &= ~0x00000002u;
6451  }
6452  location_ = location;
6453  // @@protoc_insertion_point(field_set_allocated:jaiabot.protobuf.MissionPlan.Goal.location)
6454 }
6455 
6456 // optional .jaiabot.protobuf.MissionTask task = 3 [(.jaia.field) = {
6457 inline bool MissionPlan_Goal::_internal_has_task() const {
6458  bool value = (_has_bits_[0] & 0x00000004u) != 0;
6459  PROTOBUF_ASSUME(!value || task_ != nullptr);
6460  return value;
6461 }
6462 inline bool MissionPlan_Goal::has_task() const {
6463  return _internal_has_task();
6464 }
6465 inline void MissionPlan_Goal::clear_task() {
6466  if (task_ != nullptr) task_->Clear();
6467  _has_bits_[0] &= ~0x00000004u;
6468 }
6469 inline const ::jaiabot::protobuf::MissionTask& MissionPlan_Goal::_internal_task() const {
6470  const ::jaiabot::protobuf::MissionTask* p = task_;
6471  return p != nullptr ? *p : *reinterpret_cast<const ::jaiabot::protobuf::MissionTask*>(
6473 }
6474 inline const ::jaiabot::protobuf::MissionTask& MissionPlan_Goal::task() const {
6475  // @@protoc_insertion_point(field_get:jaiabot.protobuf.MissionPlan.Goal.task)
6476  return _internal_task();
6477 }
6478 inline void MissionPlan_Goal::unsafe_arena_set_allocated_task(
6479  ::jaiabot::protobuf::MissionTask* task) {
6480  if (GetArena() == nullptr) {
6481  delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(task_);
6482  }
6483  task_ = task;
6484  if (task) {
6485  _has_bits_[0] |= 0x00000004u;
6486  } else {
6487  _has_bits_[0] &= ~0x00000004u;
6488  }
6489  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:jaiabot.protobuf.MissionPlan.Goal.task)
6490 }
6491 inline ::jaiabot::protobuf::MissionTask* MissionPlan_Goal::release_task() {
6492  auto temp = unsafe_arena_release_task();
6493  if (GetArena() != nullptr) {
6494  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
6495  }
6496  return temp;
6497 }
6498 inline ::jaiabot::protobuf::MissionTask* MissionPlan_Goal::unsafe_arena_release_task() {
6499  // @@protoc_insertion_point(field_release:jaiabot.protobuf.MissionPlan.Goal.task)
6500  _has_bits_[0] &= ~0x00000004u;
6501  ::jaiabot::protobuf::MissionTask* temp = task_;
6502  task_ = nullptr;
6503  return temp;
6504 }
6505 inline ::jaiabot::protobuf::MissionTask* MissionPlan_Goal::_internal_mutable_task() {
6506  _has_bits_[0] |= 0x00000004u;
6507  if (task_ == nullptr) {
6508  auto* p = CreateMaybeMessage<::jaiabot::protobuf::MissionTask>(GetArena());
6509  task_ = p;
6510  }
6511  return task_;
6512 }
6513 inline ::jaiabot::protobuf::MissionTask* MissionPlan_Goal::mutable_task() {
6514  // @@protoc_insertion_point(field_mutable:jaiabot.protobuf.MissionPlan.Goal.task)
6515  return _internal_mutable_task();
6516 }
6517 inline void MissionPlan_Goal::set_allocated_task(::jaiabot::protobuf::MissionTask* task) {
6518  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
6519  if (message_arena == nullptr) {
6520  delete task_;
6521  }
6522  if (task) {
6523  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
6524  ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(task);
6525  if (message_arena != submessage_arena) {
6526  task = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
6527  message_arena, task, submessage_arena);
6528  }
6529  _has_bits_[0] |= 0x00000004u;
6530  } else {
6531  _has_bits_[0] &= ~0x00000004u;
6532  }
6533  task_ = task;
6534  // @@protoc_insertion_point(field_set_allocated:jaiabot.protobuf.MissionPlan.Goal.task)
6535 }
6536 
6537 // optional bool moveWptMode = 4;
6538 inline bool MissionPlan_Goal::_internal_has_movewptmode() const {
6539  bool value = (_has_bits_[0] & 0x00000008u) != 0;
6540  return value;
6541 }
6542 inline bool MissionPlan_Goal::has_movewptmode() const {
6543  return _internal_has_movewptmode();
6544 }
6545 inline void MissionPlan_Goal::clear_movewptmode() {
6546  movewptmode_ = false;
6547  _has_bits_[0] &= ~0x00000008u;
6548 }
6549 inline bool MissionPlan_Goal::_internal_movewptmode() const {
6550  return movewptmode_;
6551 }
6552 inline bool MissionPlan_Goal::movewptmode() const {
6553  // @@protoc_insertion_point(field_get:jaiabot.protobuf.MissionPlan.Goal.moveWptMode)
6554  return _internal_movewptmode();
6555 }
6556 inline void MissionPlan_Goal::_internal_set_movewptmode(bool value) {
6557  _has_bits_[0] |= 0x00000008u;
6558  movewptmode_ = value;
6559 }
6560 inline void MissionPlan_Goal::set_movewptmode(bool value) {
6561  _internal_set_movewptmode(value);
6562  // @@protoc_insertion_point(field_set:jaiabot.protobuf.MissionPlan.Goal.moveWptMode)
6563 }
6564 
6565 // -------------------------------------------------------------------
6566 
6567 // MissionPlan_Recovery
6568 
6569 // optional bool recover_at_final_goal = 1 [default = true, (.jaia.field) = {
6570 inline bool MissionPlan_Recovery::_internal_has_recover_at_final_goal() const {
6571  bool value = (_has_bits_[0] & 0x00000002u) != 0;
6572  return value;
6573 }
6574 inline bool MissionPlan_Recovery::has_recover_at_final_goal() const {
6575  return _internal_has_recover_at_final_goal();
6576 }
6577 inline void MissionPlan_Recovery::clear_recover_at_final_goal() {
6578  recover_at_final_goal_ = true;
6579  _has_bits_[0] &= ~0x00000002u;
6580 }
6581 inline bool MissionPlan_Recovery::_internal_recover_at_final_goal() const {
6582  return recover_at_final_goal_;
6583 }
6584 inline bool MissionPlan_Recovery::recover_at_final_goal() const {
6585  // @@protoc_insertion_point(field_get:jaiabot.protobuf.MissionPlan.Recovery.recover_at_final_goal)
6586  return _internal_recover_at_final_goal();
6587 }
6588 inline void MissionPlan_Recovery::_internal_set_recover_at_final_goal(bool value) {
6589  _has_bits_[0] |= 0x00000002u;
6590  recover_at_final_goal_ = value;
6591 }
6592 inline void MissionPlan_Recovery::set_recover_at_final_goal(bool value) {
6593  _internal_set_recover_at_final_goal(value);
6594  // @@protoc_insertion_point(field_set:jaiabot.protobuf.MissionPlan.Recovery.recover_at_final_goal)
6595 }
6596 
6597 // optional .jaiabot.protobuf.GeographicCoordinate location = 2 [(.jaia.field) = {
6598 inline bool MissionPlan_Recovery::_internal_has_location() const {
6599  bool value = (_has_bits_[0] & 0x00000001u) != 0;
6600  PROTOBUF_ASSUME(!value || location_ != nullptr);
6601  return value;
6602 }
6603 inline bool MissionPlan_Recovery::has_location() const {
6604  return _internal_has_location();
6605 }
6606 inline const ::jaiabot::protobuf::GeographicCoordinate& MissionPlan_Recovery::_internal_location() const {
6607  const ::jaiabot::protobuf::GeographicCoordinate* p = location_;
6608  return p != nullptr ? *p : *reinterpret_cast<const ::jaiabot::protobuf::GeographicCoordinate*>(
6610 }
6611 inline const ::jaiabot::protobuf::GeographicCoordinate& MissionPlan_Recovery::location() const {
6612  // @@protoc_insertion_point(field_get:jaiabot.protobuf.MissionPlan.Recovery.location)
6613  return _internal_location();
6614 }
6615 inline void MissionPlan_Recovery::unsafe_arena_set_allocated_location(
6616  ::jaiabot::protobuf::GeographicCoordinate* location) {
6617  if (GetArena() == nullptr) {
6618  delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(location_);
6619  }
6620  location_ = location;
6621  if (location) {
6622  _has_bits_[0] |= 0x00000001u;
6623  } else {
6624  _has_bits_[0] &= ~0x00000001u;
6625  }
6626  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:jaiabot.protobuf.MissionPlan.Recovery.location)
6627 }
6628 inline ::jaiabot::protobuf::GeographicCoordinate* MissionPlan_Recovery::release_location() {
6629  auto temp = unsafe_arena_release_location();
6630  if (GetArena() != nullptr) {
6631  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
6632  }
6633  return temp;
6634 }
6635 inline ::jaiabot::protobuf::GeographicCoordinate* MissionPlan_Recovery::unsafe_arena_release_location() {
6636  // @@protoc_insertion_point(field_release:jaiabot.protobuf.MissionPlan.Recovery.location)
6637  _has_bits_[0] &= ~0x00000001u;
6638  ::jaiabot::protobuf::GeographicCoordinate* temp = location_;
6639  location_ = nullptr;
6640  return temp;
6641 }
6642 inline ::jaiabot::protobuf::GeographicCoordinate* MissionPlan_Recovery::_internal_mutable_location() {
6643  _has_bits_[0] |= 0x00000001u;
6644  if (location_ == nullptr) {
6645  auto* p = CreateMaybeMessage<::jaiabot::protobuf::GeographicCoordinate>(GetArena());
6646  location_ = p;
6647  }
6648  return location_;
6649 }
6650 inline ::jaiabot::protobuf::GeographicCoordinate* MissionPlan_Recovery::mutable_location() {
6651  // @@protoc_insertion_point(field_mutable:jaiabot.protobuf.MissionPlan.Recovery.location)
6652  return _internal_mutable_location();
6653 }
6654 inline void MissionPlan_Recovery::set_allocated_location(::jaiabot::protobuf::GeographicCoordinate* location) {
6655  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
6656  if (message_arena == nullptr) {
6657  delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(location_);
6658  }
6659  if (location) {
6660  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
6661  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(location)->GetArena();
6662  if (message_arena != submessage_arena) {
6663  location = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
6664  message_arena, location, submessage_arena);
6665  }
6666  _has_bits_[0] |= 0x00000001u;
6667  } else {
6668  _has_bits_[0] &= ~0x00000001u;
6669  }
6670  location_ = location;
6671  // @@protoc_insertion_point(field_set_allocated:jaiabot.protobuf.MissionPlan.Recovery.location)
6672 }
6673 
6674 // -------------------------------------------------------------------
6675 
6676 // MissionPlan_TrailParam
6677 
6678 // optional int32 contact = 1 [default = 0, (.dccl.field) = {
6679 inline bool MissionPlan_TrailParam::_internal_has_contact() const {
6680  bool value = (_has_bits_[0] & 0x00000001u) != 0;
6681  return value;
6682 }
6683 inline bool MissionPlan_TrailParam::has_contact() const {
6684  return _internal_has_contact();
6685 }
6686 inline void MissionPlan_TrailParam::clear_contact() {
6687  contact_ = 0;
6688  _has_bits_[0] &= ~0x00000001u;
6689 }
6690 inline ::PROTOBUF_NAMESPACE_ID::int32 MissionPlan_TrailParam::_internal_contact() const {
6691  return contact_;
6692 }
6693 inline ::PROTOBUF_NAMESPACE_ID::int32 MissionPlan_TrailParam::contact() const {
6694  // @@protoc_insertion_point(field_get:jaiabot.protobuf.MissionPlan.TrailParam.contact)
6695  return _internal_contact();
6696 }
6697 inline void MissionPlan_TrailParam::_internal_set_contact(::PROTOBUF_NAMESPACE_ID::int32 value) {
6698  _has_bits_[0] |= 0x00000001u;
6699  contact_ = value;
6700 }
6701 inline void MissionPlan_TrailParam::set_contact(::PROTOBUF_NAMESPACE_ID::int32 value) {
6702  _internal_set_contact(value);
6703  // @@protoc_insertion_point(field_set:jaiabot.protobuf.MissionPlan.TrailParam.contact)
6704 }
6705 
6706 // optional double angle = 2 [default = 180, (.dccl.field) = {
6707 inline bool MissionPlan_TrailParam::_internal_has_angle() const {
6708  bool value = (_has_bits_[0] & 0x00000004u) != 0;
6709  return value;
6710 }
6711 inline bool MissionPlan_TrailParam::has_angle() const {
6712  return _internal_has_angle();
6713 }
6714 inline void MissionPlan_TrailParam::clear_angle() {
6715  angle_ = 180;
6716  _has_bits_[0] &= ~0x00000004u;
6717 }
6718 inline double MissionPlan_TrailParam::_internal_angle() const {
6719  return angle_;
6720 }
6721 inline double MissionPlan_TrailParam::angle() const {
6722  // @@protoc_insertion_point(field_get:jaiabot.protobuf.MissionPlan.TrailParam.angle)
6723  return _internal_angle();
6724 }
6725 inline void MissionPlan_TrailParam::_internal_set_angle(double value) {
6726  _has_bits_[0] |= 0x00000004u;
6727  angle_ = value;
6728 }
6729 inline void MissionPlan_TrailParam::set_angle(double value) {
6730  _internal_set_angle(value);
6731  // @@protoc_insertion_point(field_set:jaiabot.protobuf.MissionPlan.TrailParam.angle)
6732 }
6733 
6734 // optional bool angle_relative = 3 [default = true];
6735 inline bool MissionPlan_TrailParam::_internal_has_angle_relative() const {
6736  bool value = (_has_bits_[0] & 0x00000002u) != 0;
6737  return value;
6738 }
6739 inline bool MissionPlan_TrailParam::has_angle_relative() const {
6740  return _internal_has_angle_relative();
6741 }
6742 inline void MissionPlan_TrailParam::clear_angle_relative() {
6743  angle_relative_ = true;
6744  _has_bits_[0] &= ~0x00000002u;
6745 }
6746 inline bool MissionPlan_TrailParam::_internal_angle_relative() const {
6747  return angle_relative_;
6748 }
6749 inline bool MissionPlan_TrailParam::angle_relative() const {
6750  // @@protoc_insertion_point(field_get:jaiabot.protobuf.MissionPlan.TrailParam.angle_relative)
6751  return _internal_angle_relative();
6752 }
6753 inline void MissionPlan_TrailParam::_internal_set_angle_relative(bool value) {
6754  _has_bits_[0] |= 0x00000002u;
6755  angle_relative_ = value;
6756 }
6757 inline void MissionPlan_TrailParam::set_angle_relative(bool value) {
6758  _internal_set_angle_relative(value);
6759  // @@protoc_insertion_point(field_set:jaiabot.protobuf.MissionPlan.TrailParam.angle_relative)
6760 }
6761 
6762 // optional double range = 4 [default = 50, (.dccl.field) = {
6763 inline bool MissionPlan_TrailParam::_internal_has_range() const {
6764  bool value = (_has_bits_[0] & 0x00000008u) != 0;
6765  return value;
6766 }
6767 inline bool MissionPlan_TrailParam::has_range() const {
6768  return _internal_has_range();
6769 }
6770 inline void MissionPlan_TrailParam::clear_range() {
6771  range_ = 50;
6772  _has_bits_[0] &= ~0x00000008u;
6773 }
6774 inline double MissionPlan_TrailParam::_internal_range() const {
6775  return range_;
6776 }
6777 inline double MissionPlan_TrailParam::range() const {
6778  // @@protoc_insertion_point(field_get:jaiabot.protobuf.MissionPlan.TrailParam.range)
6779  return _internal_range();
6780 }
6781 inline void MissionPlan_TrailParam::_internal_set_range(double value) {
6782  _has_bits_[0] |= 0x00000008u;
6783  range_ = value;
6784 }
6785 inline void MissionPlan_TrailParam::set_range(double value) {
6786  _internal_set_range(value);
6787  // @@protoc_insertion_point(field_set:jaiabot.protobuf.MissionPlan.TrailParam.range)
6788 }
6789 
6790 // -------------------------------------------------------------------
6791 
6792 // MissionPlan
6793 
6794 // optional .jaiabot.protobuf.MissionPlan.MissionStart start = 1 [default = START_ON_COMMAND, (.jaia.field) = {
6795 inline bool MissionPlan::_internal_has_start() const {
6796  bool value = (_has_bits_[0] & 0x00000040u) != 0;
6797  return value;
6798 }
6799 inline bool MissionPlan::has_start() const {
6800  return _internal_has_start();
6801 }
6802 inline void MissionPlan::clear_start() {
6803  start_ = 2;
6804  _has_bits_[0] &= ~0x00000040u;
6805 }
6806 inline ::jaiabot::protobuf::MissionPlan_MissionStart MissionPlan::_internal_start() const {
6807  return static_cast< ::jaiabot::protobuf::MissionPlan_MissionStart >(start_);
6808 }
6809 inline ::jaiabot::protobuf::MissionPlan_MissionStart MissionPlan::start() const {
6810  // @@protoc_insertion_point(field_get:jaiabot.protobuf.MissionPlan.start)
6811  return _internal_start();
6812 }
6813 inline void MissionPlan::_internal_set_start(::jaiabot::protobuf::MissionPlan_MissionStart value) {
6815  _has_bits_[0] |= 0x00000040u;
6816  start_ = value;
6817 }
6818 inline void MissionPlan::set_start(::jaiabot::protobuf::MissionPlan_MissionStart value) {
6819  _internal_set_start(value);
6820  // @@protoc_insertion_point(field_set:jaiabot.protobuf.MissionPlan.start)
6821 }
6822 
6823 // optional .jaiabot.protobuf.MissionPlan.MovementType movement = 2 [default = TRANSIT, (.jaia.field) = {
6824 inline bool MissionPlan::_internal_has_movement() const {
6825  bool value = (_has_bits_[0] & 0x00000080u) != 0;
6826  return value;
6827 }
6828 inline bool MissionPlan::has_movement() const {
6829  return _internal_has_movement();
6830 }
6831 inline void MissionPlan::clear_movement() {
6832  movement_ = 1;
6833  _has_bits_[0] &= ~0x00000080u;
6834 }
6835 inline ::jaiabot::protobuf::MissionPlan_MovementType MissionPlan::_internal_movement() const {
6836  return static_cast< ::jaiabot::protobuf::MissionPlan_MovementType >(movement_);
6837 }
6838 inline ::jaiabot::protobuf::MissionPlan_MovementType MissionPlan::movement() const {
6839  // @@protoc_insertion_point(field_get:jaiabot.protobuf.MissionPlan.movement)
6840  return _internal_movement();
6841 }
6842 inline void MissionPlan::_internal_set_movement(::jaiabot::protobuf::MissionPlan_MovementType value) {
6844  _has_bits_[0] |= 0x00000080u;
6845  movement_ = value;
6846 }
6847 inline void MissionPlan::set_movement(::jaiabot::protobuf::MissionPlan_MovementType value) {
6848  _internal_set_movement(value);
6849  // @@protoc_insertion_point(field_set:jaiabot.protobuf.MissionPlan.movement)
6850 }
6851 
6852 // repeated .jaiabot.protobuf.MissionPlan.Goal goal = 3 [(.dccl.field) = {
6853 inline int MissionPlan::_internal_goal_size() const {
6854  return goal_.size();
6855 }
6856 inline int MissionPlan::goal_size() const {
6857  return _internal_goal_size();
6858 }
6859 inline void MissionPlan::clear_goal() {
6860  goal_.Clear();
6861 }
6862 inline ::jaiabot::protobuf::MissionPlan_Goal* MissionPlan::mutable_goal(int index) {
6863  // @@protoc_insertion_point(field_mutable:jaiabot.protobuf.MissionPlan.goal)
6864  return goal_.Mutable(index);
6865 }
6866 inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::jaiabot::protobuf::MissionPlan_Goal >*
6867 MissionPlan::mutable_goal() {
6868  // @@protoc_insertion_point(field_mutable_list:jaiabot.protobuf.MissionPlan.goal)
6869  return &goal_;
6870 }
6871 inline const ::jaiabot::protobuf::MissionPlan_Goal& MissionPlan::_internal_goal(int index) const {
6872  return goal_.Get(index);
6873 }
6874 inline const ::jaiabot::protobuf::MissionPlan_Goal& MissionPlan::goal(int index) const {
6875  // @@protoc_insertion_point(field_get:jaiabot.protobuf.MissionPlan.goal)
6876  return _internal_goal(index);
6877 }
6878 inline ::jaiabot::protobuf::MissionPlan_Goal* MissionPlan::_internal_add_goal() {
6879  return goal_.Add();
6880 }
6881 inline ::jaiabot::protobuf::MissionPlan_Goal* MissionPlan::add_goal() {
6882  // @@protoc_insertion_point(field_add:jaiabot.protobuf.MissionPlan.goal)
6883  return _internal_add_goal();
6884 }
6885 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::jaiabot::protobuf::MissionPlan_Goal >&
6886 MissionPlan::goal() const {
6887  // @@protoc_insertion_point(field_list:jaiabot.protobuf.MissionPlan.goal)
6888  return goal_;
6889 }
6890 
6891 // optional .jaiabot.protobuf.MissionPlan.Recovery recovery = 4 [(.jaia.field) = {
6892 inline bool MissionPlan::_internal_has_recovery() const {
6893  bool value = (_has_bits_[0] & 0x00000001u) != 0;
6894  PROTOBUF_ASSUME(!value || recovery_ != nullptr);
6895  return value;
6896 }
6897 inline bool MissionPlan::has_recovery() const {
6898  return _internal_has_recovery();
6899 }
6900 inline void MissionPlan::clear_recovery() {
6901  if (recovery_ != nullptr) recovery_->Clear();
6902  _has_bits_[0] &= ~0x00000001u;
6903 }
6904 inline const ::jaiabot::protobuf::MissionPlan_Recovery& MissionPlan::_internal_recovery() const {
6905  const ::jaiabot::protobuf::MissionPlan_Recovery* p = recovery_;
6906  return p != nullptr ? *p : *reinterpret_cast<const ::jaiabot::protobuf::MissionPlan_Recovery*>(
6908 }
6909 inline const ::jaiabot::protobuf::MissionPlan_Recovery& MissionPlan::recovery() const {
6910  // @@protoc_insertion_point(field_get:jaiabot.protobuf.MissionPlan.recovery)
6911  return _internal_recovery();
6912 }
6913 inline void MissionPlan::unsafe_arena_set_allocated_recovery(
6914  ::jaiabot::protobuf::MissionPlan_Recovery* recovery) {
6915  if (GetArena() == nullptr) {
6916  delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(recovery_);
6917  }
6918  recovery_ = recovery;
6919  if (recovery) {
6920  _has_bits_[0] |= 0x00000001u;
6921  } else {
6922  _has_bits_[0] &= ~0x00000001u;
6923  }
6924  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:jaiabot.protobuf.MissionPlan.recovery)
6925 }
6926 inline ::jaiabot::protobuf::MissionPlan_Recovery* MissionPlan::release_recovery() {
6927  auto temp = unsafe_arena_release_recovery();
6928  if (GetArena() != nullptr) {
6929  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
6930  }
6931  return temp;
6932 }
6933 inline ::jaiabot::protobuf::MissionPlan_Recovery* MissionPlan::unsafe_arena_release_recovery() {
6934  // @@protoc_insertion_point(field_release:jaiabot.protobuf.MissionPlan.recovery)
6935  _has_bits_[0] &= ~0x00000001u;
6936  ::jaiabot::protobuf::MissionPlan_Recovery* temp = recovery_;
6937  recovery_ = nullptr;
6938  return temp;
6939 }
6940 inline ::jaiabot::protobuf::MissionPlan_Recovery* MissionPlan::_internal_mutable_recovery() {
6941  _has_bits_[0] |= 0x00000001u;
6942  if (recovery_ == nullptr) {
6943  auto* p = CreateMaybeMessage<::jaiabot::protobuf::MissionPlan_Recovery>(GetArena());
6944  recovery_ = p;
6945  }
6946  return recovery_;
6947 }
6948 inline ::jaiabot::protobuf::MissionPlan_Recovery* MissionPlan::mutable_recovery() {
6949  // @@protoc_insertion_point(field_mutable:jaiabot.protobuf.MissionPlan.recovery)
6950  return _internal_mutable_recovery();
6951 }
6952 inline void MissionPlan::set_allocated_recovery(::jaiabot::protobuf::MissionPlan_Recovery* recovery) {
6953  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
6954  if (message_arena == nullptr) {
6955  delete recovery_;
6956  }
6957  if (recovery) {
6958  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
6959  ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(recovery);
6960  if (message_arena != submessage_arena) {
6961  recovery = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
6962  message_arena, recovery, submessage_arena);
6963  }
6964  _has_bits_[0] |= 0x00000001u;
6965  } else {
6966  _has_bits_[0] &= ~0x00000001u;
6967  }
6968  recovery_ = recovery;
6969  // @@protoc_insertion_point(field_set_allocated:jaiabot.protobuf.MissionPlan.recovery)
6970 }
6971 
6972 // optional .jaiabot.protobuf.Speeds speeds = 5 [(.jaia.field) = {
6973 inline bool MissionPlan::_internal_has_speeds() const {
6974  bool value = (_has_bits_[0] & 0x00000002u) != 0;
6975  PROTOBUF_ASSUME(!value || speeds_ != nullptr);
6976  return value;
6977 }
6978 inline bool MissionPlan::has_speeds() const {
6979  return _internal_has_speeds();
6980 }
6981 inline void MissionPlan::clear_speeds() {
6982  if (speeds_ != nullptr) speeds_->Clear();
6983  _has_bits_[0] &= ~0x00000002u;
6984 }
6985 inline const ::jaiabot::protobuf::Speeds& MissionPlan::_internal_speeds() const {
6986  const ::jaiabot::protobuf::Speeds* p = speeds_;
6987  return p != nullptr ? *p : *reinterpret_cast<const ::jaiabot::protobuf::Speeds*>(
6989 }
6990 inline const ::jaiabot::protobuf::Speeds& MissionPlan::speeds() const {
6991  // @@protoc_insertion_point(field_get:jaiabot.protobuf.MissionPlan.speeds)
6992  return _internal_speeds();
6993 }
6994 inline void MissionPlan::unsafe_arena_set_allocated_speeds(
6995  ::jaiabot::protobuf::Speeds* speeds) {
6996  if (GetArena() == nullptr) {
6997  delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(speeds_);
6998  }
6999  speeds_ = speeds;
7000  if (speeds) {
7001  _has_bits_[0] |= 0x00000002u;
7002  } else {
7003  _has_bits_[0] &= ~0x00000002u;
7004  }
7005  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:jaiabot.protobuf.MissionPlan.speeds)
7006 }
7007 inline ::jaiabot::protobuf::Speeds* MissionPlan::release_speeds() {
7008  auto temp = unsafe_arena_release_speeds();
7009  if (GetArena() != nullptr) {
7010  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
7011  }
7012  return temp;
7013 }
7014 inline ::jaiabot::protobuf::Speeds* MissionPlan::unsafe_arena_release_speeds() {
7015  // @@protoc_insertion_point(field_release:jaiabot.protobuf.MissionPlan.speeds)
7016  _has_bits_[0] &= ~0x00000002u;
7017  ::jaiabot::protobuf::Speeds* temp = speeds_;
7018  speeds_ = nullptr;
7019  return temp;
7020 }
7021 inline ::jaiabot::protobuf::Speeds* MissionPlan::_internal_mutable_speeds() {
7022  _has_bits_[0] |= 0x00000002u;
7023  if (speeds_ == nullptr) {
7024  auto* p = CreateMaybeMessage<::jaiabot::protobuf::Speeds>(GetArena());
7025  speeds_ = p;
7026  }
7027  return speeds_;
7028 }
7029 inline ::jaiabot::protobuf::Speeds* MissionPlan::mutable_speeds() {
7030  // @@protoc_insertion_point(field_mutable:jaiabot.protobuf.MissionPlan.speeds)
7031  return _internal_mutable_speeds();
7032 }
7033 inline void MissionPlan::set_allocated_speeds(::jaiabot::protobuf::Speeds* speeds) {
7034  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
7035  if (message_arena == nullptr) {
7036  delete speeds_;
7037  }
7038  if (speeds) {
7039  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
7040  ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(speeds);
7041  if (message_arena != submessage_arena) {
7042  speeds = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
7043  message_arena, speeds, submessage_arena);
7044  }
7045  _has_bits_[0] |= 0x00000002u;
7046  } else {
7047  _has_bits_[0] &= ~0x00000002u;
7048  }
7049  speeds_ = speeds;
7050  // @@protoc_insertion_point(field_set_allocated:jaiabot.protobuf.MissionPlan.speeds)
7051 }
7052 
7053 // optional .jaiabot.protobuf.BottomDepthSafetyParams bottom_depth_safety_params = 6 [(.jaia.field) = {
7054 inline bool MissionPlan::_internal_has_bottom_depth_safety_params() const {
7055  bool value = (_has_bits_[0] & 0x00000004u) != 0;
7056  PROTOBUF_ASSUME(!value || bottom_depth_safety_params_ != nullptr);
7057  return value;
7058 }
7059 inline bool MissionPlan::has_bottom_depth_safety_params() const {
7060  return _internal_has_bottom_depth_safety_params();
7061 }
7062 inline void MissionPlan::clear_bottom_depth_safety_params() {
7063  if (bottom_depth_safety_params_ != nullptr) bottom_depth_safety_params_->Clear();
7064  _has_bits_[0] &= ~0x00000004u;
7065 }
7066 inline const ::jaiabot::protobuf::BottomDepthSafetyParams& MissionPlan::_internal_bottom_depth_safety_params() const {
7067  const ::jaiabot::protobuf::BottomDepthSafetyParams* p = bottom_depth_safety_params_;
7068  return p != nullptr ? *p : *reinterpret_cast<const ::jaiabot::protobuf::BottomDepthSafetyParams*>(
7070 }
7071 inline const ::jaiabot::protobuf::BottomDepthSafetyParams& MissionPlan::bottom_depth_safety_params() const {
7072  // @@protoc_insertion_point(field_get:jaiabot.protobuf.MissionPlan.bottom_depth_safety_params)
7073  return _internal_bottom_depth_safety_params();
7074 }
7075 inline void MissionPlan::unsafe_arena_set_allocated_bottom_depth_safety_params(
7076  ::jaiabot::protobuf::BottomDepthSafetyParams* bottom_depth_safety_params) {
7077  if (GetArena() == nullptr) {
7078  delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(bottom_depth_safety_params_);
7079  }
7080  bottom_depth_safety_params_ = bottom_depth_safety_params;
7081  if (bottom_depth_safety_params) {
7082  _has_bits_[0] |= 0x00000004u;
7083  } else {
7084  _has_bits_[0] &= ~0x00000004u;
7085  }
7086  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:jaiabot.protobuf.MissionPlan.bottom_depth_safety_params)
7087 }
7088 inline ::jaiabot::protobuf::BottomDepthSafetyParams* MissionPlan::release_bottom_depth_safety_params() {
7089  auto temp = unsafe_arena_release_bottom_depth_safety_params();
7090  if (GetArena() != nullptr) {
7091  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
7092  }
7093  return temp;
7094 }
7095 inline ::jaiabot::protobuf::BottomDepthSafetyParams* MissionPlan::unsafe_arena_release_bottom_depth_safety_params() {
7096  // @@protoc_insertion_point(field_release:jaiabot.protobuf.MissionPlan.bottom_depth_safety_params)
7097  _has_bits_[0] &= ~0x00000004u;
7098  ::jaiabot::protobuf::BottomDepthSafetyParams* temp = bottom_depth_safety_params_;
7099  bottom_depth_safety_params_ = nullptr;
7100  return temp;
7101 }
7102 inline ::jaiabot::protobuf::BottomDepthSafetyParams* MissionPlan::_internal_mutable_bottom_depth_safety_params() {
7103  _has_bits_[0] |= 0x00000004u;
7104  if (bottom_depth_safety_params_ == nullptr) {
7105  auto* p = CreateMaybeMessage<::jaiabot::protobuf::BottomDepthSafetyParams>(GetArena());
7106  bottom_depth_safety_params_ = p;
7107  }
7108  return bottom_depth_safety_params_;
7109 }
7110 inline ::jaiabot::protobuf::BottomDepthSafetyParams* MissionPlan::mutable_bottom_depth_safety_params() {
7111  // @@protoc_insertion_point(field_mutable:jaiabot.protobuf.MissionPlan.bottom_depth_safety_params)
7112  return _internal_mutable_bottom_depth_safety_params();
7113 }
7114 inline void MissionPlan::set_allocated_bottom_depth_safety_params(::jaiabot::protobuf::BottomDepthSafetyParams* bottom_depth_safety_params) {
7115  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
7116  if (message_arena == nullptr) {
7117  delete bottom_depth_safety_params_;
7118  }
7119  if (bottom_depth_safety_params) {
7120  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
7121  ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(bottom_depth_safety_params);
7122  if (message_arena != submessage_arena) {
7123  bottom_depth_safety_params = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
7124  message_arena, bottom_depth_safety_params, submessage_arena);
7125  }
7126  _has_bits_[0] |= 0x00000004u;
7127  } else {
7128  _has_bits_[0] &= ~0x00000004u;
7129  }
7130  bottom_depth_safety_params_ = bottom_depth_safety_params;
7131  // @@protoc_insertion_point(field_set_allocated:jaiabot.protobuf.MissionPlan.bottom_depth_safety_params)
7132 }
7133 
7134 // optional uint32 fragment_index = 7 [(.dccl.field) = {
7135 inline bool MissionPlan::_internal_has_fragment_index() const {
7136  bool value = (_has_bits_[0] & 0x00000008u) != 0;
7137  return value;
7138 }
7139 inline bool MissionPlan::has_fragment_index() const {
7140  return _internal_has_fragment_index();
7141 }
7142 inline void MissionPlan::clear_fragment_index() {
7143  fragment_index_ = 0u;
7144  _has_bits_[0] &= ~0x00000008u;
7145 }
7146 inline ::PROTOBUF_NAMESPACE_ID::uint32 MissionPlan::_internal_fragment_index() const {
7147  return fragment_index_;
7148 }
7149 inline ::PROTOBUF_NAMESPACE_ID::uint32 MissionPlan::fragment_index() const {
7150  // @@protoc_insertion_point(field_get:jaiabot.protobuf.MissionPlan.fragment_index)
7151  return _internal_fragment_index();
7152 }
7153 inline void MissionPlan::_internal_set_fragment_index(::PROTOBUF_NAMESPACE_ID::uint32 value) {
7154  _has_bits_[0] |= 0x00000008u;
7155  fragment_index_ = value;
7156 }
7157 inline void MissionPlan::set_fragment_index(::PROTOBUF_NAMESPACE_ID::uint32 value) {
7158  _internal_set_fragment_index(value);
7159  // @@protoc_insertion_point(field_set:jaiabot.protobuf.MissionPlan.fragment_index)
7160 }
7161 
7162 // optional uint32 expected_fragments = 8 [(.dccl.field) = {
7163 inline bool MissionPlan::_internal_has_expected_fragments() const {
7164  bool value = (_has_bits_[0] & 0x00000010u) != 0;
7165  return value;
7166 }
7167 inline bool MissionPlan::has_expected_fragments() const {
7168  return _internal_has_expected_fragments();
7169 }
7170 inline void MissionPlan::clear_expected_fragments() {
7171  expected_fragments_ = 0u;
7172  _has_bits_[0] &= ~0x00000010u;
7173 }
7174 inline ::PROTOBUF_NAMESPACE_ID::uint32 MissionPlan::_internal_expected_fragments() const {
7175  return expected_fragments_;
7176 }
7177 inline ::PROTOBUF_NAMESPACE_ID::uint32 MissionPlan::expected_fragments() const {
7178  // @@protoc_insertion_point(field_get:jaiabot.protobuf.MissionPlan.expected_fragments)
7179  return _internal_expected_fragments();
7180 }
7181 inline void MissionPlan::_internal_set_expected_fragments(::PROTOBUF_NAMESPACE_ID::uint32 value) {
7182  _has_bits_[0] |= 0x00000010u;
7183  expected_fragments_ = value;
7184 }
7185 inline void MissionPlan::set_expected_fragments(::PROTOBUF_NAMESPACE_ID::uint32 value) {
7186  _internal_set_expected_fragments(value);
7187  // @@protoc_insertion_point(field_set:jaiabot.protobuf.MissionPlan.expected_fragments)
7188 }
7189 
7190 // .jaiabot.protobuf.MissionPlan.TrailParam trail = 10;
7191 inline bool MissionPlan::_internal_has_trail() const {
7192  return movement_params_case() == kTrail;
7193 }
7194 inline bool MissionPlan::has_trail() const {
7195  return _internal_has_trail();
7196 }
7197 inline void MissionPlan::set_has_trail() {
7198  _oneof_case_[0] = kTrail;
7199 }
7200 inline void MissionPlan::clear_trail() {
7201  if (_internal_has_trail()) {
7202  if (GetArena() == nullptr) {
7203  delete movement_params_.trail_;
7204  }
7205  clear_has_movement_params();
7206  }
7207 }
7208 inline ::jaiabot::protobuf::MissionPlan_TrailParam* MissionPlan::release_trail() {
7209  // @@protoc_insertion_point(field_release:jaiabot.protobuf.MissionPlan.trail)
7210  if (_internal_has_trail()) {
7211  clear_has_movement_params();
7212  ::jaiabot::protobuf::MissionPlan_TrailParam* temp = movement_params_.trail_;
7213  if (GetArena() != nullptr) {
7214  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
7215  }
7216  movement_params_.trail_ = nullptr;
7217  return temp;
7218  } else {
7219  return nullptr;
7220  }
7221 }
7222 inline const ::jaiabot::protobuf::MissionPlan_TrailParam& MissionPlan::_internal_trail() const {
7223  return _internal_has_trail()
7224  ? *movement_params_.trail_
7225  : *reinterpret_cast< ::jaiabot::protobuf::MissionPlan_TrailParam*>(&::jaiabot::protobuf::_MissionPlan_TrailParam_default_instance_);
7226 }
7227 inline const ::jaiabot::protobuf::MissionPlan_TrailParam& MissionPlan::trail() const {
7228  // @@protoc_insertion_point(field_get:jaiabot.protobuf.MissionPlan.trail)
7229  return _internal_trail();
7230 }
7231 inline ::jaiabot::protobuf::MissionPlan_TrailParam* MissionPlan::unsafe_arena_release_trail() {
7232  // @@protoc_insertion_point(field_unsafe_arena_release:jaiabot.protobuf.MissionPlan.trail)
7233  if (_internal_has_trail()) {
7234  clear_has_movement_params();
7235  ::jaiabot::protobuf::MissionPlan_TrailParam* temp = movement_params_.trail_;
7236  movement_params_.trail_ = nullptr;
7237  return temp;
7238  } else {
7239  return nullptr;
7240  }
7241 }
7242 inline void MissionPlan::unsafe_arena_set_allocated_trail(::jaiabot::protobuf::MissionPlan_TrailParam* trail) {
7243  clear_movement_params();
7244  if (trail) {
7245  set_has_trail();
7246  movement_params_.trail_ = trail;
7247  }
7248  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:jaiabot.protobuf.MissionPlan.trail)
7249 }
7250 inline ::jaiabot::protobuf::MissionPlan_TrailParam* MissionPlan::_internal_mutable_trail() {
7251  if (!_internal_has_trail()) {
7252  clear_movement_params();
7253  set_has_trail();
7254  movement_params_.trail_ = CreateMaybeMessage< ::jaiabot::protobuf::MissionPlan_TrailParam >(GetArena());
7255  }
7256  return movement_params_.trail_;
7257 }
7258 inline ::jaiabot::protobuf::MissionPlan_TrailParam* MissionPlan::mutable_trail() {
7259  // @@protoc_insertion_point(field_mutable:jaiabot.protobuf.MissionPlan.trail)
7260  return _internal_mutable_trail();
7261 }
7262 
7263 // optional uint32 repeats = 9 [default = 1, (.dccl.field) = {
7264 inline bool MissionPlan::_internal_has_repeats() const {
7265  bool value = (_has_bits_[0] & 0x00000020u) != 0;
7266  return value;
7267 }
7268 inline bool MissionPlan::has_repeats() const {
7269  return _internal_has_repeats();
7270 }
7271 inline void MissionPlan::clear_repeats() {
7272  repeats_ = 1u;
7273  _has_bits_[0] &= ~0x00000020u;
7274 }
7275 inline ::PROTOBUF_NAMESPACE_ID::uint32 MissionPlan::_internal_repeats() const {
7276  return repeats_;
7277 }
7278 inline ::PROTOBUF_NAMESPACE_ID::uint32 MissionPlan::repeats() const {
7279  // @@protoc_insertion_point(field_get:jaiabot.protobuf.MissionPlan.repeats)
7280  return _internal_repeats();
7281 }
7282 inline void MissionPlan::_internal_set_repeats(::PROTOBUF_NAMESPACE_ID::uint32 value) {
7283  _has_bits_[0] |= 0x00000020u;
7284  repeats_ = value;
7285 }
7286 inline void MissionPlan::set_repeats(::PROTOBUF_NAMESPACE_ID::uint32 value) {
7287  _internal_set_repeats(value);
7288  // @@protoc_insertion_point(field_set:jaiabot.protobuf.MissionPlan.repeats)
7289 }
7290 
7291 inline bool MissionPlan::has_movement_params() const {
7292  return movement_params_case() != MOVEMENT_PARAMS_NOT_SET;
7293 }
7294 inline void MissionPlan::clear_has_movement_params() {
7295  _oneof_case_[0] = MOVEMENT_PARAMS_NOT_SET;
7296 }
7297 inline MissionPlan::MovementParamsCase MissionPlan::movement_params_case() const {
7298  return MissionPlan::MovementParamsCase(_oneof_case_[0]);
7299 }
7300 // -------------------------------------------------------------------
7301 
7302 // IvPBehaviorUpdate_TransitUpdate
7303 
7304 // required bool active = 1;
7305 inline bool IvPBehaviorUpdate_TransitUpdate::_internal_has_active() const {
7306  bool value = (_has_bits_[0] & 0x00000004u) != 0;
7307  return value;
7308 }
7309 inline bool IvPBehaviorUpdate_TransitUpdate::has_active() const {
7310  return _internal_has_active();
7311 }
7312 inline void IvPBehaviorUpdate_TransitUpdate::clear_active() {
7313  active_ = false;
7314  _has_bits_[0] &= ~0x00000004u;
7315 }
7316 inline bool IvPBehaviorUpdate_TransitUpdate::_internal_active() const {
7317  return active_;
7318 }
7319 inline bool IvPBehaviorUpdate_TransitUpdate::active() const {
7320  // @@protoc_insertion_point(field_get:jaiabot.protobuf.IvPBehaviorUpdate.TransitUpdate.active)
7321  return _internal_active();
7322 }
7323 inline void IvPBehaviorUpdate_TransitUpdate::_internal_set_active(bool value) {
7324  _has_bits_[0] |= 0x00000004u;
7325  active_ = value;
7326 }
7327 inline void IvPBehaviorUpdate_TransitUpdate::set_active(bool value) {
7328  _internal_set_active(value);
7329  // @@protoc_insertion_point(field_set:jaiabot.protobuf.IvPBehaviorUpdate.TransitUpdate.active)
7330 }
7331 
7332 // optional double x = 2 [(.dccl.field) = {
7333 inline bool IvPBehaviorUpdate_TransitUpdate::_internal_has_x() const {
7334  bool value = (_has_bits_[0] & 0x00000001u) != 0;
7335  return value;
7336 }
7337 inline bool IvPBehaviorUpdate_TransitUpdate::has_x() const {
7338  return _internal_has_x();
7339 }
7340 inline void IvPBehaviorUpdate_TransitUpdate::clear_x() {
7341  x_ = 0;
7342  _has_bits_[0] &= ~0x00000001u;
7343 }
7344 inline double IvPBehaviorUpdate_TransitUpdate::_internal_x() const {
7345  return x_;
7346 }
7347 inline double IvPBehaviorUpdate_TransitUpdate::x() const {
7348  // @@protoc_insertion_point(field_get:jaiabot.protobuf.IvPBehaviorUpdate.TransitUpdate.x)
7349  return _internal_x();
7350 }
7351 inline void IvPBehaviorUpdate_TransitUpdate::_internal_set_x(double value) {
7352  _has_bits_[0] |= 0x00000001u;
7353  x_ = value;
7354 }
7355 inline void IvPBehaviorUpdate_TransitUpdate::set_x(double value) {
7356  _internal_set_x(value);
7357  // @@protoc_insertion_point(field_set:jaiabot.protobuf.IvPBehaviorUpdate.TransitUpdate.x)
7358 }
7359 
7360 // optional double y = 3 [(.dccl.field) = {
7361 inline bool IvPBehaviorUpdate_TransitUpdate::_internal_has_y() const {
7362  bool value = (_has_bits_[0] & 0x00000002u) != 0;
7363  return value;
7364 }
7365 inline bool IvPBehaviorUpdate_TransitUpdate::has_y() const {
7366  return _internal_has_y();
7367 }
7368 inline void IvPBehaviorUpdate_TransitUpdate::clear_y() {
7369  y_ = 0;
7370  _has_bits_[0] &= ~0x00000002u;
7371 }
7372 inline double IvPBehaviorUpdate_TransitUpdate::_internal_y() const {
7373  return y_;
7374 }
7375 inline double IvPBehaviorUpdate_TransitUpdate::y() const {
7376  // @@protoc_insertion_point(field_get:jaiabot.protobuf.IvPBehaviorUpdate.TransitUpdate.y)
7377  return _internal_y();
7378 }
7379 inline void IvPBehaviorUpdate_TransitUpdate::_internal_set_y(double value) {
7380  _has_bits_[0] |= 0x00000002u;
7381  y_ = value;
7382 }
7383 inline void IvPBehaviorUpdate_TransitUpdate::set_y(double value) {
7384  _internal_set_y(value);
7385  // @@protoc_insertion_point(field_set:jaiabot.protobuf.IvPBehaviorUpdate.TransitUpdate.y)
7386 }
7387 
7388 // optional double speed = 4 [(.dccl.field) = {
7389 inline bool IvPBehaviorUpdate_TransitUpdate::_internal_has_speed() const {
7390  bool value = (_has_bits_[0] & 0x00000010u) != 0;
7391  return value;
7392 }
7393 inline bool IvPBehaviorUpdate_TransitUpdate::has_speed() const {
7394  return _internal_has_speed();
7395 }
7396 inline void IvPBehaviorUpdate_TransitUpdate::clear_speed() {
7397  speed_ = 0;
7398  _has_bits_[0] &= ~0x00000010u;
7399 }
7400 inline double IvPBehaviorUpdate_TransitUpdate::_internal_speed() const {
7401  return speed_;
7402 }
7403 inline double IvPBehaviorUpdate_TransitUpdate::speed() const {
7404  // @@protoc_insertion_point(field_get:jaiabot.protobuf.IvPBehaviorUpdate.TransitUpdate.speed)
7405  return _internal_speed();
7406 }
7407 inline void IvPBehaviorUpdate_TransitUpdate::_internal_set_speed(double value) {
7408  _has_bits_[0] |= 0x00000010u;
7409  speed_ = value;
7410 }
7411 inline void IvPBehaviorUpdate_TransitUpdate::set_speed(double value) {
7412  _internal_set_speed(value);
7413  // @@protoc_insertion_point(field_set:jaiabot.protobuf.IvPBehaviorUpdate.TransitUpdate.speed)
7414 }
7415 
7416 // optional int32 slip_radius = 5;
7417 inline bool IvPBehaviorUpdate_TransitUpdate::_internal_has_slip_radius() const {
7418  bool value = (_has_bits_[0] & 0x00000008u) != 0;
7419  return value;
7420 }
7421 inline bool IvPBehaviorUpdate_TransitUpdate::has_slip_radius() const {
7422  return _internal_has_slip_radius();
7423 }
7424 inline void IvPBehaviorUpdate_TransitUpdate::clear_slip_radius() {
7425  slip_radius_ = 0;
7426  _has_bits_[0] &= ~0x00000008u;
7427 }
7428 inline ::PROTOBUF_NAMESPACE_ID::int32 IvPBehaviorUpdate_TransitUpdate::_internal_slip_radius() const {
7429  return slip_radius_;
7430 }
7431 inline ::PROTOBUF_NAMESPACE_ID::int32 IvPBehaviorUpdate_TransitUpdate::slip_radius() const {
7432  // @@protoc_insertion_point(field_get:jaiabot.protobuf.IvPBehaviorUpdate.TransitUpdate.slip_radius)
7433  return _internal_slip_radius();
7434 }
7435 inline void IvPBehaviorUpdate_TransitUpdate::_internal_set_slip_radius(::PROTOBUF_NAMESPACE_ID::int32 value) {
7436  _has_bits_[0] |= 0x00000008u;
7437  slip_radius_ = value;
7438 }
7439 inline void IvPBehaviorUpdate_TransitUpdate::set_slip_radius(::PROTOBUF_NAMESPACE_ID::int32 value) {
7440  _internal_set_slip_radius(value);
7441  // @@protoc_insertion_point(field_set:jaiabot.protobuf.IvPBehaviorUpdate.TransitUpdate.slip_radius)
7442 }
7443 
7444 // -------------------------------------------------------------------
7445 
7446 // IvPBehaviorUpdate_StationkeepUpdate
7447 
7448 // required bool active = 1;
7449 inline bool IvPBehaviorUpdate_StationkeepUpdate::_internal_has_active() const {
7450  bool value = (_has_bits_[0] & 0x00000010u) != 0;
7451  return value;
7452 }
7453 inline bool IvPBehaviorUpdate_StationkeepUpdate::has_active() const {
7454  return _internal_has_active();
7455 }
7456 inline void IvPBehaviorUpdate_StationkeepUpdate::clear_active() {
7457  active_ = false;
7458  _has_bits_[0] &= ~0x00000010u;
7459 }
7460 inline bool IvPBehaviorUpdate_StationkeepUpdate::_internal_active() const {
7461  return active_;
7462 }
7463 inline bool IvPBehaviorUpdate_StationkeepUpdate::active() const {
7464  // @@protoc_insertion_point(field_get:jaiabot.protobuf.IvPBehaviorUpdate.StationkeepUpdate.active)
7465  return _internal_active();
7466 }
7467 inline void IvPBehaviorUpdate_StationkeepUpdate::_internal_set_active(bool value) {
7468  _has_bits_[0] |= 0x00000010u;
7469  active_ = value;
7470 }
7471 inline void IvPBehaviorUpdate_StationkeepUpdate::set_active(bool value) {
7472  _internal_set_active(value);
7473  // @@protoc_insertion_point(field_set:jaiabot.protobuf.IvPBehaviorUpdate.StationkeepUpdate.active)
7474 }
7475 
7476 // optional double x = 2 [(.dccl.field) = {
7477 inline bool IvPBehaviorUpdate_StationkeepUpdate::_internal_has_x() const {
7478  bool value = (_has_bits_[0] & 0x00000001u) != 0;
7479  return value;
7480 }
7481 inline bool IvPBehaviorUpdate_StationkeepUpdate::has_x() const {
7482  return _internal_has_x();
7483 }
7484 inline void IvPBehaviorUpdate_StationkeepUpdate::clear_x() {
7485  x_ = 0;
7486  _has_bits_[0] &= ~0x00000001u;
7487 }
7488 inline double IvPBehaviorUpdate_StationkeepUpdate::_internal_x() const {
7489  return x_;
7490 }
7491 inline double IvPBehaviorUpdate_StationkeepUpdate::x() const {
7492  // @@protoc_insertion_point(field_get:jaiabot.protobuf.IvPBehaviorUpdate.StationkeepUpdate.x)
7493  return _internal_x();
7494 }
7495 inline void IvPBehaviorUpdate_StationkeepUpdate::_internal_set_x(double value) {
7496  _has_bits_[0] |= 0x00000001u;
7497  x_ = value;
7498 }
7499 inline void IvPBehaviorUpdate_StationkeepUpdate::set_x(double value) {
7500  _internal_set_x(value);
7501  // @@protoc_insertion_point(field_set:jaiabot.protobuf.IvPBehaviorUpdate.StationkeepUpdate.x)
7502 }
7503 
7504 // optional double y = 3 [(.dccl.field) = {
7505 inline bool IvPBehaviorUpdate_StationkeepUpdate::_internal_has_y() const {
7506  bool value = (_has_bits_[0] & 0x00000002u) != 0;
7507  return value;
7508 }
7509 inline bool IvPBehaviorUpdate_StationkeepUpdate::has_y() const {
7510  return _internal_has_y();
7511 }
7512 inline void IvPBehaviorUpdate_StationkeepUpdate::clear_y() {
7513  y_ = 0;
7514  _has_bits_[0] &= ~0x00000002u;
7515 }
7516 inline double IvPBehaviorUpdate_StationkeepUpdate::_internal_y() const {
7517  return y_;
7518 }
7519 inline double IvPBehaviorUpdate_StationkeepUpdate::y() const {
7520  // @@protoc_insertion_point(field_get:jaiabot.protobuf.IvPBehaviorUpdate.StationkeepUpdate.y)
7521  return _internal_y();
7522 }
7523 inline void IvPBehaviorUpdate_StationkeepUpdate::_internal_set_y(double value) {
7524  _has_bits_[0] |= 0x00000002u;
7525  y_ = value;
7526 }
7527 inline void IvPBehaviorUpdate_StationkeepUpdate::set_y(double value) {
7528  _internal_set_y(value);
7529  // @@protoc_insertion_point(field_set:jaiabot.protobuf.IvPBehaviorUpdate.StationkeepUpdate.y)
7530 }
7531 
7532 // optional double outer_speed = 4 [(.dccl.field) = {
7533 inline bool IvPBehaviorUpdate_StationkeepUpdate::_internal_has_outer_speed() const {
7534  bool value = (_has_bits_[0] & 0x00000004u) != 0;
7535  return value;
7536 }
7537 inline bool IvPBehaviorUpdate_StationkeepUpdate::has_outer_speed() const {
7538  return _internal_has_outer_speed();
7539 }
7540 inline void IvPBehaviorUpdate_StationkeepUpdate::clear_outer_speed() {
7541  outer_speed_ = 0;
7542  _has_bits_[0] &= ~0x00000004u;
7543 }
7544 inline double IvPBehaviorUpdate_StationkeepUpdate::_internal_outer_speed() const {
7545  return outer_speed_;
7546 }
7547 inline double IvPBehaviorUpdate_StationkeepUpdate::outer_speed() const {
7548  // @@protoc_insertion_point(field_get:jaiabot.protobuf.IvPBehaviorUpdate.StationkeepUpdate.outer_speed)
7549  return _internal_outer_speed();
7550 }
7551 inline void IvPBehaviorUpdate_StationkeepUpdate::_internal_set_outer_speed(double value) {
7552  _has_bits_[0] |= 0x00000004u;
7553  outer_speed_ = value;
7554 }
7555 inline void IvPBehaviorUpdate_StationkeepUpdate::set_outer_speed(double value) {
7556  _internal_set_outer_speed(value);
7557  // @@protoc_insertion_point(field_set:jaiabot.protobuf.IvPBehaviorUpdate.StationkeepUpdate.outer_speed)
7558 }
7559 
7560 // optional double transit_speed = 5 [(.dccl.field) = {
7561 inline bool IvPBehaviorUpdate_StationkeepUpdate::_internal_has_transit_speed() const {
7562  bool value = (_has_bits_[0] & 0x00000008u) != 0;
7563  return value;
7564 }
7565 inline bool IvPBehaviorUpdate_StationkeepUpdate::has_transit_speed() const {
7566  return _internal_has_transit_speed();
7567 }
7568 inline void IvPBehaviorUpdate_StationkeepUpdate::clear_transit_speed() {
7569  transit_speed_ = 0;
7570  _has_bits_[0] &= ~0x00000008u;
7571 }
7572 inline double IvPBehaviorUpdate_StationkeepUpdate::_internal_transit_speed() const {
7573  return transit_speed_;
7574 }
7575 inline double IvPBehaviorUpdate_StationkeepUpdate::transit_speed() const {
7576  // @@protoc_insertion_point(field_get:jaiabot.protobuf.IvPBehaviorUpdate.StationkeepUpdate.transit_speed)
7577  return _internal_transit_speed();
7578 }
7579 inline void IvPBehaviorUpdate_StationkeepUpdate::_internal_set_transit_speed(double value) {
7580  _has_bits_[0] |= 0x00000008u;
7581  transit_speed_ = value;
7582 }
7583 inline void IvPBehaviorUpdate_StationkeepUpdate::set_transit_speed(double value) {
7584  _internal_set_transit_speed(value);
7585  // @@protoc_insertion_point(field_set:jaiabot.protobuf.IvPBehaviorUpdate.StationkeepUpdate.transit_speed)
7586 }
7587 
7588 // optional bool center_activate = 6 [default = false];
7589 inline bool IvPBehaviorUpdate_StationkeepUpdate::_internal_has_center_activate() const {
7590  bool value = (_has_bits_[0] & 0x00000020u) != 0;
7591  return value;
7592 }
7593 inline bool IvPBehaviorUpdate_StationkeepUpdate::has_center_activate() const {
7594  return _internal_has_center_activate();
7595 }
7596 inline void IvPBehaviorUpdate_StationkeepUpdate::clear_center_activate() {
7597  center_activate_ = false;
7598  _has_bits_[0] &= ~0x00000020u;
7599 }
7600 inline bool IvPBehaviorUpdate_StationkeepUpdate::_internal_center_activate() const {
7601  return center_activate_;
7602 }
7603 inline bool IvPBehaviorUpdate_StationkeepUpdate::center_activate() const {
7604  // @@protoc_insertion_point(field_get:jaiabot.protobuf.IvPBehaviorUpdate.StationkeepUpdate.center_activate)
7605  return _internal_center_activate();
7606 }
7607 inline void IvPBehaviorUpdate_StationkeepUpdate::_internal_set_center_activate(bool value) {
7608  _has_bits_[0] |= 0x00000020u;
7609  center_activate_ = value;
7610 }
7611 inline void IvPBehaviorUpdate_StationkeepUpdate::set_center_activate(bool value) {
7612  _internal_set_center_activate(value);
7613  // @@protoc_insertion_point(field_set:jaiabot.protobuf.IvPBehaviorUpdate.StationkeepUpdate.center_activate)
7614 }
7615 
7616 // -------------------------------------------------------------------
7617 
7618 // IvPBehaviorUpdate_ConstantHeadingUpdate
7619 
7620 // required bool active = 1;
7621 inline bool IvPBehaviorUpdate_ConstantHeadingUpdate::_internal_has_active() const {
7622  bool value = (_has_bits_[0] & 0x00000002u) != 0;
7623  return value;
7624 }
7625 inline bool IvPBehaviorUpdate_ConstantHeadingUpdate::has_active() const {
7626  return _internal_has_active();
7627 }
7628 inline void IvPBehaviorUpdate_ConstantHeadingUpdate::clear_active() {
7629  active_ = false;
7630  _has_bits_[0] &= ~0x00000002u;
7631 }
7632 inline bool IvPBehaviorUpdate_ConstantHeadingUpdate::_internal_active() const {
7633  return active_;
7634 }
7635 inline bool IvPBehaviorUpdate_ConstantHeadingUpdate::active() const {
7636  // @@protoc_insertion_point(field_get:jaiabot.protobuf.IvPBehaviorUpdate.ConstantHeadingUpdate.active)
7637  return _internal_active();
7638 }
7639 inline void IvPBehaviorUpdate_ConstantHeadingUpdate::_internal_set_active(bool value) {
7640  _has_bits_[0] |= 0x00000002u;
7641  active_ = value;
7642 }
7643 inline void IvPBehaviorUpdate_ConstantHeadingUpdate::set_active(bool value) {
7644  _internal_set_active(value);
7645  // @@protoc_insertion_point(field_set:jaiabot.protobuf.IvPBehaviorUpdate.ConstantHeadingUpdate.active)
7646 }
7647 
7648 // optional double heading = 2 [(.dccl.field) = {
7649 inline bool IvPBehaviorUpdate_ConstantHeadingUpdate::_internal_has_heading() const {
7650  bool value = (_has_bits_[0] & 0x00000001u) != 0;
7651  return value;
7652 }
7653 inline bool IvPBehaviorUpdate_ConstantHeadingUpdate::has_heading() const {
7654  return _internal_has_heading();
7655 }
7656 inline void IvPBehaviorUpdate_ConstantHeadingUpdate::clear_heading() {
7657  heading_ = 0;
7658  _has_bits_[0] &= ~0x00000001u;
7659 }
7660 inline double IvPBehaviorUpdate_ConstantHeadingUpdate::_internal_heading() const {
7661  return heading_;
7662 }
7663 inline double IvPBehaviorUpdate_ConstantHeadingUpdate::heading() const {
7664  // @@protoc_insertion_point(field_get:jaiabot.protobuf.IvPBehaviorUpdate.ConstantHeadingUpdate.heading)
7665  return _internal_heading();
7666 }
7667 inline void IvPBehaviorUpdate_ConstantHeadingUpdate::_internal_set_heading(double value) {
7668  _has_bits_[0] |= 0x00000001u;
7669  heading_ = value;
7670 }
7671 inline void IvPBehaviorUpdate_ConstantHeadingUpdate::set_heading(double value) {
7672  _internal_set_heading(value);
7673  // @@protoc_insertion_point(field_set:jaiabot.protobuf.IvPBehaviorUpdate.ConstantHeadingUpdate.heading)
7674 }
7675 
7676 // -------------------------------------------------------------------
7677 
7678 // IvPBehaviorUpdate_ConstantSpeedUpdate
7679 
7680 // required bool active = 1;
7681 inline bool IvPBehaviorUpdate_ConstantSpeedUpdate::_internal_has_active() const {
7682  bool value = (_has_bits_[0] & 0x00000002u) != 0;
7683  return value;
7684 }
7685 inline bool IvPBehaviorUpdate_ConstantSpeedUpdate::has_active() const {
7686  return _internal_has_active();
7687 }
7688 inline void IvPBehaviorUpdate_ConstantSpeedUpdate::clear_active() {
7689  active_ = false;
7690  _has_bits_[0] &= ~0x00000002u;
7691 }
7692 inline bool IvPBehaviorUpdate_ConstantSpeedUpdate::_internal_active() const {
7693  return active_;
7694 }
7695 inline bool IvPBehaviorUpdate_ConstantSpeedUpdate::active() const {
7696  // @@protoc_insertion_point(field_get:jaiabot.protobuf.IvPBehaviorUpdate.ConstantSpeedUpdate.active)
7697  return _internal_active();
7698 }
7699 inline void IvPBehaviorUpdate_ConstantSpeedUpdate::_internal_set_active(bool value) {
7700  _has_bits_[0] |= 0x00000002u;
7701  active_ = value;
7702 }
7703 inline void IvPBehaviorUpdate_ConstantSpeedUpdate::set_active(bool value) {
7704  _internal_set_active(value);
7705  // @@protoc_insertion_point(field_set:jaiabot.protobuf.IvPBehaviorUpdate.ConstantSpeedUpdate.active)
7706 }
7707 
7708 // optional double speed = 2 [(.dccl.field) = {
7709 inline bool IvPBehaviorUpdate_ConstantSpeedUpdate::_internal_has_speed() const {
7710  bool value = (_has_bits_[0] & 0x00000001u) != 0;
7711  return value;
7712 }
7713 inline bool IvPBehaviorUpdate_ConstantSpeedUpdate::has_speed() const {
7714  return _internal_has_speed();
7715 }
7716 inline void IvPBehaviorUpdate_ConstantSpeedUpdate::clear_speed() {
7717  speed_ = 0;
7718  _has_bits_[0] &= ~0x00000001u;
7719 }
7720 inline double IvPBehaviorUpdate_ConstantSpeedUpdate::_internal_speed() const {
7721  return speed_;
7722 }
7723 inline double IvPBehaviorUpdate_ConstantSpeedUpdate::speed() const {
7724  // @@protoc_insertion_point(field_get:jaiabot.protobuf.IvPBehaviorUpdate.ConstantSpeedUpdate.speed)
7725  return _internal_speed();
7726 }
7727 inline void IvPBehaviorUpdate_ConstantSpeedUpdate::_internal_set_speed(double value) {
7728  _has_bits_[0] |= 0x00000001u;
7729  speed_ = value;
7730 }
7731 inline void IvPBehaviorUpdate_ConstantSpeedUpdate::set_speed(double value) {
7732  _internal_set_speed(value);
7733  // @@protoc_insertion_point(field_set:jaiabot.protobuf.IvPBehaviorUpdate.ConstantSpeedUpdate.speed)
7734 }
7735 
7736 // -------------------------------------------------------------------
7737 
7738 // IvPBehaviorUpdate_TrailUpdate
7739 
7740 // required bool active = 1;
7741 inline bool IvPBehaviorUpdate_TrailUpdate::_internal_has_active() const {
7742  bool value = (_has_bits_[0] & 0x00000002u) != 0;
7743  return value;
7744 }
7745 inline bool IvPBehaviorUpdate_TrailUpdate::has_active() const {
7746  return _internal_has_active();
7747 }
7748 inline void IvPBehaviorUpdate_TrailUpdate::clear_active() {
7749  active_ = false;
7750  _has_bits_[0] &= ~0x00000002u;
7751 }
7752 inline bool IvPBehaviorUpdate_TrailUpdate::_internal_active() const {
7753  return active_;
7754 }
7755 inline bool IvPBehaviorUpdate_TrailUpdate::active() const {
7756  // @@protoc_insertion_point(field_get:jaiabot.protobuf.IvPBehaviorUpdate.TrailUpdate.active)
7757  return _internal_active();
7758 }
7759 inline void IvPBehaviorUpdate_TrailUpdate::_internal_set_active(bool value) {
7760  _has_bits_[0] |= 0x00000002u;
7761  active_ = value;
7762 }
7763 inline void IvPBehaviorUpdate_TrailUpdate::set_active(bool value) {
7764  _internal_set_active(value);
7765  // @@protoc_insertion_point(field_set:jaiabot.protobuf.IvPBehaviorUpdate.TrailUpdate.active)
7766 }
7767 
7768 // optional .jaiabot.protobuf.MissionPlan.TrailParam param = 2;
7769 inline bool IvPBehaviorUpdate_TrailUpdate::_internal_has_param() const {
7770  bool value = (_has_bits_[0] & 0x00000001u) != 0;
7771  PROTOBUF_ASSUME(!value || param_ != nullptr);
7772  return value;
7773 }
7774 inline bool IvPBehaviorUpdate_TrailUpdate::has_param() const {
7775  return _internal_has_param();
7776 }
7777 inline void IvPBehaviorUpdate_TrailUpdate::clear_param() {
7778  if (param_ != nullptr) param_->Clear();
7779  _has_bits_[0] &= ~0x00000001u;
7780 }
7781 inline const ::jaiabot::protobuf::MissionPlan_TrailParam& IvPBehaviorUpdate_TrailUpdate::_internal_param() const {
7782  const ::jaiabot::protobuf::MissionPlan_TrailParam* p = param_;
7783  return p != nullptr ? *p : *reinterpret_cast<const ::jaiabot::protobuf::MissionPlan_TrailParam*>(
7785 }
7786 inline const ::jaiabot::protobuf::MissionPlan_TrailParam& IvPBehaviorUpdate_TrailUpdate::param() const {
7787  // @@protoc_insertion_point(field_get:jaiabot.protobuf.IvPBehaviorUpdate.TrailUpdate.param)
7788  return _internal_param();
7789 }
7790 inline void IvPBehaviorUpdate_TrailUpdate::unsafe_arena_set_allocated_param(
7791  ::jaiabot::protobuf::MissionPlan_TrailParam* param) {
7792  if (GetArena() == nullptr) {
7793  delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(param_);
7794  }
7795  param_ = param;
7796  if (param) {
7797  _has_bits_[0] |= 0x00000001u;
7798  } else {
7799  _has_bits_[0] &= ~0x00000001u;
7800  }
7801  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:jaiabot.protobuf.IvPBehaviorUpdate.TrailUpdate.param)
7802 }
7803 inline ::jaiabot::protobuf::MissionPlan_TrailParam* IvPBehaviorUpdate_TrailUpdate::release_param() {
7804  auto temp = unsafe_arena_release_param();
7805  if (GetArena() != nullptr) {
7806  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
7807  }
7808  return temp;
7809 }
7810 inline ::jaiabot::protobuf::MissionPlan_TrailParam* IvPBehaviorUpdate_TrailUpdate::unsafe_arena_release_param() {
7811  // @@protoc_insertion_point(field_release:jaiabot.protobuf.IvPBehaviorUpdate.TrailUpdate.param)
7812  _has_bits_[0] &= ~0x00000001u;
7813  ::jaiabot::protobuf::MissionPlan_TrailParam* temp = param_;
7814  param_ = nullptr;
7815  return temp;
7816 }
7817 inline ::jaiabot::protobuf::MissionPlan_TrailParam* IvPBehaviorUpdate_TrailUpdate::_internal_mutable_param() {
7818  _has_bits_[0] |= 0x00000001u;
7819  if (param_ == nullptr) {
7820  auto* p = CreateMaybeMessage<::jaiabot::protobuf::MissionPlan_TrailParam>(GetArena());
7821  param_ = p;
7822  }
7823  return param_;
7824 }
7825 inline ::jaiabot::protobuf::MissionPlan_TrailParam* IvPBehaviorUpdate_TrailUpdate::mutable_param() {
7826  // @@protoc_insertion_point(field_mutable:jaiabot.protobuf.IvPBehaviorUpdate.TrailUpdate.param)
7827  return _internal_mutable_param();
7828 }
7829 inline void IvPBehaviorUpdate_TrailUpdate::set_allocated_param(::jaiabot::protobuf::MissionPlan_TrailParam* param) {
7830  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
7831  if (message_arena == nullptr) {
7832  delete param_;
7833  }
7834  if (param) {
7835  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
7836  ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(param);
7837  if (message_arena != submessage_arena) {
7838  param = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
7839  message_arena, param, submessage_arena);
7840  }
7841  _has_bits_[0] |= 0x00000001u;
7842  } else {
7843  _has_bits_[0] &= ~0x00000001u;
7844  }
7845  param_ = param;
7846  // @@protoc_insertion_point(field_set_allocated:jaiabot.protobuf.IvPBehaviorUpdate.TrailUpdate.param)
7847 }
7848 
7849 // -------------------------------------------------------------------
7850 
7851 // IvPBehaviorUpdate_ContactUpdate
7852 
7853 // optional int32 contact = 1;
7854 inline bool IvPBehaviorUpdate_ContactUpdate::_internal_has_contact() const {
7855  bool value = (_has_bits_[0] & 0x00000010u) != 0;
7856  return value;
7857 }
7858 inline bool IvPBehaviorUpdate_ContactUpdate::has_contact() const {
7859  return _internal_has_contact();
7860 }
7861 inline void IvPBehaviorUpdate_ContactUpdate::clear_contact() {
7862  contact_ = 0;
7863  _has_bits_[0] &= ~0x00000010u;
7864 }
7865 inline ::PROTOBUF_NAMESPACE_ID::int32 IvPBehaviorUpdate_ContactUpdate::_internal_contact() const {
7866  return contact_;
7867 }
7868 inline ::PROTOBUF_NAMESPACE_ID::int32 IvPBehaviorUpdate_ContactUpdate::contact() const {
7869  // @@protoc_insertion_point(field_get:jaiabot.protobuf.IvPBehaviorUpdate.ContactUpdate.contact)
7870  return _internal_contact();
7871 }
7872 inline void IvPBehaviorUpdate_ContactUpdate::_internal_set_contact(::PROTOBUF_NAMESPACE_ID::int32 value) {
7873  _has_bits_[0] |= 0x00000010u;
7874  contact_ = value;
7875 }
7876 inline void IvPBehaviorUpdate_ContactUpdate::set_contact(::PROTOBUF_NAMESPACE_ID::int32 value) {
7877  _internal_set_contact(value);
7878  // @@protoc_insertion_point(field_set:jaiabot.protobuf.IvPBehaviorUpdate.ContactUpdate.contact)
7879 }
7880 
7881 // optional double x = 2 [(.dccl.field) = {
7882 inline bool IvPBehaviorUpdate_ContactUpdate::_internal_has_x() const {
7883  bool value = (_has_bits_[0] & 0x00000001u) != 0;
7884  return value;
7885 }
7886 inline bool IvPBehaviorUpdate_ContactUpdate::has_x() const {
7887  return _internal_has_x();
7888 }
7889 inline void IvPBehaviorUpdate_ContactUpdate::clear_x() {
7890  x_ = 0;
7891  _has_bits_[0] &= ~0x00000001u;
7892 }
7893 inline double IvPBehaviorUpdate_ContactUpdate::_internal_x() const {
7894  return x_;
7895 }
7896 inline double IvPBehaviorUpdate_ContactUpdate::x() const {
7897  // @@protoc_insertion_point(field_get:jaiabot.protobuf.IvPBehaviorUpdate.ContactUpdate.x)
7898  return _internal_x();
7899 }
7900 inline void IvPBehaviorUpdate_ContactUpdate::_internal_set_x(double value) {
7901  _has_bits_[0] |= 0x00000001u;
7902  x_ = value;
7903 }
7904 inline void IvPBehaviorUpdate_ContactUpdate::set_x(double value) {
7905  _internal_set_x(value);
7906  // @@protoc_insertion_point(field_set:jaiabot.protobuf.IvPBehaviorUpdate.ContactUpdate.x)
7907 }
7908 
7909 // optional double y = 3 [(.dccl.field) = {
7910 inline bool IvPBehaviorUpdate_ContactUpdate::_internal_has_y() const {
7911  bool value = (_has_bits_[0] & 0x00000002u) != 0;
7912  return value;
7913 }
7914 inline bool IvPBehaviorUpdate_ContactUpdate::has_y() const {
7915  return _internal_has_y();
7916 }
7917 inline void IvPBehaviorUpdate_ContactUpdate::clear_y() {
7918  y_ = 0;
7919  _has_bits_[0] &= ~0x00000002u;
7920 }
7921 inline double IvPBehaviorUpdate_ContactUpdate::_internal_y() const {
7922  return y_;
7923 }
7924 inline double IvPBehaviorUpdate_ContactUpdate::y() const {
7925  // @@protoc_insertion_point(field_get:jaiabot.protobuf.IvPBehaviorUpdate.ContactUpdate.y)
7926  return _internal_y();
7927 }
7928 inline void IvPBehaviorUpdate_ContactUpdate::_internal_set_y(double value) {
7929  _has_bits_[0] |= 0x00000002u;
7930  y_ = value;
7931 }
7932 inline void IvPBehaviorUpdate_ContactUpdate::set_y(double value) {
7933  _internal_set_y(value);
7934  // @@protoc_insertion_point(field_set:jaiabot.protobuf.IvPBehaviorUpdate.ContactUpdate.y)
7935 }
7936 
7937 // optional double speed = 4 [(.dccl.field) = {
7938 inline bool IvPBehaviorUpdate_ContactUpdate::_internal_has_speed() const {
7939  bool value = (_has_bits_[0] & 0x00000004u) != 0;
7940  return value;
7941 }
7942 inline bool IvPBehaviorUpdate_ContactUpdate::has_speed() const {
7943  return _internal_has_speed();
7944 }
7945 inline void IvPBehaviorUpdate_ContactUpdate::clear_speed() {
7946  speed_ = 0;
7947  _has_bits_[0] &= ~0x00000004u;
7948 }
7949 inline double IvPBehaviorUpdate_ContactUpdate::_internal_speed() const {
7950  return speed_;
7951 }
7952 inline double IvPBehaviorUpdate_ContactUpdate::speed() const {
7953  // @@protoc_insertion_point(field_get:jaiabot.protobuf.IvPBehaviorUpdate.ContactUpdate.speed)
7954  return _internal_speed();
7955 }
7956 inline void IvPBehaviorUpdate_ContactUpdate::_internal_set_speed(double value) {
7957  _has_bits_[0] |= 0x00000004u;
7958  speed_ = value;
7959 }
7960 inline void IvPBehaviorUpdate_ContactUpdate::set_speed(double value) {
7961  _internal_set_speed(value);
7962  // @@protoc_insertion_point(field_set:jaiabot.protobuf.IvPBehaviorUpdate.ContactUpdate.speed)
7963 }
7964 
7965 // optional double heading_or_cog = 5 [(.dccl.field) = {
7966 inline bool IvPBehaviorUpdate_ContactUpdate::_internal_has_heading_or_cog() const {
7967  bool value = (_has_bits_[0] & 0x00000008u) != 0;
7968  return value;
7969 }
7970 inline bool IvPBehaviorUpdate_ContactUpdate::has_heading_or_cog() const {
7971  return _internal_has_heading_or_cog();
7972 }
7973 inline void IvPBehaviorUpdate_ContactUpdate::clear_heading_or_cog() {
7974  heading_or_cog_ = 0;
7975  _has_bits_[0] &= ~0x00000008u;
7976 }
7977 inline double IvPBehaviorUpdate_ContactUpdate::_internal_heading_or_cog() const {
7978  return heading_or_cog_;
7979 }
7980 inline double IvPBehaviorUpdate_ContactUpdate::heading_or_cog() const {
7981  // @@protoc_insertion_point(field_get:jaiabot.protobuf.IvPBehaviorUpdate.ContactUpdate.heading_or_cog)
7982  return _internal_heading_or_cog();
7983 }
7984 inline void IvPBehaviorUpdate_ContactUpdate::_internal_set_heading_or_cog(double value) {
7985  _has_bits_[0] |= 0x00000008u;
7986  heading_or_cog_ = value;
7987 }
7988 inline void IvPBehaviorUpdate_ContactUpdate::set_heading_or_cog(double value) {
7989  _internal_set_heading_or_cog(value);
7990  // @@protoc_insertion_point(field_set:jaiabot.protobuf.IvPBehaviorUpdate.ContactUpdate.heading_or_cog)
7991 }
7992 
7993 // -------------------------------------------------------------------
7994 
7995 // IvPBehaviorUpdate
7996 
7997 // .jaiabot.protobuf.IvPBehaviorUpdate.TransitUpdate transit = 1;
7998 inline bool IvPBehaviorUpdate::_internal_has_transit() const {
7999  return behavior_case() == kTransit;
8000 }
8001 inline bool IvPBehaviorUpdate::has_transit() const {
8002  return _internal_has_transit();
8003 }
8004 inline void IvPBehaviorUpdate::set_has_transit() {
8005  _oneof_case_[0] = kTransit;
8006 }
8007 inline void IvPBehaviorUpdate::clear_transit() {
8008  if (_internal_has_transit()) {
8009  if (GetArena() == nullptr) {
8010  delete behavior_.transit_;
8011  }
8012  clear_has_behavior();
8013  }
8014 }
8015 inline ::jaiabot::protobuf::IvPBehaviorUpdate_TransitUpdate* IvPBehaviorUpdate::release_transit() {
8016  // @@protoc_insertion_point(field_release:jaiabot.protobuf.IvPBehaviorUpdate.transit)
8017  if (_internal_has_transit()) {
8018  clear_has_behavior();
8019  ::jaiabot::protobuf::IvPBehaviorUpdate_TransitUpdate* temp = behavior_.transit_;
8020  if (GetArena() != nullptr) {
8021  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
8022  }
8023  behavior_.transit_ = nullptr;
8024  return temp;
8025  } else {
8026  return nullptr;
8027  }
8028 }
8029 inline const ::jaiabot::protobuf::IvPBehaviorUpdate_TransitUpdate& IvPBehaviorUpdate::_internal_transit() const {
8030  return _internal_has_transit()
8031  ? *behavior_.transit_
8032  : *reinterpret_cast< ::jaiabot::protobuf::IvPBehaviorUpdate_TransitUpdate*>(&::jaiabot::protobuf::_IvPBehaviorUpdate_TransitUpdate_default_instance_);
8033 }
8034 inline const ::jaiabot::protobuf::IvPBehaviorUpdate_TransitUpdate& IvPBehaviorUpdate::transit() const {
8035  // @@protoc_insertion_point(field_get:jaiabot.protobuf.IvPBehaviorUpdate.transit)
8036  return _internal_transit();
8037 }
8038 inline ::jaiabot::protobuf::IvPBehaviorUpdate_TransitUpdate* IvPBehaviorUpdate::unsafe_arena_release_transit() {
8039  // @@protoc_insertion_point(field_unsafe_arena_release:jaiabot.protobuf.IvPBehaviorUpdate.transit)
8040  if (_internal_has_transit()) {
8041  clear_has_behavior();
8042  ::jaiabot::protobuf::IvPBehaviorUpdate_TransitUpdate* temp = behavior_.transit_;
8043  behavior_.transit_ = nullptr;
8044  return temp;
8045  } else {
8046  return nullptr;
8047  }
8048 }
8049 inline void IvPBehaviorUpdate::unsafe_arena_set_allocated_transit(::jaiabot::protobuf::IvPBehaviorUpdate_TransitUpdate* transit) {
8050  clear_behavior();
8051  if (transit) {
8052  set_has_transit();
8053  behavior_.transit_ = transit;
8054  }
8055  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:jaiabot.protobuf.IvPBehaviorUpdate.transit)
8056 }
8057 inline ::jaiabot::protobuf::IvPBehaviorUpdate_TransitUpdate* IvPBehaviorUpdate::_internal_mutable_transit() {
8058  if (!_internal_has_transit()) {
8059  clear_behavior();
8060  set_has_transit();
8061  behavior_.transit_ = CreateMaybeMessage< ::jaiabot::protobuf::IvPBehaviorUpdate_TransitUpdate >(GetArena());
8062  }
8063  return behavior_.transit_;
8064 }
8065 inline ::jaiabot::protobuf::IvPBehaviorUpdate_TransitUpdate* IvPBehaviorUpdate::mutable_transit() {
8066  // @@protoc_insertion_point(field_mutable:jaiabot.protobuf.IvPBehaviorUpdate.transit)
8067  return _internal_mutable_transit();
8068 }
8069 
8070 // .jaiabot.protobuf.IvPBehaviorUpdate.StationkeepUpdate stationkeep = 2;
8071 inline bool IvPBehaviorUpdate::_internal_has_stationkeep() const {
8072  return behavior_case() == kStationkeep;
8073 }
8074 inline bool IvPBehaviorUpdate::has_stationkeep() const {
8075  return _internal_has_stationkeep();
8076 }
8077 inline void IvPBehaviorUpdate::set_has_stationkeep() {
8078  _oneof_case_[0] = kStationkeep;
8079 }
8080 inline void IvPBehaviorUpdate::clear_stationkeep() {
8081  if (_internal_has_stationkeep()) {
8082  if (GetArena() == nullptr) {
8083  delete behavior_.stationkeep_;
8084  }
8085  clear_has_behavior();
8086  }
8087 }
8088 inline ::jaiabot::protobuf::IvPBehaviorUpdate_StationkeepUpdate* IvPBehaviorUpdate::release_stationkeep() {
8089  // @@protoc_insertion_point(field_release:jaiabot.protobuf.IvPBehaviorUpdate.stationkeep)
8090  if (_internal_has_stationkeep()) {
8091  clear_has_behavior();
8092  ::jaiabot::protobuf::IvPBehaviorUpdate_StationkeepUpdate* temp = behavior_.stationkeep_;
8093  if (GetArena() != nullptr) {
8094  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
8095  }
8096  behavior_.stationkeep_ = nullptr;
8097  return temp;
8098  } else {
8099  return nullptr;
8100  }
8101 }
8102 inline const ::jaiabot::protobuf::IvPBehaviorUpdate_StationkeepUpdate& IvPBehaviorUpdate::_internal_stationkeep() const {
8103  return _internal_has_stationkeep()
8104  ? *behavior_.stationkeep_
8105  : *reinterpret_cast< ::jaiabot::protobuf::IvPBehaviorUpdate_StationkeepUpdate*>(&::jaiabot::protobuf::_IvPBehaviorUpdate_StationkeepUpdate_default_instance_);
8106 }
8107 inline const ::jaiabot::protobuf::IvPBehaviorUpdate_StationkeepUpdate& IvPBehaviorUpdate::stationkeep() const {
8108  // @@protoc_insertion_point(field_get:jaiabot.protobuf.IvPBehaviorUpdate.stationkeep)
8109  return _internal_stationkeep();
8110 }
8111 inline ::jaiabot::protobuf::IvPBehaviorUpdate_StationkeepUpdate* IvPBehaviorUpdate::unsafe_arena_release_stationkeep() {
8112  // @@protoc_insertion_point(field_unsafe_arena_release:jaiabot.protobuf.IvPBehaviorUpdate.stationkeep)
8113  if (_internal_has_stationkeep()) {
8114  clear_has_behavior();
8115  ::jaiabot::protobuf::IvPBehaviorUpdate_StationkeepUpdate* temp = behavior_.stationkeep_;
8116  behavior_.stationkeep_ = nullptr;
8117  return temp;
8118  } else {
8119  return nullptr;
8120  }
8121 }
8122 inline void IvPBehaviorUpdate::unsafe_arena_set_allocated_stationkeep(::jaiabot::protobuf::IvPBehaviorUpdate_StationkeepUpdate* stationkeep) {
8123  clear_behavior();
8124  if (stationkeep) {
8125  set_has_stationkeep();
8126  behavior_.stationkeep_ = stationkeep;
8127  }
8128  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:jaiabot.protobuf.IvPBehaviorUpdate.stationkeep)
8129 }
8130 inline ::jaiabot::protobuf::IvPBehaviorUpdate_StationkeepUpdate* IvPBehaviorUpdate::_internal_mutable_stationkeep() {
8131  if (!_internal_has_stationkeep()) {
8132  clear_behavior();
8133  set_has_stationkeep();
8134  behavior_.stationkeep_ = CreateMaybeMessage< ::jaiabot::protobuf::IvPBehaviorUpdate_StationkeepUpdate >(GetArena());
8135  }
8136  return behavior_.stationkeep_;
8137 }
8138 inline ::jaiabot::protobuf::IvPBehaviorUpdate_StationkeepUpdate* IvPBehaviorUpdate::mutable_stationkeep() {
8139  // @@protoc_insertion_point(field_mutable:jaiabot.protobuf.IvPBehaviorUpdate.stationkeep)
8140  return _internal_mutable_stationkeep();
8141 }
8142 
8143 // .jaiabot.protobuf.IvPBehaviorUpdate.ConstantHeadingUpdate constantHeading = 3;
8144 inline bool IvPBehaviorUpdate::_internal_has_constantheading() const {
8145  return behavior_case() == kConstantHeading;
8146 }
8147 inline bool IvPBehaviorUpdate::has_constantheading() const {
8148  return _internal_has_constantheading();
8149 }
8150 inline void IvPBehaviorUpdate::set_has_constantheading() {
8151  _oneof_case_[0] = kConstantHeading;
8152 }
8153 inline void IvPBehaviorUpdate::clear_constantheading() {
8154  if (_internal_has_constantheading()) {
8155  if (GetArena() == nullptr) {
8156  delete behavior_.constantheading_;
8157  }
8158  clear_has_behavior();
8159  }
8160 }
8161 inline ::jaiabot::protobuf::IvPBehaviorUpdate_ConstantHeadingUpdate* IvPBehaviorUpdate::release_constantheading() {
8162  // @@protoc_insertion_point(field_release:jaiabot.protobuf.IvPBehaviorUpdate.constantHeading)
8163  if (_internal_has_constantheading()) {
8164  clear_has_behavior();
8165  ::jaiabot::protobuf::IvPBehaviorUpdate_ConstantHeadingUpdate* temp = behavior_.constantheading_;
8166  if (GetArena() != nullptr) {
8167  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
8168  }
8169  behavior_.constantheading_ = nullptr;
8170  return temp;
8171  } else {
8172  return nullptr;
8173  }
8174 }
8175 inline const ::jaiabot::protobuf::IvPBehaviorUpdate_ConstantHeadingUpdate& IvPBehaviorUpdate::_internal_constantheading() const {
8176  return _internal_has_constantheading()
8177  ? *behavior_.constantheading_
8178  : *reinterpret_cast< ::jaiabot::protobuf::IvPBehaviorUpdate_ConstantHeadingUpdate*>(&::jaiabot::protobuf::_IvPBehaviorUpdate_ConstantHeadingUpdate_default_instance_);
8179 }
8180 inline const ::jaiabot::protobuf::IvPBehaviorUpdate_ConstantHeadingUpdate& IvPBehaviorUpdate::constantheading() const {
8181  // @@protoc_insertion_point(field_get:jaiabot.protobuf.IvPBehaviorUpdate.constantHeading)
8182  return _internal_constantheading();
8183 }
8184 inline ::jaiabot::protobuf::IvPBehaviorUpdate_ConstantHeadingUpdate* IvPBehaviorUpdate::unsafe_arena_release_constantheading() {
8185  // @@protoc_insertion_point(field_unsafe_arena_release:jaiabot.protobuf.IvPBehaviorUpdate.constantHeading)
8186  if (_internal_has_constantheading()) {
8187  clear_has_behavior();
8188  ::jaiabot::protobuf::IvPBehaviorUpdate_ConstantHeadingUpdate* temp = behavior_.constantheading_;
8189  behavior_.constantheading_ = nullptr;
8190  return temp;
8191  } else {
8192  return nullptr;
8193  }
8194 }
8195 inline void IvPBehaviorUpdate::unsafe_arena_set_allocated_constantheading(::jaiabot::protobuf::IvPBehaviorUpdate_ConstantHeadingUpdate* constantheading) {
8196  clear_behavior();
8197  if (constantheading) {
8198  set_has_constantheading();
8199  behavior_.constantheading_ = constantheading;
8200  }
8201  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:jaiabot.protobuf.IvPBehaviorUpdate.constantHeading)
8202 }
8203 inline ::jaiabot::protobuf::IvPBehaviorUpdate_ConstantHeadingUpdate* IvPBehaviorUpdate::_internal_mutable_constantheading() {
8204  if (!_internal_has_constantheading()) {
8205  clear_behavior();
8206  set_has_constantheading();
8207  behavior_.constantheading_ = CreateMaybeMessage< ::jaiabot::protobuf::IvPBehaviorUpdate_ConstantHeadingUpdate >(GetArena());
8208  }
8209  return behavior_.constantheading_;
8210 }
8211 inline ::jaiabot::protobuf::IvPBehaviorUpdate_ConstantHeadingUpdate* IvPBehaviorUpdate::mutable_constantheading() {
8212  // @@protoc_insertion_point(field_mutable:jaiabot.protobuf.IvPBehaviorUpdate.constantHeading)
8213  return _internal_mutable_constantheading();
8214 }
8215 
8216 // .jaiabot.protobuf.IvPBehaviorUpdate.ConstantSpeedUpdate constantSpeed = 4;
8217 inline bool IvPBehaviorUpdate::_internal_has_constantspeed() const {
8218  return behavior_case() == kConstantSpeed;
8219 }
8220 inline bool IvPBehaviorUpdate::has_constantspeed() const {
8221  return _internal_has_constantspeed();
8222 }
8223 inline void IvPBehaviorUpdate::set_has_constantspeed() {
8224  _oneof_case_[0] = kConstantSpeed;
8225 }
8226 inline void IvPBehaviorUpdate::clear_constantspeed() {
8227  if (_internal_has_constantspeed()) {
8228  if (GetArena() == nullptr) {
8229  delete behavior_.constantspeed_;
8230  }
8231  clear_has_behavior();
8232  }
8233 }
8234 inline ::jaiabot::protobuf::IvPBehaviorUpdate_ConstantSpeedUpdate* IvPBehaviorUpdate::release_constantspeed() {
8235  // @@protoc_insertion_point(field_release:jaiabot.protobuf.IvPBehaviorUpdate.constantSpeed)
8236  if (_internal_has_constantspeed()) {
8237  clear_has_behavior();
8238  ::jaiabot::protobuf::IvPBehaviorUpdate_ConstantSpeedUpdate* temp = behavior_.constantspeed_;
8239  if (GetArena() != nullptr) {
8240  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
8241  }
8242  behavior_.constantspeed_ = nullptr;
8243  return temp;
8244  } else {
8245  return nullptr;
8246  }
8247 }
8248 inline const ::jaiabot::protobuf::IvPBehaviorUpdate_ConstantSpeedUpdate& IvPBehaviorUpdate::_internal_constantspeed() const {
8249  return _internal_has_constantspeed()
8250  ? *behavior_.constantspeed_
8251  : *reinterpret_cast< ::jaiabot::protobuf::IvPBehaviorUpdate_ConstantSpeedUpdate*>(&::jaiabot::protobuf::_IvPBehaviorUpdate_ConstantSpeedUpdate_default_instance_);
8252 }
8253 inline const ::jaiabot::protobuf::IvPBehaviorUpdate_ConstantSpeedUpdate& IvPBehaviorUpdate::constantspeed() const {
8254  // @@protoc_insertion_point(field_get:jaiabot.protobuf.IvPBehaviorUpdate.constantSpeed)
8255  return _internal_constantspeed();
8256 }
8257 inline ::jaiabot::protobuf::IvPBehaviorUpdate_ConstantSpeedUpdate* IvPBehaviorUpdate::unsafe_arena_release_constantspeed() {
8258  // @@protoc_insertion_point(field_unsafe_arena_release:jaiabot.protobuf.IvPBehaviorUpdate.constantSpeed)
8259  if (_internal_has_constantspeed()) {
8260  clear_has_behavior();
8261  ::jaiabot::protobuf::IvPBehaviorUpdate_ConstantSpeedUpdate* temp = behavior_.constantspeed_;
8262  behavior_.constantspeed_ = nullptr;
8263  return temp;
8264  } else {
8265  return nullptr;
8266  }
8267 }
8268 inline void IvPBehaviorUpdate::unsafe_arena_set_allocated_constantspeed(::jaiabot::protobuf::IvPBehaviorUpdate_ConstantSpeedUpdate* constantspeed) {
8269  clear_behavior();
8270  if (constantspeed) {
8271  set_has_constantspeed();
8272  behavior_.constantspeed_ = constantspeed;
8273  }
8274  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:jaiabot.protobuf.IvPBehaviorUpdate.constantSpeed)
8275 }
8276 inline ::jaiabot::protobuf::IvPBehaviorUpdate_ConstantSpeedUpdate* IvPBehaviorUpdate::_internal_mutable_constantspeed() {
8277  if (!_internal_has_constantspeed()) {
8278  clear_behavior();
8279  set_has_constantspeed();
8280  behavior_.constantspeed_ = CreateMaybeMessage< ::jaiabot::protobuf::IvPBehaviorUpdate_ConstantSpeedUpdate >(GetArena());
8281  }
8282  return behavior_.constantspeed_;
8283 }
8284 inline ::jaiabot::protobuf::IvPBehaviorUpdate_ConstantSpeedUpdate* IvPBehaviorUpdate::mutable_constantspeed() {
8285  // @@protoc_insertion_point(field_mutable:jaiabot.protobuf.IvPBehaviorUpdate.constantSpeed)
8286  return _internal_mutable_constantspeed();
8287 }
8288 
8289 // .jaiabot.protobuf.IvPBehaviorUpdate.TrailUpdate trail = 5;
8290 inline bool IvPBehaviorUpdate::_internal_has_trail() const {
8291  return behavior_case() == kTrail;
8292 }
8293 inline bool IvPBehaviorUpdate::has_trail() const {
8294  return _internal_has_trail();
8295 }
8296 inline void IvPBehaviorUpdate::set_has_trail() {
8297  _oneof_case_[0] = kTrail;
8298 }
8299 inline void IvPBehaviorUpdate::clear_trail() {
8300  if (_internal_has_trail()) {
8301  if (GetArena() == nullptr) {
8302  delete behavior_.trail_;
8303  }
8304  clear_has_behavior();
8305  }
8306 }
8307 inline ::jaiabot::protobuf::IvPBehaviorUpdate_TrailUpdate* IvPBehaviorUpdate::release_trail() {
8308  // @@protoc_insertion_point(field_release:jaiabot.protobuf.IvPBehaviorUpdate.trail)
8309  if (_internal_has_trail()) {
8310  clear_has_behavior();
8311  ::jaiabot::protobuf::IvPBehaviorUpdate_TrailUpdate* temp = behavior_.trail_;
8312  if (GetArena() != nullptr) {
8313  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
8314  }
8315  behavior_.trail_ = nullptr;
8316  return temp;
8317  } else {
8318  return nullptr;
8319  }
8320 }
8321 inline const ::jaiabot::protobuf::IvPBehaviorUpdate_TrailUpdate& IvPBehaviorUpdate::_internal_trail() const {
8322  return _internal_has_trail()
8323  ? *behavior_.trail_
8324  : *reinterpret_cast< ::jaiabot::protobuf::IvPBehaviorUpdate_TrailUpdate*>(&::jaiabot::protobuf::_IvPBehaviorUpdate_TrailUpdate_default_instance_);
8325 }
8326 inline const ::jaiabot::protobuf::IvPBehaviorUpdate_TrailUpdate& IvPBehaviorUpdate::trail() const {
8327  // @@protoc_insertion_point(field_get:jaiabot.protobuf.IvPBehaviorUpdate.trail)
8328  return _internal_trail();
8329 }
8330 inline ::jaiabot::protobuf::IvPBehaviorUpdate_TrailUpdate* IvPBehaviorUpdate::unsafe_arena_release_trail() {
8331  // @@protoc_insertion_point(field_unsafe_arena_release:jaiabot.protobuf.IvPBehaviorUpdate.trail)
8332  if (_internal_has_trail()) {
8333  clear_has_behavior();
8334  ::jaiabot::protobuf::IvPBehaviorUpdate_TrailUpdate* temp = behavior_.trail_;
8335  behavior_.trail_ = nullptr;
8336  return temp;
8337  } else {
8338  return nullptr;
8339  }
8340 }
8341 inline void IvPBehaviorUpdate::unsafe_arena_set_allocated_trail(::jaiabot::protobuf::IvPBehaviorUpdate_TrailUpdate* trail) {
8342  clear_behavior();
8343  if (trail) {
8344  set_has_trail();
8345  behavior_.trail_ = trail;
8346  }
8347  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:jaiabot.protobuf.IvPBehaviorUpdate.trail)
8348 }
8349 inline ::jaiabot::protobuf::IvPBehaviorUpdate_TrailUpdate* IvPBehaviorUpdate::_internal_mutable_trail() {
8350  if (!_internal_has_trail()) {
8351  clear_behavior();
8352  set_has_trail();
8353  behavior_.trail_ = CreateMaybeMessage< ::jaiabot::protobuf::IvPBehaviorUpdate_TrailUpdate >(GetArena());
8354  }
8355  return behavior_.trail_;
8356 }
8357 inline ::jaiabot::protobuf::IvPBehaviorUpdate_TrailUpdate* IvPBehaviorUpdate::mutable_trail() {
8358  // @@protoc_insertion_point(field_mutable:jaiabot.protobuf.IvPBehaviorUpdate.trail)
8359  return _internal_mutable_trail();
8360 }
8361 
8362 // .jaiabot.protobuf.IvPBehaviorUpdate.ContactUpdate contact = 6;
8363 inline bool IvPBehaviorUpdate::_internal_has_contact() const {
8364  return behavior_case() == kContact;
8365 }
8366 inline bool IvPBehaviorUpdate::has_contact() const {
8367  return _internal_has_contact();
8368 }
8369 inline void IvPBehaviorUpdate::set_has_contact() {
8370  _oneof_case_[0] = kContact;
8371 }
8372 inline void IvPBehaviorUpdate::clear_contact() {
8373  if (_internal_has_contact()) {
8374  if (GetArena() == nullptr) {
8375  delete behavior_.contact_;
8376  }
8377  clear_has_behavior();
8378  }
8379 }
8380 inline ::jaiabot::protobuf::IvPBehaviorUpdate_ContactUpdate* IvPBehaviorUpdate::release_contact() {
8381  // @@protoc_insertion_point(field_release:jaiabot.protobuf.IvPBehaviorUpdate.contact)
8382  if (_internal_has_contact()) {
8383  clear_has_behavior();
8384  ::jaiabot::protobuf::IvPBehaviorUpdate_ContactUpdate* temp = behavior_.contact_;
8385  if (GetArena() != nullptr) {
8386  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
8387  }
8388  behavior_.contact_ = nullptr;
8389  return temp;
8390  } else {
8391  return nullptr;
8392  }
8393 }
8394 inline const ::jaiabot::protobuf::IvPBehaviorUpdate_ContactUpdate& IvPBehaviorUpdate::_internal_contact() const {
8395  return _internal_has_contact()
8396  ? *behavior_.contact_
8397  : *reinterpret_cast< ::jaiabot::protobuf::IvPBehaviorUpdate_ContactUpdate*>(&::jaiabot::protobuf::_IvPBehaviorUpdate_ContactUpdate_default_instance_);
8398 }
8399 inline const ::jaiabot::protobuf::IvPBehaviorUpdate_ContactUpdate& IvPBehaviorUpdate::contact() const {
8400  // @@protoc_insertion_point(field_get:jaiabot.protobuf.IvPBehaviorUpdate.contact)
8401  return _internal_contact();
8402 }
8403 inline ::jaiabot::protobuf::IvPBehaviorUpdate_ContactUpdate* IvPBehaviorUpdate::unsafe_arena_release_contact() {
8404  // @@protoc_insertion_point(field_unsafe_arena_release:jaiabot.protobuf.IvPBehaviorUpdate.contact)
8405  if (_internal_has_contact()) {
8406  clear_has_behavior();
8407  ::jaiabot::protobuf::IvPBehaviorUpdate_ContactUpdate* temp = behavior_.contact_;
8408  behavior_.contact_ = nullptr;
8409  return temp;
8410  } else {
8411  return nullptr;
8412  }
8413 }
8414 inline void IvPBehaviorUpdate::unsafe_arena_set_allocated_contact(::jaiabot::protobuf::IvPBehaviorUpdate_ContactUpdate* contact) {
8415  clear_behavior();
8416  if (contact) {
8417  set_has_contact();
8418  behavior_.contact_ = contact;
8419  }
8420  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:jaiabot.protobuf.IvPBehaviorUpdate.contact)
8421 }
8422 inline ::jaiabot::protobuf::IvPBehaviorUpdate_ContactUpdate* IvPBehaviorUpdate::_internal_mutable_contact() {
8423  if (!_internal_has_contact()) {
8424  clear_behavior();
8425  set_has_contact();
8426  behavior_.contact_ = CreateMaybeMessage< ::jaiabot::protobuf::IvPBehaviorUpdate_ContactUpdate >(GetArena());
8427  }
8428  return behavior_.contact_;
8429 }
8430 inline ::jaiabot::protobuf::IvPBehaviorUpdate_ContactUpdate* IvPBehaviorUpdate::mutable_contact() {
8431  // @@protoc_insertion_point(field_mutable:jaiabot.protobuf.IvPBehaviorUpdate.contact)
8432  return _internal_mutable_contact();
8433 }
8434 
8435 inline bool IvPBehaviorUpdate::has_behavior() const {
8436  return behavior_case() != BEHAVIOR_NOT_SET;
8437 }
8438 inline void IvPBehaviorUpdate::clear_has_behavior() {
8439  _oneof_case_[0] = BEHAVIOR_NOT_SET;
8440 }
8441 inline IvPBehaviorUpdate::BehaviorCase IvPBehaviorUpdate::behavior_case() const {
8442  return IvPBehaviorUpdate::BehaviorCase(_oneof_case_[0]);
8443 }
8444 // -------------------------------------------------------------------
8445 
8446 // IvPBehaviorReport_TransitReport
8447 
8448 // optional bool waypoint_reached = 1 [default = false];
8449 inline bool IvPBehaviorReport_TransitReport::_internal_has_waypoint_reached() const {
8450  bool value = (_has_bits_[0] & 0x00000001u) != 0;
8451  return value;
8452 }
8453 inline bool IvPBehaviorReport_TransitReport::has_waypoint_reached() const {
8454  return _internal_has_waypoint_reached();
8455 }
8456 inline void IvPBehaviorReport_TransitReport::clear_waypoint_reached() {
8457  waypoint_reached_ = false;
8458  _has_bits_[0] &= ~0x00000001u;
8459 }
8460 inline bool IvPBehaviorReport_TransitReport::_internal_waypoint_reached() const {
8461  return waypoint_reached_;
8462 }
8463 inline bool IvPBehaviorReport_TransitReport::waypoint_reached() const {
8464  // @@protoc_insertion_point(field_get:jaiabot.protobuf.IvPBehaviorReport.TransitReport.waypoint_reached)
8465  return _internal_waypoint_reached();
8466 }
8467 inline void IvPBehaviorReport_TransitReport::_internal_set_waypoint_reached(bool value) {
8468  _has_bits_[0] |= 0x00000001u;
8469  waypoint_reached_ = value;
8470 }
8471 inline void IvPBehaviorReport_TransitReport::set_waypoint_reached(bool value) {
8472  _internal_set_waypoint_reached(value);
8473  // @@protoc_insertion_point(field_set:jaiabot.protobuf.IvPBehaviorReport.TransitReport.waypoint_reached)
8474 }
8475 
8476 // -------------------------------------------------------------------
8477 
8478 // IvPBehaviorReport
8479 
8480 // .jaiabot.protobuf.IvPBehaviorReport.TransitReport transit = 1;
8481 inline bool IvPBehaviorReport::_internal_has_transit() const {
8482  return behavior_case() == kTransit;
8483 }
8484 inline bool IvPBehaviorReport::has_transit() const {
8485  return _internal_has_transit();
8486 }
8487 inline void IvPBehaviorReport::set_has_transit() {
8488  _oneof_case_[0] = kTransit;
8489 }
8490 inline void IvPBehaviorReport::clear_transit() {
8491  if (_internal_has_transit()) {
8492  if (GetArena() == nullptr) {
8493  delete behavior_.transit_;
8494  }
8495  clear_has_behavior();
8496  }
8497 }
8498 inline ::jaiabot::protobuf::IvPBehaviorReport_TransitReport* IvPBehaviorReport::release_transit() {
8499  // @@protoc_insertion_point(field_release:jaiabot.protobuf.IvPBehaviorReport.transit)
8500  if (_internal_has_transit()) {
8501  clear_has_behavior();
8502  ::jaiabot::protobuf::IvPBehaviorReport_TransitReport* temp = behavior_.transit_;
8503  if (GetArena() != nullptr) {
8504  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
8505  }
8506  behavior_.transit_ = nullptr;
8507  return temp;
8508  } else {
8509  return nullptr;
8510  }
8511 }
8512 inline const ::jaiabot::protobuf::IvPBehaviorReport_TransitReport& IvPBehaviorReport::_internal_transit() const {
8513  return _internal_has_transit()
8514  ? *behavior_.transit_
8515  : *reinterpret_cast< ::jaiabot::protobuf::IvPBehaviorReport_TransitReport*>(&::jaiabot::protobuf::_IvPBehaviorReport_TransitReport_default_instance_);
8516 }
8517 inline const ::jaiabot::protobuf::IvPBehaviorReport_TransitReport& IvPBehaviorReport::transit() const {
8518  // @@protoc_insertion_point(field_get:jaiabot.protobuf.IvPBehaviorReport.transit)
8519  return _internal_transit();
8520 }
8521 inline ::jaiabot::protobuf::IvPBehaviorReport_TransitReport* IvPBehaviorReport::unsafe_arena_release_transit() {
8522  // @@protoc_insertion_point(field_unsafe_arena_release:jaiabot.protobuf.IvPBehaviorReport.transit)
8523  if (_internal_has_transit()) {
8524  clear_has_behavior();
8525  ::jaiabot::protobuf::IvPBehaviorReport_TransitReport* temp = behavior_.transit_;
8526  behavior_.transit_ = nullptr;
8527  return temp;
8528  } else {
8529  return nullptr;
8530  }
8531 }
8532 inline void IvPBehaviorReport::unsafe_arena_set_allocated_transit(::jaiabot::protobuf::IvPBehaviorReport_TransitReport* transit) {
8533  clear_behavior();
8534  if (transit) {
8535  set_has_transit();
8536  behavior_.transit_ = transit;
8537  }
8538  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:jaiabot.protobuf.IvPBehaviorReport.transit)
8539 }
8540 inline ::jaiabot::protobuf::IvPBehaviorReport_TransitReport* IvPBehaviorReport::_internal_mutable_transit() {
8541  if (!_internal_has_transit()) {
8542  clear_behavior();
8543  set_has_transit();
8544  behavior_.transit_ = CreateMaybeMessage< ::jaiabot::protobuf::IvPBehaviorReport_TransitReport >(GetArena());
8545  }
8546  return behavior_.transit_;
8547 }
8548 inline ::jaiabot::protobuf::IvPBehaviorReport_TransitReport* IvPBehaviorReport::mutable_transit() {
8549  // @@protoc_insertion_point(field_mutable:jaiabot.protobuf.IvPBehaviorReport.transit)
8550  return _internal_mutable_transit();
8551 }
8552 
8553 inline bool IvPBehaviorReport::has_behavior() const {
8554  return behavior_case() != BEHAVIOR_NOT_SET;
8555 }
8556 inline void IvPBehaviorReport::clear_has_behavior() {
8557  _oneof_case_[0] = BEHAVIOR_NOT_SET;
8558 }
8559 inline IvPBehaviorReport::BehaviorCase IvPBehaviorReport::behavior_case() const {
8560  return IvPBehaviorReport::BehaviorCase(_oneof_case_[0]);
8561 }
8562 // -------------------------------------------------------------------
8563 
8564 // MissionTpvMeetsGpsReq
8565 
8566 // optional .goby.middleware.protobuf.gpsd.TimePositionVelocity tpv = 1;
8567 inline bool MissionTpvMeetsGpsReq::_internal_has_tpv() const {
8568  bool value = (_has_bits_[0] & 0x00000001u) != 0;
8569  PROTOBUF_ASSUME(!value || tpv_ != nullptr);
8570  return value;
8571 }
8572 inline bool MissionTpvMeetsGpsReq::has_tpv() const {
8573  return _internal_has_tpv();
8574 }
8575 inline const ::goby::middleware::protobuf::gpsd::TimePositionVelocity& MissionTpvMeetsGpsReq::_internal_tpv() const {
8576  const ::goby::middleware::protobuf::gpsd::TimePositionVelocity* p = tpv_;
8577  return p != nullptr ? *p : *reinterpret_cast<const ::goby::middleware::protobuf::gpsd::TimePositionVelocity*>(
8578  &::goby::middleware::protobuf::gpsd::_TimePositionVelocity_default_instance_);
8579 }
8580 inline const ::goby::middleware::protobuf::gpsd::TimePositionVelocity& MissionTpvMeetsGpsReq::tpv() const {
8581  // @@protoc_insertion_point(field_get:jaiabot.protobuf.MissionTpvMeetsGpsReq.tpv)
8582  return _internal_tpv();
8583 }
8584 inline void MissionTpvMeetsGpsReq::unsafe_arena_set_allocated_tpv(
8585  ::goby::middleware::protobuf::gpsd::TimePositionVelocity* tpv) {
8586  if (GetArena() == nullptr) {
8587  delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(tpv_);
8588  }
8589  tpv_ = tpv;
8590  if (tpv) {
8591  _has_bits_[0] |= 0x00000001u;
8592  } else {
8593  _has_bits_[0] &= ~0x00000001u;
8594  }
8595  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:jaiabot.protobuf.MissionTpvMeetsGpsReq.tpv)
8596 }
8597 inline ::goby::middleware::protobuf::gpsd::TimePositionVelocity* MissionTpvMeetsGpsReq::release_tpv() {
8598  auto temp = unsafe_arena_release_tpv();
8599  if (GetArena() != nullptr) {
8600  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
8601  }
8602  return temp;
8603 }
8604 inline ::goby::middleware::protobuf::gpsd::TimePositionVelocity* MissionTpvMeetsGpsReq::unsafe_arena_release_tpv() {
8605  // @@protoc_insertion_point(field_release:jaiabot.protobuf.MissionTpvMeetsGpsReq.tpv)
8606  _has_bits_[0] &= ~0x00000001u;
8607  ::goby::middleware::protobuf::gpsd::TimePositionVelocity* temp = tpv_;
8608  tpv_ = nullptr;
8609  return temp;
8610 }
8611 inline ::goby::middleware::protobuf::gpsd::TimePositionVelocity* MissionTpvMeetsGpsReq::_internal_mutable_tpv() {
8612  _has_bits_[0] |= 0x00000001u;
8613  if (tpv_ == nullptr) {
8614  auto* p = CreateMaybeMessage<::goby::middleware::protobuf::gpsd::TimePositionVelocity>(GetArena());
8615  tpv_ = p;
8616  }
8617  return tpv_;
8618 }
8619 inline ::goby::middleware::protobuf::gpsd::TimePositionVelocity* MissionTpvMeetsGpsReq::mutable_tpv() {
8620  // @@protoc_insertion_point(field_mutable:jaiabot.protobuf.MissionTpvMeetsGpsReq.tpv)
8621  return _internal_mutable_tpv();
8622 }
8623 inline void MissionTpvMeetsGpsReq::set_allocated_tpv(::goby::middleware::protobuf::gpsd::TimePositionVelocity* tpv) {
8624  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
8625  if (message_arena == nullptr) {
8626  delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(tpv_);
8627  }
8628  if (tpv) {
8629  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
8630  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(tpv)->GetArena();
8631  if (message_arena != submessage_arena) {
8632  tpv = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
8633  message_arena, tpv, submessage_arena);
8634  }
8635  _has_bits_[0] |= 0x00000001u;
8636  } else {
8637  _has_bits_[0] &= ~0x00000001u;
8638  }
8639  tpv_ = tpv;
8640  // @@protoc_insertion_point(field_set_allocated:jaiabot.protobuf.MissionTpvMeetsGpsReq.tpv)
8641 }
8642 
8643 #ifdef __GNUC__
8644  #pragma GCC diagnostic pop
8645 #endif // __GNUC__
8646 // -------------------------------------------------------------------
8647 
8648 // -------------------------------------------------------------------
8649 
8650 // -------------------------------------------------------------------
8651 
8652 // -------------------------------------------------------------------
8653 
8654 // -------------------------------------------------------------------
8655 
8656 // -------------------------------------------------------------------
8657 
8658 // -------------------------------------------------------------------
8659 
8660 // -------------------------------------------------------------------
8661 
8662 // -------------------------------------------------------------------
8663 
8664 // -------------------------------------------------------------------
8665 
8666 // -------------------------------------------------------------------
8667 
8668 // -------------------------------------------------------------------
8669 
8670 // -------------------------------------------------------------------
8671 
8672 // -------------------------------------------------------------------
8673 
8674 // -------------------------------------------------------------------
8675 
8676 // -------------------------------------------------------------------
8677 
8678 // -------------------------------------------------------------------
8679 
8680 // -------------------------------------------------------------------
8681 
8682 // -------------------------------------------------------------------
8683 
8684 // -------------------------------------------------------------------
8685 
8686 // -------------------------------------------------------------------
8687 
8688 
8689 // @@protoc_insertion_point(namespace_scope)
8690 
8691 } // namespace protobuf
8692 } // namespace jaiabot
8693 
8694 PROTOBUF_NAMESPACE_OPEN
8695 
8696 template <> struct is_proto_enum< ::jaiabot::protobuf::MissionTask_TaskType> : ::std::true_type {};
8697 template <>
8698 inline const EnumDescriptor* GetEnumDescriptor< ::jaiabot::protobuf::MissionTask_TaskType>() {
8700 }
8701 template <> struct is_proto_enum< ::jaiabot::protobuf::MissionPlan_MissionStart> : ::std::true_type {};
8702 template <>
8703 inline const EnumDescriptor* GetEnumDescriptor< ::jaiabot::protobuf::MissionPlan_MissionStart>() {
8705 }
8706 template <> struct is_proto_enum< ::jaiabot::protobuf::MissionPlan_MovementType> : ::std::true_type {};
8707 template <>
8708 inline const EnumDescriptor* GetEnumDescriptor< ::jaiabot::protobuf::MissionPlan_MovementType>() {
8710 }
8711 template <> struct is_proto_enum< ::jaiabot::protobuf::MissionState> : ::std::true_type {};
8712 template <>
8713 inline const EnumDescriptor* GetEnumDescriptor< ::jaiabot::protobuf::MissionState>() {
8715 }
8716 
8717 PROTOBUF_NAMESPACE_CLOSE
8718 
8719 // @@protoc_insertion_point(global_scope)
8720 
8721 #include <google/protobuf/port_undef.inc>
8722 #endif // GOOGLE_PROTOBUF_INCLUDED_GOOGLE_PROTOBUF_INCLUDED_jaiabot_2fmessages_2fmission_2eproto
boost::units::unit< depth_interval_dimension, boost::units::si::system > depth_interval_unit
Definition: mission.pb.h:1218
static const MissionPlan_Goal & default_instance()
void set_y_with_units(Quantity value_w_units)
Definition: mission.pb.h:3315
::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::jaiabot::protobuf::MissionPlan_Goal > * mutable_goal()
IvPBehaviorUpdate_StationkeepUpdate & operator=(const IvPBehaviorUpdate_StationkeepUpdate &from)
Definition: mission.pb.h:3370
::jaiabot::protobuf::BottomDepthSafetyParams * mutable_bottom_depth_safety_params()
MissionPlan_TrailParam * New() const final
Definition: mission.pb.h:2559
boost::units::plane_angle_dimension heading_or_cog_dimension
Definition: mission.pb.h:4403
MissionPlan_Goal * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: mission.pb.h:2174
void Swap(MissionReport *other)
Definition: mission.pb.h:804
void CopyFrom(const MissionPlan_Recovery &from)
void Swap(IvPBehaviorUpdate_ConstantHeadingUpdate *other)
Definition: mission.pb.h:3696
boost::units::unit< constant_heading_dimension, boost::units::degree::system > constant_heading_unit
Definition: mission.pb.h:672
static const MissionPlan_Recovery * internal_default_instance()
Definition: mission.pb.h:2364
::jaiabot::protobuf::IvPBehaviorUpdate_ConstantSpeedUpdate * release_constantspeed()
::PROTOBUF_NAMESPACE_ID::int32 contact() const
MissionPlan_Recovery(::PROTOBUF_NAMESPACE_ID::Arena *arena)
Speeds & operator=(Speeds &&from) noexcept
Definition: mission.pb.h:315
boost::units::quantity< constant_heading_unit, double > constant_heading_with_units() const
Definition: mission.pb.h:682
IvPBehaviorUpdate_TransitUpdate * New() const final
Definition: mission.pb.h:3174
MissionTask_DiveParameters DiveParameters
Definition: mission.pb.h:1932
void CopyFrom(const MissionTask_ConstantHeadingParameters &from)
MissionTask * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: mission.pb.h:1889
void UnsafeArenaSwap(MissionTpvMeetsGpsReq *other)
Definition: mission.pb.h:5106
IvPBehaviorUpdate_ConstantHeadingUpdate(IvPBehaviorUpdate_ConstantHeadingUpdate &&from) noexcept
Definition: mission.pb.h:3649
boost::units::derived_dimension< boost::units::length_base_dimension, 1, boost::units::time_base_dimension,-1 >::type stationkeep_outer_dimension
Definition: mission.pb.h:461
IvPBehaviorUpdate_StationkeepUpdate(::PROTOBUF_NAMESPACE_ID::Arena *arena)
void UnsafeArenaSwap(IvPBehaviorUpdate_ContactUpdate *other)
Definition: mission.pb.h:4231
static const std::string & MovementType_Name(T enum_t_value)
Definition: mission.pb.h:2890
::jaiabot::protobuf::MissionTask_StationKeepParameters * unsafe_arena_release_station_keep()
MissionTpvMeetsGpsReq * New() const final
Definition: mission.pb.h:5114
void set_allocated_name(std::string *name)
MissionReport(const MissionReport &from)
void set_constant_heading_speed_with_units(Quantity value_w_units)
Definition: mission.pb.h:705
void set_angle_with_units(Quantity value_w_units)
Definition: mission.pb.h:2671
MissionReport * New() const final
Definition: mission.pb.h:820
static bool MovementType_Parse(const std::string &name, MovementType *value)
Definition: mission.pb.h:2896
static const MissionReport & default_instance()
IvPBehaviorUpdate_ConstantHeadingUpdate(::PROTOBUF_NAMESPACE_ID::Arena *arena)
MissionPlan(::PROTOBUF_NAMESPACE_ID::Arena *arena)
IvPBehaviorUpdate_TransitUpdate(IvPBehaviorUpdate_TransitUpdate &&from) noexcept
Definition: mission.pb.h:3111
MissionPlan_Recovery(MissionPlan_Recovery &&from) noexcept
Definition: mission.pb.h:2327
MissionTpvMeetsGpsReq & operator=(const MissionTpvMeetsGpsReq &from)
Definition: mission.pb.h:5056
IvPBehaviorUpdate_TransitUpdate & operator=(IvPBehaviorUpdate_TransitUpdate &&from) noexcept
Definition: mission.pb.h:3120
::jaiabot::protobuf::MissionPlan_Goal * add_goal()
Quantity depth_interval_with_units() const
Definition: mission.pb.h:1225
const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet & unknown_fields() const
Definition: mission.pb.h:324
::PROTOBUF_NAMESPACE_ID::int32 constant_heading_time() const
boost::units::length_dimension distance_to_active_goal_dimension
Definition: mission.pb.h:974
IvPBehaviorUpdate_ContactUpdate ContactUpdate
Definition: mission.pb.h:4570
::jaiabot::protobuf::MissionPlan_Recovery * unsafe_arena_release_recovery()
boost::units::quantity< constant_heading_time_unit, google::protobuf::int32 > constant_heading_time_with_units() const
Definition: mission.pb.h:697
boost::units::quantity< x_unit, double > x_with_units() const
Definition: mission.pb.h:3307
::jaiabot::protobuf::MissionTask_ConstantHeadingParameters * mutable_constant_heading()
Quantity station_keep_time_with_units() const
Definition: mission.pb.h:1795
MissionPlan_TrailParam(const MissionPlan_TrailParam &from)
::jaiabot::protobuf::IvPBehaviorUpdate_TrailUpdate * mutable_trail()
static bool MissionStart_IsValid(int value)
Definition: mission.pb.h:2844
static const IvPBehaviorUpdate_TrailUpdate & default_instance()
void MergeFrom(const MissionTask_ConstantHeadingParameters &from)
static const MissionPlan_Goal * internal_default_instance()
Definition: mission.pb.h:2144
void set_expected_fragments(::PROTOBUF_NAMESPACE_ID::uint32 value)
void MergeFrom(const MissionTask_StationKeepParameters &from)
void CopyFrom(const IvPBehaviorUpdate_StationkeepUpdate &from)
friend void swap(BottomDepthSafetyParams &a, BottomDepthSafetyParams &b)
Definition: mission.pb.h:544
boost::units::unit< drift_time_dimension, boost::units::si::system > drift_time_unit
Definition: mission.pb.h:1400
::jaiabot::protobuf::MissionPlan_MissionStart start() const
void set_allocated_trail(::jaiabot::protobuf::MissionPlan_TrailParam *trail)
void set_allocated_recovery(::jaiabot::protobuf::MissionPlan_Recovery *recovery)
const ::jaiabot::protobuf::MissionPlan_TrailParam & trail() const
MissionPlan & operator=(const MissionPlan &from)
Definition: mission.pb.h:2725
MissionPlan_TrailParam(::PROTOBUF_NAMESPACE_ID::Arena *arena)
::jaiabot::protobuf::GeographicCoordinate * mutable_location()
MissionTask_StationKeepParameters StationKeepParameters
Definition: mission.pb.h:1935
friend void swap(IvPBehaviorUpdate &a, IvPBehaviorUpdate &b)
Definition: mission.pb.h:4499
MissionPlan_Goal & operator=(const MissionPlan_Goal &from)
Definition: mission.pb.h:2112
void set_repeats(::PROTOBUF_NAMESPACE_ID::uint32 value)
boost::units::quantity< heading_unit, double > heading_with_units() const
Definition: mission.pb.h:3803
void Swap(IvPBehaviorUpdate_TrailUpdate *other)
Definition: mission.pb.h:4054
void set_constant_heading_with_units(Quantity value_w_units)
Definition: mission.pb.h:675
static const IvPBehaviorUpdate_ConstantSpeedUpdate & default_instance()
void MergeFrom(const Speeds &from)
::jaiabot::protobuf::MissionPlan_MovementType movement() const
void set_center_activate(bool value)
const ::jaiabot::protobuf::IvPBehaviorUpdate_ContactUpdate & contact() const
boost::units::quantity< heading_or_cog_unit, double > heading_or_cog_with_units() const
Definition: mission.pb.h:4417
void unsafe_arena_set_allocated_station_keep(::jaiabot::protobuf::MissionTask_StationKeepParameters *station_keep)
virtual ~IvPBehaviorUpdate_ConstantHeadingUpdate()
::jaiabot::protobuf::IvPBehaviorUpdate_ConstantSpeedUpdate * unsafe_arena_release_constantspeed()
BottomDepthSafetyParams(const BottomDepthSafetyParams &from)
MissionTask_ConstantHeadingParameters ConstantHeadingParameters
Definition: mission.pb.h:1934
void CopyFrom(const MissionTask_DiveParameters &from)
boost::units::derived_dimension< boost::units::length_base_dimension, 1, boost::units::time_base_dimension,-1 >::type outer_speed_dimension
Definition: mission.pb.h:3591
static const IvPBehaviorUpdate_TrailUpdate * internal_default_instance()
Definition: mission.pb.h:4044
Speeds(Speeds &&from) noexcept
Definition: mission.pb.h:306
Quantity constant_heading_with_units() const
Definition: mission.pb.h:679
MissionPlan_Recovery * New() const final
Definition: mission.pb.h:2390
static const MissionTask_StationKeepParameters * internal_default_instance()
Definition: mission.pb.h:1695
::PROTOBUF_NAMESPACE_ID::int32 data_offload_percentage() const
void MergeFrom(const IvPBehaviorUpdate_ContactUpdate &from)
MissionTask(const MissionTask &from)
const ::jaiabot::protobuf::GeographicCoordinate & active_goal_location() const
::jaiabot::protobuf::MissionPlan_TrailParam * release_trail()
::jaiabot::protobuf::MissionPlan_TrailParam * unsafe_arena_release_trail()
BottomDepthSafetyParams(BottomDepthSafetyParams &&from) noexcept
Definition: mission.pb.h:500
::jaiabot::protobuf::Speeds * mutable_speeds()
MissionTask_DriftParameters(MissionTask_DriftParameters &&from) noexcept
Definition: mission.pb.h:1270
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * MovementType_descriptor()
Definition: mission.pb.h:2886
boost::units::derived_dimension< boost::units::length_base_dimension, 1 >::type depth_interval_dimension
Definition: mission.pb.h:1214
boost::units::unit< hold_time_dimension, boost::units::si::system > hold_time_unit
Definition: mission.pb.h:1233
void UnsafeArenaSwap(MissionTask_ConstantHeadingParameters *other)
Definition: mission.pb.h:1489
void CopyFrom(const MissionReport &from)
boost::units::plane_angle_dimension angle_dimension
Definition: mission.pb.h:2666
IvPBehaviorUpdate_TrailUpdate * New() const final
Definition: mission.pb.h:4070
void set_heading_or_cog(double value)
IvPBehaviorUpdate_ConstantHeadingUpdate ConstantHeadingUpdate
Definition: mission.pb.h:4567
MissionReport & operator=(const MissionReport &from)
Definition: mission.pb.h:762
boost::units::quantity< y_unit, double > y_with_units() const
Definition: mission.pb.h:3322
void Swap(MissionTask_DriftParameters *other)
Definition: mission.pb.h:1317
void unsafe_arena_set_allocated_bottom_depth_safety_params(::jaiabot::protobuf::BottomDepthSafetyParams *bottom_depth_safety_params)
IvPBehaviorUpdate_ContactUpdate * New() const final
Definition: mission.pb.h:4239
static const MissionTask * internal_default_instance()
Definition: mission.pb.h:1859
void unsafe_arena_set_allocated_contact(::jaiabot::protobuf::IvPBehaviorUpdate_ContactUpdate *contact)
void set_depth_interval_with_units(Quantity value_w_units)
Definition: mission.pb.h:1221
boost::units::quantity< drift_time_unit, google::protobuf::int32 > drift_time_with_units() const
Definition: mission.pb.h:1410
MissionPlan_TrailParam(MissionPlan_TrailParam &&from) noexcept
Definition: mission.pb.h:2496
Quantity outer_speed_with_units() const
Definition: mission.pb.h:3602
IvPBehaviorUpdate_TransitUpdate(const IvPBehaviorUpdate_TransitUpdate &from)
void set_start(::jaiabot::protobuf::MissionPlan_MissionStart value)
boost::units::quantity< angle_unit, double > angle_with_units() const
Definition: mission.pb.h:2678
IvPBehaviorUpdate_TrailUpdate & operator=(const IvPBehaviorUpdate_TrailUpdate &from)
Definition: mission.pb.h:4012
void CopyFrom(const BottomDepthSafetyParams &from)
boost::units::unit< constant_heading_speed_dimension, boost::units::si::system > constant_heading_speed_unit
Definition: mission.pb.h:702
IvPBehaviorUpdate_ConstantHeadingUpdate & operator=(IvPBehaviorUpdate_ConstantHeadingUpdate &&from) noexcept
Definition: mission.pb.h:3658
::jaiabot::protobuf::MissionTask_ConstantHeadingParameters * unsafe_arena_release_constant_heading()
void set_constant_heading_time(::PROTOBUF_NAMESPACE_ID::int32 value)
::goby::middleware::protobuf::gpsd::TimePositionVelocity * release_tpv()
void set_constant_heading_speed(double value)
boost::units::unit< distance_to_active_goal_dimension, boost::units::si::system > distance_to_active_goal_unit
Definition: mission.pb.h:976
MissionPlan & operator=(MissionPlan &&from) noexcept
Definition: mission.pb.h:2729
MissionReport(::PROTOBUF_NAMESPACE_ID::Arena *arena)
static const MissionTask & default_instance()
MissionTask_DriftParameters(const MissionTask_DriftParameters &from)
void Swap(IvPBehaviorUpdate_ContactUpdate *other)
Definition: mission.pb.h:4223
IvPBehaviorReport_TransitReport TransitReport
Definition: mission.pb.h:4995
void Swap(MissionPlan *other)
Definition: mission.pb.h:2772
void Swap(IvPBehaviorUpdate_StationkeepUpdate *other)
Definition: mission.pb.h:3412
static bool MissionStart_Parse(const std::string &name, MissionStart *value)
Definition: mission.pb.h:2864
MissionTask_DiveParameters & operator=(MissionTask_DiveParameters &&from) noexcept
Definition: mission.pb.h:1040
void set_safety_depth(double value)
boost::units::unit< range_dimension, boost::units::si::system > range_unit
Definition: mission.pb.h:2683
void UnsafeArenaSwap(Speeds *other)
Definition: mission.pb.h:361
void set_allocated_station_keep(::jaiabot::protobuf::MissionTask_StationKeepParameters *station_keep)
::jaiabot::protobuf::IvPBehaviorUpdate_TransitUpdate * release_transit()
::jaiabot::protobuf::MissionPlan_TrailParam * release_param()
Quantity transit_with_units() const
Definition: mission.pb.h:457
IvPBehaviorUpdate_TransitUpdate(::PROTOBUF_NAMESPACE_ID::Arena *arena)
const ::goby::middleware::protobuf::gpsd::TimePositionVelocity & tpv() const
void set_allocated_bottom_depth_safety_params(::jaiabot::protobuf::BottomDepthSafetyParams *bottom_depth_safety_params)
void set_distance_to_active_goal(double value)
void unsafe_arena_set_allocated_constantheading(::jaiabot::protobuf::IvPBehaviorUpdate_ConstantHeadingUpdate *constantheading)
const ::jaiabot::protobuf::MissionTask_DiveParameters & dive() const
::PROTOBUF_NAMESPACE_ID::int32 station_keep_time() const
MissionTask_StationKeepParameters(MissionTask_StationKeepParameters &&from) noexcept
Definition: mission.pb.h:1658
IvPBehaviorUpdate_StationkeepUpdate(IvPBehaviorUpdate_StationkeepUpdate &&from) noexcept
Definition: mission.pb.h:3365
void set_allocated_transit(::jaiabot::protobuf::IvPBehaviorUpdate_TransitUpdate *transit)
void set_distance_to_active_goal_with_units(Quantity value_w_units)
Definition: mission.pb.h:979
void UnsafeArenaSwap(MissionPlan *other)
Definition: mission.pb.h:2780
void set_station_keep_time_with_units(Quantity value_w_units)
Definition: mission.pb.h:1791
static const MissionTask_DiveParameters & default_instance()
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
::jaiabot::protobuf::IvPBehaviorUpdate_StationkeepUpdate * release_stationkeep()
void CopyFrom(const IvPBehaviorUpdate &from)
void CopyFrom(const MissionTask &from)
MissionPlan_TrailParam & operator=(MissionPlan_TrailParam &&from) noexcept
Definition: mission.pb.h:2505
void set_heading_with_units(Quantity value_w_units)
Definition: mission.pb.h:3796
IvPBehaviorReport & operator=(const IvPBehaviorReport &from)
Definition: mission.pb.h:4885
static const MissionTask_ConstantHeadingParameters * internal_default_instance()
Definition: mission.pb.h:1471
const ::jaiabot::protobuf::IvPBehaviorUpdate_ConstantHeadingUpdate & constantheading() const
MissionTask_DriftParameters & operator=(const MissionTask_DriftParameters &from)
Definition: mission.pb.h:1275
void UnsafeArenaSwap(IvPBehaviorUpdate *other)
Definition: mission.pb.h:4510
const ::jaiabot::protobuf::BottomDepthSafetyParams & bottom_depth_safety_params() const
::jaiabot::protobuf::IvPBehaviorUpdate_StationkeepUpdate * mutable_stationkeep()
Speeds & operator=(const Speeds &from)
Definition: mission.pb.h:311
MissionPlan_TrailParam * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: mission.pb.h:2563
boost::units::unit< y_dimension, boost::units::si::system > y_unit
Definition: mission.pb.h:3312
MissionTask_DriftParameters * New() const final
Definition: mission.pb.h:1333
IvPBehaviorReport(const IvPBehaviorReport &from)
void CopyFrom(const MissionTask_DriftParameters &from)
void set_repeat_index(::PROTOBUF_NAMESPACE_ID::int32 value)
void MergeFrom(const IvPBehaviorUpdate &from)
MissionPlan(MissionPlan &&from) noexcept
Definition: mission.pb.h:2720
void set_allocated_constantspeed(::jaiabot::protobuf::IvPBehaviorUpdate_ConstantSpeedUpdate *constantspeed)
void UnsafeArenaSwap(MissionPlan_TrailParam *other)
Definition: mission.pb.h:2551
void unsafe_arena_set_allocated_recovery(::jaiabot::protobuf::MissionPlan_Recovery *recovery)
void set_transit_speed(double value)
IvPBehaviorUpdate_ContactUpdate & operator=(const IvPBehaviorUpdate_ContactUpdate &from)
Definition: mission.pb.h:4181
IvPBehaviorUpdate(::PROTOBUF_NAMESPACE_ID::Arena *arena)
IvPBehaviorUpdate(IvPBehaviorUpdate &&from) noexcept
Definition: mission.pb.h:4445
static const MissionTpvMeetsGpsReq & default_instance()
boost::units::quantity< hold_time_unit, double > hold_time_with_units() const
Definition: mission.pb.h:1243
boost::units::derived_dimension< boost::units::length_base_dimension, 1, boost::units::time_base_dimension,-1 >::type constant_heading_speed_dimension
Definition: mission.pb.h:698
static const MissionTpvMeetsGpsReq * internal_default_instance()
Definition: mission.pb.h:5088
IvPBehaviorUpdate_ConstantSpeedUpdate & operator=(IvPBehaviorUpdate_ConstantSpeedUpdate &&from) noexcept
Definition: mission.pb.h:3837
void set_hold_time_with_units(Quantity value_w_units)
Definition: mission.pb.h:1236
void unsafe_arena_set_allocated_active_goal_location(::jaiabot::protobuf::GeographicCoordinate *active_goal_location)
::jaiabot::protobuf::GeographicCoordinate * mutable_active_goal_location()
void set_station_keep_time(::PROTOBUF_NAMESPACE_ID::int32 value)
void UnsafeArenaSwap(IvPBehaviorUpdate_ConstantSpeedUpdate *other)
Definition: mission.pb.h:3883
::jaiabot::protobuf::MissionTask_DriftParameters * release_surface_drift()
::jaiabot::protobuf::MissionState state() const
void Swap(MissionTask_StationKeepParameters *other)
Definition: mission.pb.h:1705
IvPBehaviorUpdate & operator=(const IvPBehaviorUpdate &from)
Definition: mission.pb.h:4450
::jaiabot::protobuf::MissionPlan_TrailParam * mutable_trail()
::jaiabot::protobuf::IvPBehaviorUpdate_ConstantSpeedUpdate * mutable_constantspeed()
IvPBehaviorUpdate_TransitUpdate * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: mission.pb.h:3178
Quantity safety_depth_with_units() const
Definition: mission.pb.h:724
const ::jaiabot::protobuf::Speeds & speeds() const
::jaiabot::protobuf::MissionTask_DiveParameters * release_dive()
void set_transit_speed_with_units(Quantity value_w_units)
Definition: mission.pb.h:3613
::jaiabot::protobuf::IvPBehaviorUpdate_TransitUpdate * mutable_transit()
void CopyFrom(const MissionPlan_Goal &from)
boost::units::quantity< outer_speed_unit, double > outer_speed_with_units() const
Definition: mission.pb.h:3605
void CopyFrom(const IvPBehaviorUpdate_ContactUpdate &from)
MissionPlan_Goal(MissionPlan_Goal &&from) noexcept
Definition: mission.pb.h:2107
const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::jaiabot::protobuf::MissionPlan_Goal > & goal() const
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
static const IvPBehaviorUpdate_StationkeepUpdate & default_instance()
void set_waypoint_reached(bool value)
::goby::middleware::protobuf::gpsd::TimePositionVelocity * mutable_tpv()
friend void swap(IvPBehaviorReport &a, IvPBehaviorReport &b)
Definition: mission.pb.h:4929
void MergeFrom(const IvPBehaviorUpdate_TransitUpdate &from)
Quantity constant_heading_speed_with_units() const
Definition: mission.pb.h:709
::jaiabot::protobuf::BottomDepthSafetyParams * release_bottom_depth_safety_params()
MissionTask_StationKeepParameters * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: mission.pb.h:1725
void set_max_depth_with_units(Quantity value_w_units)
Definition: mission.pb.h:1206
void CopyFrom(const IvPBehaviorReport &from)
IvPBehaviorUpdate_StationkeepUpdate StationkeepUpdate
Definition: mission.pb.h:4566
IvPBehaviorReport_TransitReport & operator=(const IvPBehaviorReport_TransitReport &from)
Definition: mission.pb.h:4736
MissionTask_ConstantHeadingParameters & operator=(MissionTask_ConstantHeadingParameters &&from) noexcept
Definition: mission.pb.h:1443
friend void swap(MissionTask_StationKeepParameters &a, MissionTask_StationKeepParameters &b)
Definition: mission.pb.h:1702
static const IvPBehaviorUpdate * internal_default_instance()
Definition: mission.pb.h:4492
void set_allocated_constantheading(::jaiabot::protobuf::IvPBehaviorUpdate_ConstantHeadingUpdate *constantheading)
void unsafe_arena_set_allocated_stationkeep(::jaiabot::protobuf::IvPBehaviorUpdate_StationkeepUpdate *stationkeep)
void set_allocated_param(::jaiabot::protobuf::MissionPlan_TrailParam *param)
::PROTOBUF_NAMESPACE_ID::uint32 fragment_index() const
void set_active_goal_timeout(::PROTOBUF_NAMESPACE_ID::uint32 value)
static const MissionPlan & default_instance()
MissionPlan_TrailParam & operator=(const MissionPlan_TrailParam &from)
Definition: mission.pb.h:2501
IvPBehaviorUpdate & operator=(IvPBehaviorUpdate &&from) noexcept
Definition: mission.pb.h:4454
const ::jaiabot::protobuf::GeographicCoordinate & location() const
IvPBehaviorUpdate_ContactUpdate(IvPBehaviorUpdate_ContactUpdate &&from) noexcept
Definition: mission.pb.h:4176
void set_name(const char *value)
::jaiabot::protobuf::IvPBehaviorUpdate_ConstantHeadingUpdate * release_constantheading()
friend void swap(MissionTask &a, MissionTask &b)
Definition: mission.pb.h:1866
boost::units::unit< x_dimension, boost::units::si::system > x_unit
Definition: mission.pb.h:3297
friend void swap(IvPBehaviorUpdate_TransitUpdate &a, IvPBehaviorUpdate_TransitUpdate &b)
Definition: mission.pb.h:3155
boost::units::plane_angle_dimension heading_dimension
Definition: mission.pb.h:3791
boost::units::quantity< transit_unit, double > transit_with_units() const
Definition: mission.pb.h:460
MissionTpvMeetsGpsReq(const MissionTpvMeetsGpsReq &from)
IvPBehaviorUpdate_StationkeepUpdate & operator=(IvPBehaviorUpdate_StationkeepUpdate &&from) noexcept
Definition: mission.pb.h:3374
static const MissionTask_DriftParameters & default_instance()
::jaiabot::protobuf::GeographicCoordinate * release_location()
boost::units::quantity< depth_interval_unit, double > depth_interval_with_units() const
Definition: mission.pb.h:1228
BottomDepthSafetyParams & operator=(const BottomDepthSafetyParams &from)
Definition: mission.pb.h:505
MissionTask * New() const final
Definition: mission.pb.h:1885
::PROTOBUF_NAMESPACE_ID::uint32 repeats() const
void Swap(MissionPlan_Recovery *other)
Definition: mission.pb.h:2374
IvPBehaviorUpdate * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: mission.pb.h:4522
MissionTask_DiveParameters(::PROTOBUF_NAMESPACE_ID::Arena *arena)
void UnsafeArenaSwap(MissionPlan_Recovery *other)
Definition: mission.pb.h:2382
boost::units::derived_dimension< boost::units::length_base_dimension, 1, boost::units::time_base_dimension,-1 >::type transit_dimension
Definition: mission.pb.h:448
IvPBehaviorUpdate * New() const final
Definition: mission.pb.h:4518
void CopyFrom(const MissionPlan &from)
Quantity stationkeep_outer_with_units() const
Definition: mission.pb.h:472
void set_depth_interval(double value)
IvPBehaviorUpdate_ContactUpdate * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: mission.pb.h:4243
void unsafe_arena_set_allocated_trail(::jaiabot::protobuf::IvPBehaviorUpdate_TrailUpdate *trail)
const ::jaiabot::protobuf::IvPBehaviorUpdate_StationkeepUpdate & stationkeep() const
void UnsafeArenaSwap(BottomDepthSafetyParams *other)
Definition: mission.pb.h:555
MissionPlan_Goal(::PROTOBUF_NAMESPACE_ID::Arena *arena)
boost::units::quantity< distance_to_active_goal_unit, double > distance_to_active_goal_with_units() const
Definition: mission.pb.h:986
void set_allocated_constant_heading(::jaiabot::protobuf::MissionTask_ConstantHeadingParameters *constant_heading)
boost::units::derived_dimension< boost::units::length_base_dimension, 1, boost::units::time_base_dimension,-1 >::type transit_speed_dimension
Definition: mission.pb.h:3606
IvPBehaviorReport_TransitReport(IvPBehaviorReport_TransitReport &&from) noexcept
Definition: mission.pb.h:4731
void UnsafeArenaSwap(MissionTask_DriftParameters *other)
Definition: mission.pb.h:1325
IvPBehaviorUpdate_TrailUpdate * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: mission.pb.h:4074
Quantity hold_time_with_units() const
Definition: mission.pb.h:1240
void Swap(MissionTask *other)
Definition: mission.pb.h:1869
void set_name(std::string &&value)
static const IvPBehaviorUpdate_ConstantSpeedUpdate * internal_default_instance()
Definition: mission.pb.h:3865
inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet * mutable_unknown_fields()
Definition: mission.pb.h:327
void set_state(::jaiabot::protobuf::MissionState value)
Speeds * New() const final
Definition: mission.pb.h:369
boost::units::unit< heading_or_cog_dimension, boost::units::degree::system > heading_or_cog_unit
Definition: mission.pb.h:4407
boost::units::unit< angle_dimension, boost::units::degree::system > angle_unit
Definition: mission.pb.h:2668
IvPBehaviorUpdate_TrailUpdate(::PROTOBUF_NAMESPACE_ID::Arena *arena)
void CopyFrom(const MissionPlan_TrailParam &from)
::jaiabot::protobuf::MissionTask_StationKeepParameters * release_station_keep()
MissionPlan_TrailParam TrailParam
Definition: mission.pb.h:2837
MissionTpvMeetsGpsReq * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: mission.pb.h:5118
static const IvPBehaviorUpdate_ConstantHeadingUpdate & default_instance()
static const Speeds & default_instance()
void set_name(const char *value, size_t size)
static const IvPBehaviorUpdate_ConstantHeadingUpdate * internal_default_instance()
Definition: mission.pb.h:3686
void unsafe_arena_set_allocated_dive(::jaiabot::protobuf::MissionTask_DiveParameters *dive)
::jaiabot::protobuf::BottomDepthSafetyParams * unsafe_arena_release_bottom_depth_safety_params()
Speeds(::PROTOBUF_NAMESPACE_ID::Arena *arena)
static const IvPBehaviorUpdate_StationkeepUpdate * internal_default_instance()
Definition: mission.pb.h:3402
void set_drift_time(::PROTOBUF_NAMESPACE_ID::int32 value)
void MergeFrom(const BottomDepthSafetyParams &from)
static const MissionPlan * internal_default_instance()
Definition: mission.pb.h:2762
Quantity distance_to_active_goal_with_units() const
Definition: mission.pb.h:983
IvPBehaviorUpdate_TrailUpdate(IvPBehaviorUpdate_TrailUpdate &&from) noexcept
Definition: mission.pb.h:4007
void set_max_depth(double value)
void unsafe_arena_set_allocated_surface_drift(::jaiabot::protobuf::MissionTask_DriftParameters *surface_drift)
void unsafe_arena_set_allocated_constantspeed(::jaiabot::protobuf::IvPBehaviorUpdate_ConstantSpeedUpdate *constantspeed)
void MergeFrom(const MissionTpvMeetsGpsReq &from)
void unsafe_arena_set_allocated_location(::jaiabot::protobuf::GeographicCoordinate *location)
::jaiabot::protobuf::Speeds * release_speeds()
const ::jaiabot::protobuf::MissionPlan_TrailParam & param() const
void MergeFrom(const MissionPlan_Recovery &from)
MissionTask_DriftParameters(::PROTOBUF_NAMESPACE_ID::Arena *arena)
IvPBehaviorReport_TransitReport(::PROTOBUF_NAMESPACE_ID::Arena *arena)
::jaiabot::protobuf::MissionTask_StationKeepParameters * mutable_station_keep()
MissionTask_DiveParameters * New() const final
Definition: mission.pb.h:1094
friend void swap(MissionPlan_Recovery &a, MissionPlan_Recovery &b)
Definition: mission.pb.h:2371
::PROTOBUF_NAMESPACE_ID::int32 slip_radius() const
::jaiabot::protobuf::GeographicCoordinate * unsafe_arena_release_location()
IvPBehaviorReport_TransitReport * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: mission.pb.h:4798
void UnsafeArenaSwap(MissionPlan_Goal *other)
Definition: mission.pb.h:2162
static const Speeds * internal_default_instance()
Definition: mission.pb.h:343
IvPBehaviorUpdate_ContactUpdate & operator=(IvPBehaviorUpdate_ContactUpdate &&from) noexcept
Definition: mission.pb.h:4185
friend void swap(MissionTask_ConstantHeadingParameters &a, MissionTask_ConstantHeadingParameters &b)
Definition: mission.pb.h:1478
static bool TaskType_IsValid(int value)
Definition: mission.pb.h:1948
::PROTOBUF_NAMESPACE_ID::uint32 active_goal_timeout() const
boost::units::derived_dimension< boost::units::length_base_dimension, 1 >::type y_dimension
Definition: mission.pb.h:3308
static const IvPBehaviorUpdate_TransitUpdate & default_instance()
friend void swap(MissionTask_DiveParameters &a, MissionTask_DiveParameters &b)
Definition: mission.pb.h:1075
boost::units::unit< outer_speed_dimension, boost::units::si::system > outer_speed_unit
Definition: mission.pb.h:3595
friend void swap(IvPBehaviorReport_TransitReport &a, IvPBehaviorReport_TransitReport &b)
Definition: mission.pb.h:4775
void set_heading_or_cog_with_units(Quantity value_w_units)
Definition: mission.pb.h:4410
IvPBehaviorUpdate(const IvPBehaviorUpdate &from)
void Swap(IvPBehaviorUpdate *other)
Definition: mission.pb.h:4502
BottomDepthSafetyParams & operator=(BottomDepthSafetyParams &&from) noexcept
Definition: mission.pb.h:509
MissionTask(MissionTask &&from) noexcept
Definition: mission.pb.h:1822
Quantity transit_speed_with_units() const
Definition: mission.pb.h:3617
void set_allocated_contact(::jaiabot::protobuf::IvPBehaviorUpdate_ContactUpdate *contact)
friend void swap(IvPBehaviorUpdate_StationkeepUpdate &a, IvPBehaviorUpdate_StationkeepUpdate &b)
Definition: mission.pb.h:3409
void UnsafeArenaSwap(IvPBehaviorReport *other)
Definition: mission.pb.h:4940
const ::jaiabot::protobuf::MissionPlan_Recovery & recovery() const
MissionReport * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: mission.pb.h:824
void MergeFrom(const IvPBehaviorUpdate_ConstantSpeedUpdate &from)
Quantity active_goal_timeout_with_units() const
Definition: mission.pb.h:998
IvPBehaviorUpdate_TransitUpdate & operator=(const IvPBehaviorUpdate_TransitUpdate &from)
Definition: mission.pb.h:3116
void unsafe_arena_set_allocated_transit(::jaiabot::protobuf::IvPBehaviorUpdate_TransitUpdate *transit)
Quantity heading_or_cog_with_units() const
Definition: mission.pb.h:4414
boost::units::derived_dimension< boost::units::time_base_dimension, 1 >::type drift_time_dimension
Definition: mission.pb.h:1398
IvPBehaviorUpdate_ContactUpdate(const IvPBehaviorUpdate_ContactUpdate &from)
IvPBehaviorReport * New() const final
Definition: mission.pb.h:4948
::jaiabot::protobuf::MissionTask_ConstantHeadingParameters * release_constant_heading()
void set_allocated_transit(::jaiabot::protobuf::IvPBehaviorReport_TransitReport *transit)
Quantity heading_with_units() const
Definition: mission.pb.h:3800
::jaiabot::protobuf::IvPBehaviorReport_TransitReport * unsafe_arena_release_transit()
boost::units::derived_dimension< boost::units::length_base_dimension, 1 >::type max_depth_dimension
Definition: mission.pb.h:1201
IvPBehaviorUpdate_ConstantSpeedUpdate(const IvPBehaviorUpdate_ConstantSpeedUpdate &from)
void Swap(IvPBehaviorUpdate_ConstantSpeedUpdate *other)
Definition: mission.pb.h:3875
IvPBehaviorUpdate_StationkeepUpdate * New() const final
Definition: mission.pb.h:3428
void MergeFrom(const IvPBehaviorUpdate_StationkeepUpdate &from)
IvPBehaviorReport(::PROTOBUF_NAMESPACE_ID::Arena *arena)
static const BottomDepthSafetyParams * internal_default_instance()
Definition: mission.pb.h:537
IvPBehaviorReport * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: mission.pb.h:4952
void CopyFrom(const IvPBehaviorUpdate_TrailUpdate &from)
void MergeFrom(const IvPBehaviorReport_TransitReport &from)
boost::units::derived_dimension< boost::units::time_base_dimension, 1 >::type station_keep_time_dimension
Definition: mission.pb.h:1786
IvPBehaviorReport(IvPBehaviorReport &&from) noexcept
Definition: mission.pb.h:4880
static const MissionTask_StationKeepParameters & default_instance()
Speeds * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: mission.pb.h:373
static const MissionTask_DiveParameters * internal_default_instance()
Definition: mission.pb.h:1068
static bool MovementType_IsValid(int value)
Definition: mission.pb.h:2876
void unsafe_arena_set_allocated_tpv(::goby::middleware::protobuf::gpsd::TimePositionVelocity *tpv)
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * TaskType_descriptor()
Definition: mission.pb.h:1958
const ::jaiabot::protobuf::MissionTask_StationKeepParameters & station_keep() const
::jaiabot::protobuf::IvPBehaviorUpdate_ContactUpdate * unsafe_arena_release_contact()
::jaiabot::protobuf::IvPBehaviorUpdate_ConstantHeadingUpdate * unsafe_arena_release_constantheading()
::PROTOBUF_NAMESPACE_ID::uint32 expected_fragments() const
void set_fragment_index(::PROTOBUF_NAMESPACE_ID::uint32 value)
MissionTask_ConstantHeadingParameters * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: mission.pb.h:1501
MissionTask_StationKeepParameters(const MissionTask_StationKeepParameters &from)
MissionPlan_Recovery & operator=(MissionPlan_Recovery &&from) noexcept
Definition: mission.pb.h:2336
void CopyFrom(const Speeds &from)
static const IvPBehaviorUpdate_ContactUpdate * internal_default_instance()
Definition: mission.pb.h:4213
friend void swap(MissionPlan &a, MissionPlan &b)
Definition: mission.pb.h:2769
void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message &from) final
void set_range_with_units(Quantity value_w_units)
Definition: mission.pb.h:2686
void Swap(MissionTpvMeetsGpsReq *other)
Definition: mission.pb.h:5098
MissionTask_DriftParameters DriftParameters
Definition: mission.pb.h:1933
MissionPlan_Recovery & operator=(const MissionPlan_Recovery &from)
Definition: mission.pb.h:2332
const ::jaiabot::protobuf::IvPBehaviorUpdate_TransitUpdate & transit() const
::goby::middleware::protobuf::gpsd::TimePositionVelocity * unsafe_arena_release_tpv()
MissionTask_DriftParameters * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: mission.pb.h:1337
void set_x_with_units(Quantity value_w_units)
Definition: mission.pb.h:3300
void MergeFrom(const MissionTask_DriftParameters &from)
::jaiabot::protobuf::IvPBehaviorReport_TransitReport * mutable_transit()
IvPBehaviorUpdate_ConstantHeadingUpdate & operator=(const IvPBehaviorUpdate_ConstantHeadingUpdate &from)
Definition: mission.pb.h:3654
const std::string & name() const
boost::units::quantity< active_goal_timeout_unit, google::protobuf::uint32 > active_goal_timeout_with_units() const
Definition: mission.pb.h:1001
void set_drift_time_with_units(Quantity value_w_units)
Definition: mission.pb.h:1403
MissionPlan * New() const final
Definition: mission.pb.h:2788
void set_movement(::jaiabot::protobuf::MissionPlan_MovementType value)
void MergeFrom(const MissionTask_DiveParameters &from)
boost::units::derived_dimension< boost::units::time_base_dimension, 1 >::type constant_heading_time_dimension
Definition: mission.pb.h:683
void UnsafeArenaSwap(IvPBehaviorUpdate_TransitUpdate *other)
Definition: mission.pb.h:3166
IvPBehaviorUpdate_ConstantHeadingUpdate(const IvPBehaviorUpdate_ConstantHeadingUpdate &from)
MissionTask_DiveParameters * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: mission.pb.h:1098
MissionTask_StationKeepParameters & operator=(const MissionTask_StationKeepParameters &from)
Definition: mission.pb.h:1663
static const MissionPlan_Recovery & default_instance()
::jaiabot::protobuf::MissionPlan_TrailParam * unsafe_arena_release_param()
Quantity constant_heading_time_with_units() const
Definition: mission.pb.h:694
void set_constant_heading(double value)
boost::units::quantity< range_unit, double > range_with_units() const
Definition: mission.pb.h:2693
void set_allocated_stationkeep(::jaiabot::protobuf::IvPBehaviorUpdate_StationkeepUpdate *stationkeep)
void UnsafeArenaSwap(IvPBehaviorUpdate_ConstantHeadingUpdate *other)
Definition: mission.pb.h:3704
void CopyFrom(const IvPBehaviorUpdate_ConstantHeadingUpdate &from)
boost::units::quantity< transit_speed_unit, double > transit_speed_with_units() const
Definition: mission.pb.h:3620
void unsafe_arena_set_allocated_transit(::jaiabot::protobuf::IvPBehaviorReport_TransitReport *transit)
void MergeFrom(const MissionPlan_TrailParam &from)
void UnsafeArenaSwap(MissionTask_StationKeepParameters *other)
Definition: mission.pb.h:1713
IvPBehaviorUpdate_ConstantHeadingUpdate * New() const final
Definition: mission.pb.h:3712
MissionTask_StationKeepParameters(::PROTOBUF_NAMESPACE_ID::Arena *arena)
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
Definition: mission.pb.h:334
boost::units::plane_angle_dimension constant_heading_dimension
Definition: mission.pb.h:670
boost::units::derived_dimension< boost::units::length_base_dimension, 1, boost::units::time_base_dimension,-1 >::type speed_dimension
Definition: mission.pb.h:3323
IvPBehaviorUpdate_StationkeepUpdate(const IvPBehaviorUpdate_StationkeepUpdate &from)
static const IvPBehaviorReport_TransitReport * internal_default_instance()
Definition: mission.pb.h:4768
::PROTOBUF_NAMESPACE_ID::int32 active_goal() const
::jaiabot::protobuf::MissionPlan_Recovery * mutable_recovery()
boost::units::derived_dimension< boost::units::time_base_dimension, 1 >::type active_goal_timeout_dimension
Definition: mission.pb.h:987
boost::units::derived_dimension< boost::units::length_base_dimension, 1 >::type x_dimension
Definition: mission.pb.h:3295
void Swap(MissionTask_DiveParameters *other)
Definition: mission.pb.h:1078
void set_contact(::PROTOBUF_NAMESPACE_ID::int32 value)
static bool TaskType_Parse(const std::string &name, TaskType *value)
Definition: mission.pb.h:1968
Quantity drift_time_with_units() const
Definition: mission.pb.h:1407
void set_allocated_active_goal_location(::jaiabot::protobuf::GeographicCoordinate *active_goal_location)
void set_type(::jaiabot::protobuf::MissionTask_TaskType value)
::jaiabot::protobuf::MissionTask_DiveParameters * unsafe_arena_release_dive()
::jaiabot::protobuf::IvPBehaviorUpdate_ContactUpdate * mutable_contact()
void Swap(MissionPlan_TrailParam *other)
Definition: mission.pb.h:2543
MissionReport & operator=(MissionReport &&from) noexcept
Definition: mission.pb.h:766
boost::units::length_dimension range_dimension
Definition: mission.pb.h:2679
MissionPlan_Goal * New() const final
Definition: mission.pb.h:2170
boost::units::unit< safety_depth_dimension, boost::units::si::system > safety_depth_unit
Definition: mission.pb.h:717
static const IvPBehaviorUpdate_TransitUpdate * internal_default_instance()
Definition: mission.pb.h:3148
static const std::string & TaskType_Name(T enum_t_value)
Definition: mission.pb.h:1962
MissionTask_StationKeepParameters * New() const final
Definition: mission.pb.h:1721
friend void swap(IvPBehaviorUpdate_TrailUpdate &a, IvPBehaviorUpdate_TrailUpdate &b)
Definition: mission.pb.h:4051
IvPBehaviorUpdate_ConstantHeadingUpdate * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: mission.pb.h:3716
::jaiabot::protobuf::IvPBehaviorReport_TransitReport * release_transit()
::jaiabot::protobuf::MissionTask_DiveParameters * mutable_dive()
boost::units::quantity< max_depth_unit, double > max_depth_with_units() const
Definition: mission.pb.h:1213
MissionTask_DiveParameters & operator=(const MissionTask_DiveParameters &from)
Definition: mission.pb.h:1036
friend void swap(MissionReport &a, MissionReport &b)
Definition: mission.pb.h:801
boost::units::quantity< constant_heading_speed_unit, double > constant_heading_speed_with_units() const
Definition: mission.pb.h:712
void UnsafeArenaSwap(IvPBehaviorUpdate_TrailUpdate *other)
Definition: mission.pb.h:4062
static const BottomDepthSafetyParams & default_instance()
MissionTpvMeetsGpsReq(MissionTpvMeetsGpsReq &&from) noexcept
Definition: mission.pb.h:5051
IvPBehaviorUpdate_ConstantSpeedUpdate * New() const final
Definition: mission.pb.h:3891
BehaviorCase behavior_case() const
friend void swap(IvPBehaviorUpdate_ConstantHeadingUpdate &a, IvPBehaviorUpdate_ConstantHeadingUpdate &b)
Definition: mission.pb.h:3693
void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message &from) final
friend void swap(Speeds &a, Speeds &b)
Definition: mission.pb.h:350
MissionPlan_Recovery * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: mission.pb.h:2394
IvPBehaviorReport_TransitReport * New() const final
Definition: mission.pb.h:4794
void Swap(IvPBehaviorReport_TransitReport *other)
Definition: mission.pb.h:4778
void unsafe_arena_set_allocated_param(::jaiabot::protobuf::MissionPlan_TrailParam *param)
void set_hold_time(double value)
MissionTask_ConstantHeadingParameters(::PROTOBUF_NAMESPACE_ID::Arena *arena)
MissionTask_DiveParameters(MissionTask_DiveParameters &&from) noexcept
Definition: mission.pb.h:1031
const ::jaiabot::protobuf::MissionTask_DriftParameters & surface_drift() const
void MergeFrom(const IvPBehaviorUpdate_TrailUpdate &from)
static const IvPBehaviorReport * internal_default_instance()
Definition: mission.pb.h:4922
boost::units::unit< heading_dimension, boost::units::degree::system > heading_unit
Definition: mission.pb.h:3793
MissionPlan * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: mission.pb.h:2792
IvPBehaviorUpdate_ConstantSpeedUpdate * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: mission.pb.h:3895
void set_slip_radius(::PROTOBUF_NAMESPACE_ID::int32 value)
void set_data_offload_percentage(::PROTOBUF_NAMESPACE_ID::int32 value)
void set_allocated_trail(::jaiabot::protobuf::IvPBehaviorUpdate_TrailUpdate *trail)
boost::units::derived_dimension< boost::units::time_base_dimension, 1 >::type hold_time_dimension
Definition: mission.pb.h:1229
const ::jaiabot::protobuf::IvPBehaviorUpdate_TrailUpdate & trail() const
void set_transit_with_units(Quantity value_w_units)
Definition: mission.pb.h:453
static const MissionTask_ConstantHeadingParameters & default_instance()
IvPBehaviorUpdate_ConstantSpeedUpdate ConstantSpeedUpdate
Definition: mission.pb.h:4568
::jaiabot::protobuf::IvPBehaviorUpdate_StationkeepUpdate * unsafe_arena_release_stationkeep()
void unsafe_arena_set_allocated_constant_heading(::jaiabot::protobuf::MissionTask_ConstantHeadingParameters *constant_heading)
void set_active_goal_timeout_with_units(Quantity value_w_units)
Definition: mission.pb.h:994
MissionTask_ConstantHeadingParameters(const MissionTask_ConstantHeadingParameters &from)
MissionTpvMeetsGpsReq & operator=(MissionTpvMeetsGpsReq &&from) noexcept
Definition: mission.pb.h:5060
MissionTask_DriftParameters & operator=(MissionTask_DriftParameters &&from) noexcept
Definition: mission.pb.h:1279
IvPBehaviorUpdate_StationkeepUpdate * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: mission.pb.h:3432
void set_outer_speed_with_units(Quantity value_w_units)
Definition: mission.pb.h:3598
friend void swap(IvPBehaviorUpdate_ConstantSpeedUpdate &a, IvPBehaviorUpdate_ConstantSpeedUpdate &b)
Definition: mission.pb.h:3872
void Swap(MissionPlan_Goal *other)
Definition: mission.pb.h:2154
IvPBehaviorUpdate_ConstantSpeedUpdate & operator=(const IvPBehaviorUpdate_ConstantSpeedUpdate &from)
Definition: mission.pb.h:3833
BottomDepthSafetyParams * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: mission.pb.h:567
void UnsafeArenaSwap(IvPBehaviorUpdate_StationkeepUpdate *other)
Definition: mission.pb.h:3420
MissionTask_DiveParameters(const MissionTask_DiveParameters &from)
void set_name(const std::string &value)
void set_allocated_surface_drift(::jaiabot::protobuf::MissionTask_DriftParameters *surface_drift)
MovementParamsCase movement_params_case() const
static const MissionPlan_TrailParam * internal_default_instance()
Definition: mission.pb.h:2533
void MergeFrom(const MissionPlan &from)
void set_allocated_tpv(::goby::middleware::protobuf::gpsd::TimePositionVelocity *tpv)
MissionTask_ConstantHeadingParameters(MissionTask_ConstantHeadingParameters &&from) noexcept
Definition: mission.pb.h:1434
boost::units::unit< transit_speed_dimension, boost::units::si::system > transit_speed_unit
Definition: mission.pb.h:3610
MissionTask(::PROTOBUF_NAMESPACE_ID::Arena *arena)
::jaiabot::protobuf::IvPBehaviorUpdate_TrailUpdate * unsafe_arena_release_trail()
const ::jaiabot::protobuf::MissionPlan_Goal & goal(int index) const
void Swap(BottomDepthSafetyParams *other)
Definition: mission.pb.h:547
void MergeFrom(const MissionTask &from)
friend void swap(MissionTask_DriftParameters &a, MissionTask_DriftParameters &b)
Definition: mission.pb.h:1314
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
Definition: mission.pb.h:337
const ::jaiabot::protobuf::IvPBehaviorReport_TransitReport & transit() const
::jaiabot::protobuf::MissionTask_TaskType type() const
void UnsafeArenaSwap(IvPBehaviorReport_TransitReport *other)
Definition: mission.pb.h:4786
void set_constant_heading_time_with_units(Quantity value_w_units)
Definition: mission.pb.h:690
MissionTpvMeetsGpsReq(::PROTOBUF_NAMESPACE_ID::Arena *arena)
MissionPlan_Goal & operator=(MissionPlan_Goal &&from) noexcept
Definition: mission.pb.h:2116
MissionTask_StationKeepParameters & operator=(MissionTask_StationKeepParameters &&from) noexcept
Definition: mission.pb.h:1667
::jaiabot::protobuf::Speeds * unsafe_arena_release_speeds()
IvPBehaviorReport_TransitReport(const IvPBehaviorReport_TransitReport &from)
::jaiabot::protobuf::GeographicCoordinate * release_active_goal_location()
boost::units::unit< transit_dimension, boost::units::si::system > transit_unit
Definition: mission.pb.h:450
const ::jaiabot::protobuf::MissionTask_ConstantHeadingParameters & constant_heading() const
void CopyFrom(const IvPBehaviorReport_TransitReport &from)
IvPBehaviorUpdate_ConstantSpeedUpdate(::PROTOBUF_NAMESPACE_ID::Arena *arena)
void set_active_goal(::PROTOBUF_NAMESPACE_ID::int32 value)
static const IvPBehaviorUpdate_ContactUpdate & default_instance()
void CopyFrom(const IvPBehaviorUpdate_ConstantSpeedUpdate &from)
::jaiabot::protobuf::MissionPlan_Recovery * release_recovery()
void Swap(IvPBehaviorReport *other)
Definition: mission.pb.h:4932
void MergeFrom(const MissionPlan_Goal &from)
boost::units::unit< speed_dimension, boost::units::si::system > speed_unit
Definition: mission.pb.h:3327
void unsafe_arena_set_allocated_trail(::jaiabot::protobuf::MissionPlan_TrailParam *trail)
MissionTask & operator=(const MissionTask &from)
Definition: mission.pb.h:1827
Quantity max_depth_with_units() const
Definition: mission.pb.h:1210
::jaiabot::protobuf::GeographicCoordinate * unsafe_arena_release_active_goal_location()
IvPBehaviorReport_TransitReport & operator=(IvPBehaviorReport_TransitReport &&from) noexcept
Definition: mission.pb.h:4740
IvPBehaviorUpdate_TransitUpdate TransitUpdate
Definition: mission.pb.h:4565
MissionPlan_MissionStart MissionStart
Definition: mission.pb.h:2839
void UnsafeArenaSwap(MissionReport *other)
Definition: mission.pb.h:812
boost::units::unit< station_keep_time_dimension, boost::units::si::system > station_keep_time_unit
Definition: mission.pb.h:1788
MissionReport(MissionReport &&from) noexcept
Definition: mission.pb.h:757
boost::units::unit< constant_heading_time_dimension, boost::units::si::system > constant_heading_time_unit
Definition: mission.pb.h:687
friend void swap(MissionPlan_TrailParam &a, MissionPlan_TrailParam &b)
Definition: mission.pb.h:2540
friend void swap(MissionTpvMeetsGpsReq &a, MissionTpvMeetsGpsReq &b)
Definition: mission.pb.h:5095
void set_outer_speed(double value)
MissionPlan_Goal(const MissionPlan_Goal &from)
void set_allocated_speeds(::jaiabot::protobuf::Speeds *speeds)
void set_safety_depth_with_units(Quantity value_w_units)
Definition: mission.pb.h:720
MissionTask & operator=(MissionTask &&from) noexcept
Definition: mission.pb.h:1831
IvPBehaviorReport & operator=(IvPBehaviorReport &&from) noexcept
Definition: mission.pb.h:4889
static const MissionReport * internal_default_instance()
Definition: mission.pb.h:794
void set_speed_with_units(Quantity value_w_units)
Definition: mission.pb.h:3330
IvPBehaviorUpdate_TrailUpdate(const IvPBehaviorUpdate_TrailUpdate &from)
void CopyFrom(const IvPBehaviorUpdate_TransitUpdate &from)
void MergeFrom(const IvPBehaviorReport &from)
::jaiabot::protobuf::MissionTask_DriftParameters * unsafe_arena_release_surface_drift()
void UnsafeArenaSwap(MissionTask *other)
Definition: mission.pb.h:1877
const ::jaiabot::protobuf::IvPBehaviorUpdate_ConstantSpeedUpdate & constantspeed() const
void MergeFrom(const IvPBehaviorUpdate_ConstantHeadingUpdate &from)
static const IvPBehaviorReport & default_instance()
boost::units::unit< active_goal_timeout_dimension, boost::units::si::system > active_goal_timeout_unit
Definition: mission.pb.h:991
boost::units::derived_dimension< boost::units::length_base_dimension, 1, boost::units::time_base_dimension,-1 >::type safety_depth_dimension
Definition: mission.pb.h:713
::jaiabot::protobuf::IvPBehaviorUpdate_TransitUpdate * unsafe_arena_release_transit()
::jaiabot::protobuf::IvPBehaviorUpdate_TrailUpdate * release_trail()
::PROTOBUF_NAMESPACE_ID::int32 drift_time() const
void set_allocated_dive(::jaiabot::protobuf::MissionTask_DiveParameters *dive)
boost::units::quantity< stationkeep_outer_unit, double > stationkeep_outer_with_units() const
Definition: mission.pb.h:475
boost::units::unit< stationkeep_outer_dimension, boost::units::si::system > stationkeep_outer_unit
Definition: mission.pb.h:465
BottomDepthSafetyParams * New() const final
Definition: mission.pb.h:563
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * MissionStart_descriptor()
Definition: mission.pb.h:2854
static const std::string & MissionStart_Name(T enum_t_value)
Definition: mission.pb.h:2858
void CopyFrom(const MissionTask_StationKeepParameters &from)
static const MissionPlan_TrailParam & default_instance()
::jaiabot::protobuf::IvPBehaviorUpdate_ContactUpdate * release_contact()
IvPBehaviorUpdate_TrailUpdate & operator=(IvPBehaviorUpdate_TrailUpdate &&from) noexcept
Definition: mission.pb.h:4016
boost::units::unit< max_depth_dimension, boost::units::si::system > max_depth_unit
Definition: mission.pb.h:1203
void Swap(IvPBehaviorUpdate_TransitUpdate *other)
Definition: mission.pb.h:3158
friend void swap(MissionPlan_Goal &a, MissionPlan_Goal &b)
Definition: mission.pb.h:2151
void set_stationkeep_outer_with_units(Quantity value_w_units)
Definition: mission.pb.h:468
MissionTask_ConstantHeadingParameters & operator=(const MissionTask_ConstantHeadingParameters &from)
Definition: mission.pb.h:1439
void MergeFrom(const MissionReport &from)
MissionPlan(const MissionPlan &from)
boost::units::quantity< station_keep_time_unit, google::protobuf::int32 > station_keep_time_with_units() const
Definition: mission.pb.h:1798
::jaiabot::protobuf::MissionTask_DriftParameters * mutable_surface_drift()
void set_allocated_location(::jaiabot::protobuf::GeographicCoordinate *location)
::PROTOBUF_NAMESPACE_ID::int32 repeat_index() const
void unsafe_arena_set_allocated_speeds(::jaiabot::protobuf::Speeds *speeds)
::jaiabot::protobuf::MissionPlan_Goal * mutable_goal(int index)
void Swap(MissionTask_ConstantHeadingParameters *other)
Definition: mission.pb.h:1481
IvPBehaviorUpdate_ContactUpdate(::PROTOBUF_NAMESPACE_ID::Arena *arena)
MissionTask_ConstantHeadingParameters * New() const final
Definition: mission.pb.h:1497
BottomDepthSafetyParams(::PROTOBUF_NAMESPACE_ID::Arena *arena)
void CopyFrom(const MissionTpvMeetsGpsReq &from)
static const IvPBehaviorUpdate & default_instance()
void UnsafeArenaSwap(MissionTask_DiveParameters *other)
Definition: mission.pb.h:1086
MissionPlan_Recovery(const MissionPlan_Recovery &from)
MissionPlan_MovementType MovementType
Definition: mission.pb.h:2869
IvPBehaviorUpdate_TrailUpdate TrailUpdate
Definition: mission.pb.h:4569
::jaiabot::protobuf::MissionPlan_TrailParam * mutable_param()
::jaiabot::protobuf::IvPBehaviorUpdate_ConstantHeadingUpdate * mutable_constantheading()
static const IvPBehaviorReport_TransitReport & default_instance()
boost::units::quantity< speed_unit, double > speed_with_units() const
Definition: mission.pb.h:3337
static const MissionTask_DriftParameters * internal_default_instance()
Definition: mission.pb.h:1307
MissionTask_TaskType TaskType
Definition: mission.pb.h:1937
IvPBehaviorUpdate_ConstantSpeedUpdate(IvPBehaviorUpdate_ConstantSpeedUpdate &&from) noexcept
Definition: mission.pb.h:3828
MissionPlan_Recovery Recovery
Definition: mission.pb.h:2836
boost::units::quantity< safety_depth_unit, double > safety_depth_with_units() const
Definition: mission.pb.h:727
void set_stationkeep_outer(double value)
friend void swap(IvPBehaviorUpdate_ContactUpdate &a, IvPBehaviorUpdate_ContactUpdate &b)
Definition: mission.pb.h:4220
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
Definition: mission.pb.h:331
void set_recover_at_final_goal(bool value)
const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_jaiabot_2fmessages_2fmission_2eproto
MissionReportDefaultTypeInternal _MissionReport_default_instance_
MissionTaskDefaultTypeInternal _MissionTask_default_instance_
MissionTpvMeetsGpsReqDefaultTypeInternal _MissionTpvMeetsGpsReq_default_instance_
const std::string & MissionState_Name(T enum_t_value)
Definition: mission.pb.h:285
constexpr MissionTask_TaskType MissionTask_TaskType_TaskType_MAX
Definition: mission.pb.h:176
MissionTask_ConstantHeadingParametersDefaultTypeInternal _MissionTask_ConstantHeadingParameters_default_instance_
constexpr int MissionPlan_MissionStart_MissionStart_ARRAYSIZE
Definition: mission.pb.h:200
MissionTask_DriftParametersDefaultTypeInternal _MissionTask_DriftParameters_default_instance_
BottomDepthSafetyParamsDefaultTypeInternal _BottomDepthSafetyParams_default_instance_
MissionPlanDefaultTypeInternal _MissionPlan_default_instance_
MissionTask_DiveParametersDefaultTypeInternal _MissionTask_DiveParameters_default_instance_
constexpr MissionPlan_MissionStart MissionPlan_MissionStart_MissionStart_MIN
Definition: mission.pb.h:198
const std::string & MissionTask_TaskType_Name(T enum_t_value)
Definition: mission.pb.h:181
const std::string & MissionPlan_MissionStart_Name(T enum_t_value)
Definition: mission.pb.h:204
MissionPlan_RecoveryDefaultTypeInternal _MissionPlan_Recovery_default_instance_
bool MissionState_Parse(const std::string &name, MissionState *value)
Definition: mission.pb.h:292
constexpr MissionState MissionState_MIN
Definition: mission.pb.h:279
IvPBehaviorUpdate_StationkeepUpdateDefaultTypeInternal _IvPBehaviorUpdate_StationkeepUpdate_default_instance_
IvPBehaviorReportDefaultTypeInternal _IvPBehaviorReport_default_instance_
bool MissionTask_TaskType_Parse(const std::string &name, MissionTask_TaskType *value)
Definition: mission.pb.h:188
constexpr int MissionTask_TaskType_TaskType_ARRAYSIZE
Definition: mission.pb.h:177
constexpr MissionPlan_MissionStart MissionPlan_MissionStart_MissionStart_MAX
Definition: mission.pb.h:199
IvPBehaviorUpdate_ConstantSpeedUpdateDefaultTypeInternal _IvPBehaviorUpdate_ConstantSpeedUpdate_default_instance_
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * MissionState_descriptor()
bool MissionPlan_MovementType_IsValid(int value)
IvPBehaviorUpdate_ContactUpdateDefaultTypeInternal _IvPBehaviorUpdate_ContactUpdate_default_instance_
IvPBehaviorUpdate_ConstantHeadingUpdateDefaultTypeInternal _IvPBehaviorUpdate_ConstantHeadingUpdate_default_instance_
MissionPlan_TrailParamDefaultTypeInternal _MissionPlan_TrailParam_default_instance_
constexpr MissionState MissionState_MAX
Definition: mission.pb.h:280
constexpr int MissionPlan_MovementType_MovementType_ARRAYSIZE
Definition: mission.pb.h:224
IvPBehaviorUpdate_TrailUpdateDefaultTypeInternal _IvPBehaviorUpdate_TrailUpdate_default_instance_
bool MissionPlan_MissionStart_IsValid(int value)
constexpr MissionPlan_MovementType MissionPlan_MovementType_MovementType_MAX
Definition: mission.pb.h:223
constexpr MissionPlan_MovementType MissionPlan_MovementType_MovementType_MIN
Definition: mission.pb.h:222
@ MissionPlan_MissionStart_START_IMMEDIATELY
Definition: mission.pb.h:194
@ MissionPlan_MissionStart_START_ON_COMMAND
Definition: mission.pb.h:195
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * MissionPlan_MovementType_descriptor()
MissionTask_StationKeepParametersDefaultTypeInternal _MissionTask_StationKeepParameters_default_instance_
@ MissionPlan_MovementType_TRANSIT
Definition: mission.pb.h:217
@ MissionPlan_MovementType_TRAIL
Definition: mission.pb.h:219
@ MissionPlan_MovementType_REMOTE_CONTROL
Definition: mission.pb.h:218
IvPBehaviorUpdate_TransitUpdateDefaultTypeInternal _IvPBehaviorUpdate_TransitUpdate_default_instance_
MissionPlan_GoalDefaultTypeInternal _MissionPlan_Goal_default_instance_
bool MissionTask_TaskType_IsValid(int value)
SpeedsDefaultTypeInternal _Speeds_default_instance_
@ IN_MISSION__UNDERWAY__TASK__DIVE__POWERED_ASCENT
Definition: mission.pb.h:259
@ IN_MISSION__UNDERWAY__TASK__DIVE__SURFACE_DRIFT
Definition: mission.pb.h:261
@ IN_MISSION__PAUSE__IMU_RESTART
Definition: mission.pb.h:268
@ IN_MISSION__UNDERWAY__RECOVERY__STATION_KEEP
Definition: mission.pb.h:265
@ IN_MISSION__UNDERWAY__TASK__CONSTANT_HEADING
Definition: mission.pb.h:263
@ IN_MISSION__UNDERWAY__MOVEMENT__REMOTE_CONTROL__SURFACE_DRIFT
Definition: mission.pb.h:251
@ IN_MISSION__PAUSE__REACQUIRE_GPS
Definition: mission.pb.h:269
@ IN_MISSION__UNDERWAY__TASK__DIVE__UNPOWERED_ASCENT
Definition: mission.pb.h:258
@ IN_MISSION__UNDERWAY__REPLAN
Definition: mission.pb.h:247
@ IN_MISSION__UNDERWAY__TASK__DIVE__DIVE_PREP
Definition: mission.pb.h:255
@ IN_MISSION__UNDERWAY__TASK__SURFACE_DRIFT
Definition: mission.pb.h:254
@ POST_DEPLOYMENT__DATA_OFFLOAD
Definition: mission.pb.h:273
@ POST_DEPLOYMENT__SHUTTING_DOWN
Definition: mission.pb.h:275
@ IN_MISSION__UNDERWAY__MOVEMENT__TRAIL
Definition: mission.pb.h:252
@ IN_MISSION__UNDERWAY__TASK__DIVE__REACQUIRE_GPS
Definition: mission.pb.h:260
@ IN_MISSION__UNDERWAY__TASK__DIVE__CONSTANT_HEADING
Definition: mission.pb.h:262
@ PRE_DEPLOYMENT__WAIT_FOR_MISSION_PLAN
Definition: mission.pb.h:245
@ IN_MISSION__UNDERWAY__MOVEMENT__REMOTE_CONTROL__SETPOINT
Definition: mission.pb.h:249
@ IN_MISSION__UNDERWAY__MOVEMENT__TRANSIT
Definition: mission.pb.h:248
@ IN_MISSION__UNDERWAY__MOVEMENT__REMOTE_CONTROL__STATION_KEEP
Definition: mission.pb.h:250
@ IN_MISSION__UNDERWAY__TASK__STATION_KEEP
Definition: mission.pb.h:253
@ IN_MISSION__UNDERWAY__TASK__DIVE__HOLD
Definition: mission.pb.h:257
@ IN_MISSION__UNDERWAY__TASK__DIVE__POWERED_DESCENT
Definition: mission.pb.h:256
@ IN_MISSION__UNDERWAY__RECOVERY__STOPPED
Definition: mission.pb.h:266
@ IN_MISSION__PAUSE__RESOLVE_NO_FORWARD_PROGRESS
Definition: mission.pb.h:271
@ IN_MISSION__UNDERWAY__RECOVERY__TRANSIT
Definition: mission.pb.h:264
GeographicCoordinateDefaultTypeInternal _GeographicCoordinate_default_instance_
IvPBehaviorUpdateDefaultTypeInternal _IvPBehaviorUpdate_default_instance_
bool MissionPlan_MovementType_Parse(const std::string &name, MissionPlan_MovementType *value)
Definition: mission.pb.h:235
const std::string & MissionPlan_MovementType_Name(T enum_t_value)
Definition: mission.pb.h:228
@ MissionTask_TaskType_STATION_KEEP
Definition: mission.pb.h:170
@ MissionTask_TaskType_CONSTANT_HEADING
Definition: mission.pb.h:172
@ MissionTask_TaskType_SURFACE_DRIFT
Definition: mission.pb.h:171
IvPBehaviorReport_TransitReportDefaultTypeInternal _IvPBehaviorReport_TransitReport_default_instance_
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * MissionPlan_MissionStart_descriptor()
bool MissionState_IsValid(int value)
bool MissionPlan_MissionStart_Parse(const std::string &name, MissionPlan_MissionStart *value)
Definition: mission.pb.h:211
constexpr MissionTask_TaskType MissionTask_TaskType_TaskType_MIN
Definition: mission.pb.h:175
constexpr int MissionState_ARRAYSIZE
Definition: mission.pb.h:281
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * MissionTask_TaskType_descriptor()
static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[22] PROTOBUF_SECTION_VARIABLE(protodesc_cold)
static const ::PROTOBUF_NAMESPACE_ID::internal::AuxillaryParseTableField aux[] PROTOBUF_SECTION_VARIABLE(protodesc_cold)
static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[]
Definition: mission.pb.h:66
static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTableField entries[] PROTOBUF_SECTION_VARIABLE(protodesc_cold)
static const ::PROTOBUF_NAMESPACE_ID::uint32 offsets[]
Definition: mission.pb.h:67
static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[]
Definition: mission.pb.h:65