JaiaBot  1.19.0
JaiaBot micro-AUV software
config.pb.h
Go to the documentation of this file.
1 // Generated by the protocol buffer compiler. DO NOT EDIT!
2 // source: bin/simulator/config.proto
3 
4 #ifndef GOOGLE_PROTOBUF_INCLUDED_bin_2fsimulator_2fconfig_2eproto
5 #define GOOGLE_PROTOBUF_INCLUDED_bin_2fsimulator_2fconfig_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/unknown_field_set.h>
35 #include "dccl/option_extensions.pb.h"
36 #include "goby/middleware/protobuf/app_config.pb.h"
37 #include "goby/zeromq/protobuf/interprocess_config.pb.h"
38 #include "goby/moos/protobuf/moos_gateway_config.pb.h"
39 #include "goby/middleware/protobuf/udp_config.pb.h"
41 #include <boost/units/quantity.hpp>
42 #include <boost/units/absolute.hpp>
43 #include <boost/units/dimensionless_type.hpp>
44 #include <boost/units/make_scaled_unit.hpp>
45 
46 #include <boost/units/systems/angle/degrees.hpp>
47 
48 #include <boost/units/systems/temperature/celsius.hpp>
49 
50 #include <boost/units/systems/si.hpp>
51 // @@protoc_insertion_point(includes)
52 #include <google/protobuf/port_def.inc>
53 #define PROTOBUF_INTERNAL_EXPORT_bin_2fsimulator_2fconfig_2eproto
54 PROTOBUF_NAMESPACE_OPEN
55 namespace internal {
56 class AnyMetadata;
57 } // namespace internal
58 PROTOBUF_NAMESPACE_CLOSE
59 
60 // Internal implementation detail -- do not use these members.
62  static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTableField entries[]
63  PROTOBUF_SECTION_VARIABLE(protodesc_cold);
64  static const ::PROTOBUF_NAMESPACE_ID::internal::AuxillaryParseTableField aux[]
65  PROTOBUF_SECTION_VARIABLE(protodesc_cold);
66  static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[3]
67  PROTOBUF_SECTION_VARIABLE(protodesc_cold);
68  static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[];
69  static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[];
70  static const ::PROTOBUF_NAMESPACE_ID::uint32 offsets[];
71 };
72 extern const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_bin_2fsimulator_2fconfig_2eproto;
73 namespace jaiabot {
74 namespace config {
75 class ArduinoSimThread;
76 class ArduinoSimThreadDefaultTypeInternal;
77 extern ArduinoSimThreadDefaultTypeInternal _ArduinoSimThread_default_instance_;
78 class Simulator;
79 class SimulatorDefaultTypeInternal;
80 extern SimulatorDefaultTypeInternal _Simulator_default_instance_;
81 class Simulator_ScalarSample;
82 class Simulator_ScalarSampleDefaultTypeInternal;
83 extern Simulator_ScalarSampleDefaultTypeInternal _Simulator_ScalarSample_default_instance_;
84 } // namespace config
85 } // namespace jaiabot
86 PROTOBUF_NAMESPACE_OPEN
87 template<> ::jaiabot::config::ArduinoSimThread* Arena::CreateMaybeMessage<::jaiabot::config::ArduinoSimThread>(Arena*);
88 template<> ::jaiabot::config::Simulator* Arena::CreateMaybeMessage<::jaiabot::config::Simulator>(Arena*);
89 template<> ::jaiabot::config::Simulator_ScalarSample* Arena::CreateMaybeMessage<::jaiabot::config::Simulator_ScalarSample>(Arena*);
90 PROTOBUF_NAMESPACE_CLOSE
91 namespace jaiabot {
92 namespace config {
93 
94 // ===================================================================
95 
96 class Simulator_ScalarSample PROTOBUF_FINAL :
97  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:jaiabot.config.Simulator.ScalarSample) */ {
98  public:
99  inline Simulator_ScalarSample() : Simulator_ScalarSample(nullptr) {};
101 
102  Simulator_ScalarSample(const Simulator_ScalarSample& from);
103  Simulator_ScalarSample(Simulator_ScalarSample&& from) noexcept
104  : Simulator_ScalarSample() {
105  *this = ::std::move(from);
106  }
107 
108  inline Simulator_ScalarSample& operator=(const Simulator_ScalarSample& from) {
109  CopyFrom(from);
110  return *this;
111  }
112  inline Simulator_ScalarSample& operator=(Simulator_ScalarSample&& from) noexcept {
113  if (GetArena() == from.GetArena()) {
114  if (this != &from) InternalSwap(&from);
115  } else {
116  CopyFrom(from);
117  }
118  return *this;
119  }
120 
121  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
122  return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
123  }
124  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
125  return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
126  }
127 
128  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
129  return GetDescriptor();
130  }
131  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
132  return GetMetadataStatic().descriptor;
133  }
134  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
135  return GetMetadataStatic().reflection;
136  }
137  static const Simulator_ScalarSample& default_instance();
138 
139  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
140  static inline const Simulator_ScalarSample* internal_default_instance() {
141  return reinterpret_cast<const Simulator_ScalarSample*>(
143  }
144  static constexpr int kIndexInFileMessages =
145  0;
146 
147  friend void swap(Simulator_ScalarSample& a, Simulator_ScalarSample& b) {
148  a.Swap(&b);
149  }
150  inline void Swap(Simulator_ScalarSample* other) {
151  if (other == this) return;
152  if (GetArena() == other->GetArena()) {
153  InternalSwap(other);
154  } else {
155  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
156  }
157  }
158  void UnsafeArenaSwap(Simulator_ScalarSample* other) {
159  if (other == this) return;
160  GOOGLE_DCHECK(GetArena() == other->GetArena());
161  InternalSwap(other);
162  }
163 
164  // implements Message ----------------------------------------------
165 
166  inline Simulator_ScalarSample* New() const final {
167  return CreateMaybeMessage<Simulator_ScalarSample>(nullptr);
168  }
169 
170  Simulator_ScalarSample* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
171  return CreateMaybeMessage<Simulator_ScalarSample>(arena);
172  }
173  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
174  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
175  void CopyFrom(const Simulator_ScalarSample& from);
176  void MergeFrom(const Simulator_ScalarSample& from);
177  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
178  bool IsInitialized() const final;
179 
180  size_t ByteSizeLong() const final;
181  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
182  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
183  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
184  int GetCachedSize() const final { return _cached_size_.Get(); }
185 
186  private:
187  inline void SharedCtor();
188  inline void SharedDtor();
189  void SetCachedSize(int size) const final;
190  void InternalSwap(Simulator_ScalarSample* other);
191  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
192  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
193  return "jaiabot.config.Simulator.ScalarSample";
194  }
195  protected:
196  explicit Simulator_ScalarSample(::PROTOBUF_NAMESPACE_ID::Arena* arena);
197  private:
198  static void ArenaDtor(void* object);
199  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
200  public:
201 
202  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
203  private:
204  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
205  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_bin_2fsimulator_2fconfig_2eproto);
206  return ::descriptor_table_bin_2fsimulator_2fconfig_2eproto.file_level_metadata[kIndexInFileMessages];
207  }
208 
209  public:
210 
211  // nested types ----------------------------------------------------
212 
213  // accessors -------------------------------------------------------
214 
215  enum : int {
216  kDepthFieldNumber = 1,
217  kTemperatureFieldNumber = 2,
218  kSalinityFieldNumber = 3,
219  };
220  // optional double depth = 1 [(.dccl.field) = {
221  bool has_depth() const;
222  private:
223  bool _internal_has_depth() const;
224  public:
225  void clear_depth();
226  double depth() const;
227  void set_depth(double value);
228  private:
229  double _internal_depth() const;
230  void _internal_set_depth(double value);
231  public:
232 
233  // optional double temperature = 2 [(.dccl.field) = {
234  bool has_temperature() const;
235  private:
236  bool _internal_has_temperature() const;
237  public:
239  double temperature() const;
240  void set_temperature(double value);
241  private:
242  double _internal_temperature() const;
243  void _internal_set_temperature(double value);
244  public:
245 
246  // optional double salinity = 3;
247  bool has_salinity() const;
248  private:
249  bool _internal_has_salinity() const;
250  public:
252  double salinity() const;
253  void set_salinity(double value);
254  private:
255  double _internal_salinity() const;
256  void _internal_set_salinity(double value);
257  public:
258 
259  typedef boost::units::length_dimension depth_dimension;
260 
261  typedef boost::units::unit<depth_dimension,boost::units::si::system> depth_unit;
262 
263  template<typename Quantity >
264  void set_depth_with_units(Quantity value_w_units)
265  { set_depth(boost::units::quantity<depth_unit,double >(value_w_units).value() ); };
266 
267  template<typename Quantity >
268  Quantity depth_with_units() const
269  { return Quantity(depth() * depth_unit()); };
270 
271  boost::units::quantity< depth_unit,double > depth_with_units() const
272  { return depth_with_units<boost::units::quantity< depth_unit,double > >(); };
273 
274  typedef boost::units::temperature_dimension temperature_dimension;
275 
276  typedef boost::units::absolute<boost::units::unit<temperature_dimension,boost::units::celsius::system> > temperature_unit;
277 
278  template<typename Quantity >
279  void set_temperature_with_units(Quantity value_w_units)
280  { set_temperature(boost::units::quantity<temperature_unit,double >(value_w_units).value() ); };
281 
282  template<typename Quantity >
283  Quantity temperature_with_units() const
284  { return Quantity(temperature() * temperature_unit()); };
285 
286  boost::units::quantity< temperature_unit,double > temperature_with_units() const
287  { return temperature_with_units<boost::units::quantity< temperature_unit,double > >(); };
288 
289  // @@protoc_insertion_point(class_scope:jaiabot.config.Simulator.ScalarSample)
290  private:
291  class _Internal;
292 
293  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
294  typedef void InternalArenaConstructable_;
295  typedef void DestructorSkippable_;
296  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
297  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
298  double depth_;
299  double temperature_;
300  double salinity_;
301  friend struct ::TableStruct_bin_2fsimulator_2fconfig_2eproto;
302 };
303 // -------------------------------------------------------------------
304 
305 class Simulator PROTOBUF_FINAL :
306  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:jaiabot.config.Simulator) */ {
307  public:
308  inline Simulator() : Simulator(nullptr) {};
309  virtual ~Simulator();
310 
311  Simulator(const Simulator& from);
312  Simulator(Simulator&& from) noexcept
313  : Simulator() {
314  *this = ::std::move(from);
315  }
316 
317  inline Simulator& operator=(const Simulator& from) {
318  CopyFrom(from);
319  return *this;
320  }
321  inline Simulator& operator=(Simulator&& from) noexcept {
322  if (GetArena() == from.GetArena()) {
323  if (this != &from) InternalSwap(&from);
324  } else {
325  CopyFrom(from);
326  }
327  return *this;
328  }
329 
330  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
331  return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
332  }
333  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
334  return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
335  }
336 
337  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
338  return GetDescriptor();
339  }
340  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
341  return GetMetadataStatic().descriptor;
342  }
343  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
344  return GetMetadataStatic().reflection;
345  }
346  static const Simulator& default_instance();
347 
348  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
349  static inline const Simulator* internal_default_instance() {
350  return reinterpret_cast<const Simulator*>(
352  }
353  static constexpr int kIndexInFileMessages =
354  1;
355 
356  friend void swap(Simulator& a, Simulator& b) {
357  a.Swap(&b);
358  }
359  inline void Swap(Simulator* other) {
360  if (other == this) return;
361  if (GetArena() == other->GetArena()) {
362  InternalSwap(other);
363  } else {
364  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
365  }
366  }
367  void UnsafeArenaSwap(Simulator* other) {
368  if (other == this) return;
369  GOOGLE_DCHECK(GetArena() == other->GetArena());
370  InternalSwap(other);
371  }
372 
373  // implements Message ----------------------------------------------
374 
375  inline Simulator* New() const final {
376  return CreateMaybeMessage<Simulator>(nullptr);
377  }
378 
379  Simulator* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
380  return CreateMaybeMessage<Simulator>(arena);
381  }
382  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
383  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
384  void CopyFrom(const Simulator& from);
385  void MergeFrom(const Simulator& from);
386  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
387  bool IsInitialized() const final;
388 
389  size_t ByteSizeLong() const final;
390  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
391  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
392  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
393  int GetCachedSize() const final { return _cached_size_.Get(); }
394 
395  private:
396  inline void SharedCtor();
397  inline void SharedDtor();
398  void SetCachedSize(int size) const final;
399  void InternalSwap(Simulator* other);
400  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
401  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
402  return "jaiabot.config.Simulator";
403  }
404  protected:
405  explicit Simulator(::PROTOBUF_NAMESPACE_ID::Arena* arena);
406  private:
407  static void ArenaDtor(void* object);
408  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
409  public:
410 
411  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
412  private:
413  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
414  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_bin_2fsimulator_2fconfig_2eproto);
415  return ::descriptor_table_bin_2fsimulator_2fconfig_2eproto.file_level_metadata[kIndexInFileMessages];
416  }
417 
418  public:
419 
420  // nested types ----------------------------------------------------
421 
422  typedef Simulator_ScalarSample ScalarSample;
423 
424  // accessors -------------------------------------------------------
425 
426  enum : int {
427  kSampleFieldNumber = 40,
428  kHubGpsdDeviceFieldNumber = 43,
429  kAppFieldNumber = 1,
430  kInterprocessFieldNumber = 2,
431  kMoosFieldNumber = 10,
432  kGpsUdpConfigFieldNumber = 20,
433  kPressureUdpConfigFieldNumber = 21,
434  kSalinityUdpConfigFieldNumber = 22,
435  kStartLocationFieldNumber = 26,
436  kArduinoConfigFieldNumber = 60,
437  kHeadingRandMaxFieldNumber = 30,
438  kVerticalDiveRateFieldNumber = 31,
439  kSeafloorDepthFieldNumber = 32,
440  kTemperatureStdevFieldNumber = 41,
441  kSalinityStdevFieldNumber = 42,
442  kEnableGpsFieldNumber = 25,
443  kIsBotSimFieldNumber = 28,
444  kGpsHdopRandMaxFieldNumber = 27,
445  kGpsPdopRandMaxFieldNumber = 29,
446  kSeafloorWavelengthFieldNumber = 33,
447  kSeafloorAmplitudeFieldNumber = 34,
448  kGpsHdopDropoutFieldNumber = 35,
449  kGpsPdopDropoutFieldNumber = 36,
450  kMinimumThrustFieldNumber = 37,
451  kPitchAtRestFieldNumber = 38,
452  };
453  // repeated .jaiabot.config.Simulator.ScalarSample sample = 40;
454  int sample_size() const;
455  private:
456  int _internal_sample_size() const;
457  public:
458  void clear_sample();
459  ::jaiabot::config::Simulator_ScalarSample* mutable_sample(int index);
460  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::jaiabot::config::Simulator_ScalarSample >*
462  private:
463  const ::jaiabot::config::Simulator_ScalarSample& _internal_sample(int index) const;
464  ::jaiabot::config::Simulator_ScalarSample* _internal_add_sample();
465  public:
466  const ::jaiabot::config::Simulator_ScalarSample& sample(int index) const;
467  ::jaiabot::config::Simulator_ScalarSample* add_sample();
468  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::jaiabot::config::Simulator_ScalarSample >&
469  sample() const;
470 
471  // optional string hub_gpsd_device = 43;
472  bool has_hub_gpsd_device() const;
473  private:
474  bool _internal_has_hub_gpsd_device() const;
475  public:
477  const std::string& hub_gpsd_device() const;
478  void set_hub_gpsd_device(const std::string& value);
479  void set_hub_gpsd_device(std::string&& value);
480  void set_hub_gpsd_device(const char* value);
481  void set_hub_gpsd_device(const char* value, size_t size);
482  std::string* mutable_hub_gpsd_device();
483  std::string* release_hub_gpsd_device();
484  void set_allocated_hub_gpsd_device(std::string* hub_gpsd_device);
485  GOOGLE_PROTOBUF_RUNTIME_DEPRECATED("The unsafe_arena_ accessors for"
486  " string fields are deprecated and will be removed in a"
487  " future release.")
488  std::string* unsafe_arena_release_hub_gpsd_device();
489  GOOGLE_PROTOBUF_RUNTIME_DEPRECATED("The unsafe_arena_ accessors for"
490  " string fields are deprecated and will be removed in a"
491  " future release.")
492  void unsafe_arena_set_allocated_hub_gpsd_device(
493  std::string* hub_gpsd_device);
494  private:
495  const std::string& _internal_hub_gpsd_device() const;
496  void _internal_set_hub_gpsd_device(const std::string& value);
497  std::string* _internal_mutable_hub_gpsd_device();
498  public:
499 
500  // optional .goby.middleware.protobuf.AppConfig app = 1;
501  bool has_app() const;
502  private:
503  bool _internal_has_app() const;
504  public:
505  void clear_app();
506  const ::goby::middleware::protobuf::AppConfig& app() const;
507  ::goby::middleware::protobuf::AppConfig* release_app();
508  ::goby::middleware::protobuf::AppConfig* mutable_app();
509  void set_allocated_app(::goby::middleware::protobuf::AppConfig* app);
510  private:
511  const ::goby::middleware::protobuf::AppConfig& _internal_app() const;
512  ::goby::middleware::protobuf::AppConfig* _internal_mutable_app();
513  public:
514  void unsafe_arena_set_allocated_app(
515  ::goby::middleware::protobuf::AppConfig* app);
516  ::goby::middleware::protobuf::AppConfig* unsafe_arena_release_app();
517 
518  // optional .goby.zeromq.protobuf.InterProcessPortalConfig interprocess = 2;
519  bool has_interprocess() const;
520  private:
521  bool _internal_has_interprocess() const;
522  public:
523  void clear_interprocess();
524  const ::goby::zeromq::protobuf::InterProcessPortalConfig& interprocess() const;
525  ::goby::zeromq::protobuf::InterProcessPortalConfig* release_interprocess();
526  ::goby::zeromq::protobuf::InterProcessPortalConfig* mutable_interprocess();
527  void set_allocated_interprocess(::goby::zeromq::protobuf::InterProcessPortalConfig* interprocess);
528  private:
529  const ::goby::zeromq::protobuf::InterProcessPortalConfig& _internal_interprocess() const;
530  ::goby::zeromq::protobuf::InterProcessPortalConfig* _internal_mutable_interprocess();
531  public:
532  void unsafe_arena_set_allocated_interprocess(
533  ::goby::zeromq::protobuf::InterProcessPortalConfig* interprocess);
534  ::goby::zeromq::protobuf::InterProcessPortalConfig* unsafe_arena_release_interprocess();
535 
536  // optional .goby.apps.moos.protobuf.GobyMOOSGatewayConfig.MOOSConfig moos = 10;
537  bool has_moos() const;
538  private:
539  bool _internal_has_moos() const;
540  public:
541  void clear_moos();
542  const ::goby::apps::moos::protobuf::GobyMOOSGatewayConfig_MOOSConfig& moos() const;
543  ::goby::apps::moos::protobuf::GobyMOOSGatewayConfig_MOOSConfig* release_moos();
544  ::goby::apps::moos::protobuf::GobyMOOSGatewayConfig_MOOSConfig* mutable_moos();
545  void set_allocated_moos(::goby::apps::moos::protobuf::GobyMOOSGatewayConfig_MOOSConfig* moos);
546  private:
547  const ::goby::apps::moos::protobuf::GobyMOOSGatewayConfig_MOOSConfig& _internal_moos() const;
548  ::goby::apps::moos::protobuf::GobyMOOSGatewayConfig_MOOSConfig* _internal_mutable_moos();
549  public:
550  void unsafe_arena_set_allocated_moos(
551  ::goby::apps::moos::protobuf::GobyMOOSGatewayConfig_MOOSConfig* moos);
552  ::goby::apps::moos::protobuf::GobyMOOSGatewayConfig_MOOSConfig* unsafe_arena_release_moos();
553 
554  // optional .goby.middleware.protobuf.UDPPointToPointConfig gps_udp_config = 20;
555  bool has_gps_udp_config() const;
556  private:
557  bool _internal_has_gps_udp_config() const;
558  public:
559  void clear_gps_udp_config();
560  const ::goby::middleware::protobuf::UDPPointToPointConfig& gps_udp_config() const;
561  ::goby::middleware::protobuf::UDPPointToPointConfig* release_gps_udp_config();
562  ::goby::middleware::protobuf::UDPPointToPointConfig* mutable_gps_udp_config();
563  void set_allocated_gps_udp_config(::goby::middleware::protobuf::UDPPointToPointConfig* gps_udp_config);
564  private:
565  const ::goby::middleware::protobuf::UDPPointToPointConfig& _internal_gps_udp_config() const;
566  ::goby::middleware::protobuf::UDPPointToPointConfig* _internal_mutable_gps_udp_config();
567  public:
568  void unsafe_arena_set_allocated_gps_udp_config(
569  ::goby::middleware::protobuf::UDPPointToPointConfig* gps_udp_config);
570  ::goby::middleware::protobuf::UDPPointToPointConfig* unsafe_arena_release_gps_udp_config();
571 
572  // optional .goby.middleware.protobuf.UDPPointToPointConfig pressure_udp_config = 21;
573  bool has_pressure_udp_config() const;
574  private:
575  bool _internal_has_pressure_udp_config() const;
576  public:
577  void clear_pressure_udp_config();
578  const ::goby::middleware::protobuf::UDPPointToPointConfig& pressure_udp_config() const;
579  ::goby::middleware::protobuf::UDPPointToPointConfig* release_pressure_udp_config();
580  ::goby::middleware::protobuf::UDPPointToPointConfig* mutable_pressure_udp_config();
581  void set_allocated_pressure_udp_config(::goby::middleware::protobuf::UDPPointToPointConfig* pressure_udp_config);
582  private:
583  const ::goby::middleware::protobuf::UDPPointToPointConfig& _internal_pressure_udp_config() const;
584  ::goby::middleware::protobuf::UDPPointToPointConfig* _internal_mutable_pressure_udp_config();
585  public:
586  void unsafe_arena_set_allocated_pressure_udp_config(
587  ::goby::middleware::protobuf::UDPPointToPointConfig* pressure_udp_config);
588  ::goby::middleware::protobuf::UDPPointToPointConfig* unsafe_arena_release_pressure_udp_config();
589 
590  // optional .goby.middleware.protobuf.UDPPointToPointConfig salinity_udp_config = 22;
591  bool has_salinity_udp_config() const;
592  private:
593  bool _internal_has_salinity_udp_config() const;
594  public:
595  void clear_salinity_udp_config();
596  const ::goby::middleware::protobuf::UDPPointToPointConfig& salinity_udp_config() const;
597  ::goby::middleware::protobuf::UDPPointToPointConfig* release_salinity_udp_config();
598  ::goby::middleware::protobuf::UDPPointToPointConfig* mutable_salinity_udp_config();
599  void set_allocated_salinity_udp_config(::goby::middleware::protobuf::UDPPointToPointConfig* salinity_udp_config);
600  private:
601  const ::goby::middleware::protobuf::UDPPointToPointConfig& _internal_salinity_udp_config() const;
602  ::goby::middleware::protobuf::UDPPointToPointConfig* _internal_mutable_salinity_udp_config();
603  public:
604  void unsafe_arena_set_allocated_salinity_udp_config(
605  ::goby::middleware::protobuf::UDPPointToPointConfig* salinity_udp_config);
606  ::goby::middleware::protobuf::UDPPointToPointConfig* unsafe_arena_release_salinity_udp_config();
607 
608  // optional .jaiabot.protobuf.GeographicCoordinate start_location = 26;
609  bool has_start_location() const;
610  private:
611  bool _internal_has_start_location() const;
612  public:
613  void clear_start_location();
614  const ::jaiabot::protobuf::GeographicCoordinate& start_location() const;
615  ::jaiabot::protobuf::GeographicCoordinate* release_start_location();
616  ::jaiabot::protobuf::GeographicCoordinate* mutable_start_location();
617  void set_allocated_start_location(::jaiabot::protobuf::GeographicCoordinate* start_location);
618  private:
619  const ::jaiabot::protobuf::GeographicCoordinate& _internal_start_location() const;
620  ::jaiabot::protobuf::GeographicCoordinate* _internal_mutable_start_location();
621  public:
622  void unsafe_arena_set_allocated_start_location(
623  ::jaiabot::protobuf::GeographicCoordinate* start_location);
624  ::jaiabot::protobuf::GeographicCoordinate* unsafe_arena_release_start_location();
625 
626  // optional .jaiabot.config.ArduinoSimThread arduino_config = 60;
627  bool has_arduino_config() const;
628  private:
629  bool _internal_has_arduino_config() const;
630  public:
631  void clear_arduino_config();
632  const ::jaiabot::config::ArduinoSimThread& arduino_config() const;
633  ::jaiabot::config::ArduinoSimThread* release_arduino_config();
634  ::jaiabot::config::ArduinoSimThread* mutable_arduino_config();
635  void set_allocated_arduino_config(::jaiabot::config::ArduinoSimThread* arduino_config);
636  private:
637  const ::jaiabot::config::ArduinoSimThread& _internal_arduino_config() const;
638  ::jaiabot::config::ArduinoSimThread* _internal_mutable_arduino_config();
639  public:
640  void unsafe_arena_set_allocated_arduino_config(
641  ::jaiabot::config::ArduinoSimThread* arduino_config);
642  ::jaiabot::config::ArduinoSimThread* unsafe_arena_release_arduino_config();
643 
644  // optional double heading_rand_max = 30 [default = 0];
645  bool has_heading_rand_max() const;
646  private:
647  bool _internal_has_heading_rand_max() const;
648  public:
649  void clear_heading_rand_max();
650  double heading_rand_max() const;
651  void set_heading_rand_max(double value);
652  private:
653  double _internal_heading_rand_max() const;
654  void _internal_set_heading_rand_max(double value);
655  public:
656 
657  // optional double vertical_dive_rate = 31 [(.dccl.field) = {
658  bool has_vertical_dive_rate() const;
659  private:
660  bool _internal_has_vertical_dive_rate() const;
661  public:
662  void clear_vertical_dive_rate();
663  double vertical_dive_rate() const;
664  void set_vertical_dive_rate(double value);
665  private:
666  double _internal_vertical_dive_rate() const;
667  void _internal_set_vertical_dive_rate(double value);
668  public:
669 
670  // optional double seafloor_depth = 32 [(.dccl.field) = {
671  bool has_seafloor_depth() const;
672  private:
673  bool _internal_has_seafloor_depth() const;
674  public:
675  void clear_seafloor_depth();
676  double seafloor_depth() const;
677  void set_seafloor_depth(double value);
678  private:
679  double _internal_seafloor_depth() const;
680  void _internal_set_seafloor_depth(double value);
681  public:
682 
683  // optional double temperature_stdev = 41 [(.dccl.field) = {
684  bool has_temperature_stdev() const;
685  private:
686  bool _internal_has_temperature_stdev() const;
687  public:
688  void clear_temperature_stdev();
689  double temperature_stdev() const;
690  void set_temperature_stdev(double value);
691  private:
692  double _internal_temperature_stdev() const;
693  void _internal_set_temperature_stdev(double value);
694  public:
695 
696  // optional double salinity_stdev = 42;
697  bool has_salinity_stdev() const;
698  private:
699  bool _internal_has_salinity_stdev() const;
700  public:
701  void clear_salinity_stdev();
702  double salinity_stdev() const;
703  void set_salinity_stdev(double value);
704  private:
705  double _internal_salinity_stdev() const;
706  void _internal_set_salinity_stdev(double value);
707  public:
708 
709  // optional bool enable_gps = 25 [default = true];
710  bool has_enable_gps() const;
711  private:
712  bool _internal_has_enable_gps() const;
713  public:
714  void clear_enable_gps();
715  bool enable_gps() const;
716  void set_enable_gps(bool value);
717  private:
718  bool _internal_enable_gps() const;
719  void _internal_set_enable_gps(bool value);
720  public:
721 
722  // optional bool is_bot_sim = 28 [default = true];
723  bool has_is_bot_sim() const;
724  private:
725  bool _internal_has_is_bot_sim() const;
726  public:
727  void clear_is_bot_sim();
728  bool is_bot_sim() const;
729  void set_is_bot_sim(bool value);
730  private:
731  bool _internal_is_bot_sim() const;
732  void _internal_set_is_bot_sim(bool value);
733  public:
734 
735  // optional double gps_hdop_rand_max = 27 [default = 1.3];
736  bool has_gps_hdop_rand_max() const;
737  private:
738  bool _internal_has_gps_hdop_rand_max() const;
739  public:
740  void clear_gps_hdop_rand_max();
741  double gps_hdop_rand_max() const;
742  void set_gps_hdop_rand_max(double value);
743  private:
744  double _internal_gps_hdop_rand_max() const;
745  void _internal_set_gps_hdop_rand_max(double value);
746  public:
747 
748  // optional double gps_pdop_rand_max = 29 [default = 2.2];
749  bool has_gps_pdop_rand_max() const;
750  private:
751  bool _internal_has_gps_pdop_rand_max() const;
752  public:
753  void clear_gps_pdop_rand_max();
754  double gps_pdop_rand_max() const;
755  void set_gps_pdop_rand_max(double value);
756  private:
757  double _internal_gps_pdop_rand_max() const;
758  void _internal_set_gps_pdop_rand_max(double value);
759  public:
760 
761  // optional double seafloor_wavelength = 33 [default = 100, (.dccl.field) = {
762  bool has_seafloor_wavelength() const;
763  private:
764  bool _internal_has_seafloor_wavelength() const;
765  public:
766  void clear_seafloor_wavelength();
767  double seafloor_wavelength() const;
768  void set_seafloor_wavelength(double value);
769  private:
770  double _internal_seafloor_wavelength() const;
771  void _internal_set_seafloor_wavelength(double value);
772  public:
773 
774  // optional double seafloor_amplitude = 34 [default = 5, (.dccl.field) = {
775  bool has_seafloor_amplitude() const;
776  private:
777  bool _internal_has_seafloor_amplitude() const;
778  public:
779  void clear_seafloor_amplitude();
780  double seafloor_amplitude() const;
781  void set_seafloor_amplitude(double value);
782  private:
783  double _internal_seafloor_amplitude() const;
784  void _internal_set_seafloor_amplitude(double value);
785  public:
786 
787  // optional double gps_hdop_dropout = 35 [default = 20];
788  bool has_gps_hdop_dropout() const;
789  private:
790  bool _internal_has_gps_hdop_dropout() const;
791  public:
792  void clear_gps_hdop_dropout();
793  double gps_hdop_dropout() const;
794  void set_gps_hdop_dropout(double value);
795  private:
796  double _internal_gps_hdop_dropout() const;
797  void _internal_set_gps_hdop_dropout(double value);
798  public:
799 
800  // optional double gps_pdop_dropout = 36 [default = 20];
801  bool has_gps_pdop_dropout() const;
802  private:
803  bool _internal_has_gps_pdop_dropout() const;
804  public:
805  void clear_gps_pdop_dropout();
806  double gps_pdop_dropout() const;
807  void set_gps_pdop_dropout(double value);
808  private:
809  double _internal_gps_pdop_dropout() const;
810  void _internal_set_gps_pdop_dropout(double value);
811  public:
812 
813  // optional double minimum_thrust = 37 [default = 5];
814  bool has_minimum_thrust() const;
815  private:
816  bool _internal_has_minimum_thrust() const;
817  public:
818  void clear_minimum_thrust();
819  double minimum_thrust() const;
820  void set_minimum_thrust(double value);
821  private:
822  double _internal_minimum_thrust() const;
823  void _internal_set_minimum_thrust(double value);
824  public:
825 
826  // optional double pitch_at_rest = 38 [default = 85, (.dccl.field) = {
827  bool has_pitch_at_rest() const;
828  private:
829  bool _internal_has_pitch_at_rest() const;
830  public:
831  void clear_pitch_at_rest();
832  double pitch_at_rest() const;
833  void set_pitch_at_rest(double value);
834  private:
835  double _internal_pitch_at_rest() const;
836  void _internal_set_pitch_at_rest(double value);
837  public:
838 
839  typedef boost::units::velocity_dimension vertical_dive_rate_dimension;
840 
841  typedef boost::units::unit<vertical_dive_rate_dimension,boost::units::si::system> vertical_dive_rate_unit;
842 
843  template<typename Quantity >
844  void set_vertical_dive_rate_with_units(Quantity value_w_units)
845  { set_vertical_dive_rate(boost::units::quantity<vertical_dive_rate_unit,double >(value_w_units).value() ); };
846 
847  template<typename Quantity >
849  { return Quantity(vertical_dive_rate() * vertical_dive_rate_unit()); };
850 
851  boost::units::quantity< vertical_dive_rate_unit,double > vertical_dive_rate_with_units() const
852  { return vertical_dive_rate_with_units<boost::units::quantity< vertical_dive_rate_unit,double > >(); };
853 
854  typedef boost::units::length_dimension seafloor_depth_dimension;
855 
856  typedef boost::units::unit<seafloor_depth_dimension,boost::units::si::system> seafloor_depth_unit;
857 
858  template<typename Quantity >
859  void set_seafloor_depth_with_units(Quantity value_w_units)
860  { set_seafloor_depth(boost::units::quantity<seafloor_depth_unit,double >(value_w_units).value() ); };
861 
862  template<typename Quantity >
863  Quantity seafloor_depth_with_units() const
864  { return Quantity(seafloor_depth() * seafloor_depth_unit()); };
865 
866  boost::units::quantity< seafloor_depth_unit,double > seafloor_depth_with_units() const
867  { return seafloor_depth_with_units<boost::units::quantity< seafloor_depth_unit,double > >(); };
868 
869  typedef boost::units::length_dimension seafloor_wavelength_dimension;
870 
871  typedef boost::units::unit<seafloor_wavelength_dimension,boost::units::si::system> seafloor_wavelength_unit;
872 
873  template<typename Quantity >
874  void set_seafloor_wavelength_with_units(Quantity value_w_units)
875  { set_seafloor_wavelength(boost::units::quantity<seafloor_wavelength_unit,double >(value_w_units).value() ); };
876 
877  template<typename Quantity >
879  { return Quantity(seafloor_wavelength() * seafloor_wavelength_unit()); };
880 
881  boost::units::quantity< seafloor_wavelength_unit,double > seafloor_wavelength_with_units() const
882  { return seafloor_wavelength_with_units<boost::units::quantity< seafloor_wavelength_unit,double > >(); };
883 
884  typedef boost::units::length_dimension seafloor_amplitude_dimension;
885 
886  typedef boost::units::unit<seafloor_amplitude_dimension,boost::units::si::system> seafloor_amplitude_unit;
887 
888  template<typename Quantity >
889  void set_seafloor_amplitude_with_units(Quantity value_w_units)
890  { set_seafloor_amplitude(boost::units::quantity<seafloor_amplitude_unit,double >(value_w_units).value() ); };
891 
892  template<typename Quantity >
894  { return Quantity(seafloor_amplitude() * seafloor_amplitude_unit()); };
895 
896  boost::units::quantity< seafloor_amplitude_unit,double > seafloor_amplitude_with_units() const
897  { return seafloor_amplitude_with_units<boost::units::quantity< seafloor_amplitude_unit,double > >(); };
898 
899  typedef boost::units::plane_angle_dimension pitch_at_rest_dimension;
900 
901  typedef boost::units::unit<pitch_at_rest_dimension,boost::units::degree::system> pitch_at_rest_unit;
902 
903  template<typename Quantity >
904  void set_pitch_at_rest_with_units(Quantity value_w_units)
905  { set_pitch_at_rest(boost::units::quantity<pitch_at_rest_unit,double >(value_w_units).value() ); };
906 
907  template<typename Quantity >
908  Quantity pitch_at_rest_with_units() const
909  { return Quantity(pitch_at_rest() * pitch_at_rest_unit()); };
910 
911  boost::units::quantity< pitch_at_rest_unit,double > pitch_at_rest_with_units() const
912  { return pitch_at_rest_with_units<boost::units::quantity< pitch_at_rest_unit,double > >(); };
913 
914  typedef boost::units::temperature_dimension temperature_stdev_dimension;
915 
916  typedef boost::units::unit<temperature_stdev_dimension,boost::units::celsius::system> temperature_stdev_unit;
917 
918  template<typename Quantity >
919  void set_temperature_stdev_with_units(Quantity value_w_units)
920  { set_temperature_stdev(boost::units::quantity<temperature_stdev_unit,double >(value_w_units).value() ); };
921 
922  template<typename Quantity >
924  { return Quantity(temperature_stdev() * temperature_stdev_unit()); };
925 
926  boost::units::quantity< temperature_stdev_unit,double > temperature_stdev_with_units() const
927  { return temperature_stdev_with_units<boost::units::quantity< temperature_stdev_unit,double > >(); };
928 
929  // @@protoc_insertion_point(class_scope:jaiabot.config.Simulator)
930  private:
931  class _Internal;
932 
933  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
934  typedef void InternalArenaConstructable_;
935  typedef void DestructorSkippable_;
936  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
937  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
938  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::jaiabot::config::Simulator_ScalarSample > sample_;
939  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr hub_gpsd_device_;
940  ::goby::middleware::protobuf::AppConfig* app_;
941  ::goby::zeromq::protobuf::InterProcessPortalConfig* interprocess_;
942  ::goby::apps::moos::protobuf::GobyMOOSGatewayConfig_MOOSConfig* moos_;
943  ::goby::middleware::protobuf::UDPPointToPointConfig* gps_udp_config_;
944  ::goby::middleware::protobuf::UDPPointToPointConfig* pressure_udp_config_;
945  ::goby::middleware::protobuf::UDPPointToPointConfig* salinity_udp_config_;
946  ::jaiabot::protobuf::GeographicCoordinate* start_location_;
947  ::jaiabot::config::ArduinoSimThread* arduino_config_;
948  double heading_rand_max_;
949  double vertical_dive_rate_;
950  double seafloor_depth_;
951  double temperature_stdev_;
952  double salinity_stdev_;
953  bool enable_gps_;
954  bool is_bot_sim_;
955  double gps_hdop_rand_max_;
956  double gps_pdop_rand_max_;
957  double seafloor_wavelength_;
958  double seafloor_amplitude_;
959  double gps_hdop_dropout_;
960  double gps_pdop_dropout_;
961  double minimum_thrust_;
962  double pitch_at_rest_;
963  friend struct ::TableStruct_bin_2fsimulator_2fconfig_2eproto;
964 };
965 // -------------------------------------------------------------------
966 
967 class ArduinoSimThread PROTOBUF_FINAL :
968  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:jaiabot.config.ArduinoSimThread) */ {
969  public:
970  inline ArduinoSimThread() : ArduinoSimThread(nullptr) {};
971  virtual ~ArduinoSimThread();
972 
973  ArduinoSimThread(const ArduinoSimThread& from);
974  ArduinoSimThread(ArduinoSimThread&& from) noexcept
975  : ArduinoSimThread() {
976  *this = ::std::move(from);
977  }
978 
979  inline ArduinoSimThread& operator=(const ArduinoSimThread& from) {
980  CopyFrom(from);
981  return *this;
982  }
983  inline ArduinoSimThread& operator=(ArduinoSimThread&& from) noexcept {
984  if (GetArena() == from.GetArena()) {
985  if (this != &from) InternalSwap(&from);
986  } else {
987  CopyFrom(from);
988  }
989  return *this;
990  }
991 
992  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
993  return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
994  }
995  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
996  return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
997  }
998 
999  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
1000  return GetDescriptor();
1001  }
1002  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
1003  return GetMetadataStatic().descriptor;
1004  }
1005  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
1006  return GetMetadataStatic().reflection;
1007  }
1008  static const ArduinoSimThread& default_instance();
1009 
1010  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
1011  static inline const ArduinoSimThread* internal_default_instance() {
1012  return reinterpret_cast<const ArduinoSimThread*>(
1014  }
1015  static constexpr int kIndexInFileMessages =
1016  2;
1017 
1018  friend void swap(ArduinoSimThread& a, ArduinoSimThread& b) {
1019  a.Swap(&b);
1020  }
1021  inline void Swap(ArduinoSimThread* other) {
1022  if (other == this) return;
1023  if (GetArena() == other->GetArena()) {
1024  InternalSwap(other);
1025  } else {
1026  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
1027  }
1028  }
1029  void UnsafeArenaSwap(ArduinoSimThread* other) {
1030  if (other == this) return;
1031  GOOGLE_DCHECK(GetArena() == other->GetArena());
1032  InternalSwap(other);
1033  }
1034 
1035  // implements Message ----------------------------------------------
1036 
1037  inline ArduinoSimThread* New() const final {
1038  return CreateMaybeMessage<ArduinoSimThread>(nullptr);
1039  }
1040 
1041  ArduinoSimThread* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
1042  return CreateMaybeMessage<ArduinoSimThread>(arena);
1043  }
1044  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
1045  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
1046  void CopyFrom(const ArduinoSimThread& from);
1047  void MergeFrom(const ArduinoSimThread& from);
1048  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
1049  bool IsInitialized() const final;
1050 
1051  size_t ByteSizeLong() const final;
1052  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
1053  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
1054  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
1055  int GetCachedSize() const final { return _cached_size_.Get(); }
1056 
1057  private:
1058  inline void SharedCtor();
1059  inline void SharedDtor();
1060  void SetCachedSize(int size) const final;
1061  void InternalSwap(ArduinoSimThread* other);
1062  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
1063  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
1064  return "jaiabot.config.ArduinoSimThread";
1065  }
1066  protected:
1067  explicit ArduinoSimThread(::PROTOBUF_NAMESPACE_ID::Arena* arena);
1068  private:
1069  static void ArenaDtor(void* object);
1070  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
1071  public:
1072 
1073  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
1074  private:
1075  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
1076  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_bin_2fsimulator_2fconfig_2eproto);
1077  return ::descriptor_table_bin_2fsimulator_2fconfig_2eproto.file_level_metadata[kIndexInFileMessages];
1078  }
1079 
1080  public:
1081 
1082  // nested types ----------------------------------------------------
1083 
1084  // accessors -------------------------------------------------------
1085 
1086  enum : int {
1087  kVoltagePeriodFieldNumber = 1,
1088  kVoltageStepDecreaseFieldNumber = 2,
1089  kVoltageStartFieldNumber = 3,
1090  kResetVoltageLevelFieldNumber = 4,
1091  };
1092  // optional int32 voltage_period = 1 [default = 1];
1093  bool has_voltage_period() const;
1094  private:
1095  bool _internal_has_voltage_period() const;
1096  public:
1098  ::PROTOBUF_NAMESPACE_ID::int32 voltage_period() const;
1099  void set_voltage_period(::PROTOBUF_NAMESPACE_ID::int32 value);
1100  private:
1101  ::PROTOBUF_NAMESPACE_ID::int32 _internal_voltage_period() const;
1102  void _internal_set_voltage_period(::PROTOBUF_NAMESPACE_ID::int32 value);
1103  public:
1104 
1105  // optional double voltage_step_decrease = 2 [default = 0.1];
1107  private:
1108  bool _internal_has_voltage_step_decrease() const;
1109  public:
1111  double voltage_step_decrease() const;
1112  void set_voltage_step_decrease(double value);
1113  private:
1114  double _internal_voltage_step_decrease() const;
1115  void _internal_set_voltage_step_decrease(double value);
1116  public:
1117 
1118  // optional double voltage_start = 3 [default = 24];
1119  bool has_voltage_start() const;
1120  private:
1121  bool _internal_has_voltage_start() const;
1122  public:
1124  double voltage_start() const;
1125  void set_voltage_start(double value);
1126  private:
1127  double _internal_voltage_start() const;
1128  void _internal_set_voltage_start(double value);
1129  public:
1130 
1131  // optional double reset_voltage_level = 4 [default = 15];
1133  private:
1134  bool _internal_has_reset_voltage_level() const;
1135  public:
1137  double reset_voltage_level() const;
1138  void set_reset_voltage_level(double value);
1139  private:
1140  double _internal_reset_voltage_level() const;
1141  void _internal_set_reset_voltage_level(double value);
1142  public:
1143 
1144  // @@protoc_insertion_point(class_scope:jaiabot.config.ArduinoSimThread)
1145  private:
1146  class _Internal;
1147 
1148  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
1149  typedef void InternalArenaConstructable_;
1150  typedef void DestructorSkippable_;
1151  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
1152  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
1153  ::PROTOBUF_NAMESPACE_ID::int32 voltage_period_;
1154  double voltage_step_decrease_;
1155  double voltage_start_;
1156  double reset_voltage_level_;
1157  friend struct ::TableStruct_bin_2fsimulator_2fconfig_2eproto;
1158 };
1159 // ===================================================================
1160 
1161 
1162 // ===================================================================
1163 
1164 #ifdef __GNUC__
1165  #pragma GCC diagnostic push
1166  #pragma GCC diagnostic ignored "-Wstrict-aliasing"
1167 #endif // __GNUC__
1168 // Simulator_ScalarSample
1169 
1170 // optional double depth = 1 [(.dccl.field) = {
1171 inline bool Simulator_ScalarSample::_internal_has_depth() const {
1172  bool value = (_has_bits_[0] & 0x00000001u) != 0;
1173  return value;
1174 }
1175 inline bool Simulator_ScalarSample::has_depth() const {
1176  return _internal_has_depth();
1177 }
1178 inline void Simulator_ScalarSample::clear_depth() {
1179  depth_ = 0;
1180  _has_bits_[0] &= ~0x00000001u;
1181 }
1182 inline double Simulator_ScalarSample::_internal_depth() const {
1183  return depth_;
1184 }
1185 inline double Simulator_ScalarSample::depth() const {
1186  // @@protoc_insertion_point(field_get:jaiabot.config.Simulator.ScalarSample.depth)
1187  return _internal_depth();
1188 }
1189 inline void Simulator_ScalarSample::_internal_set_depth(double value) {
1190  _has_bits_[0] |= 0x00000001u;
1191  depth_ = value;
1192 }
1193 inline void Simulator_ScalarSample::set_depth(double value) {
1194  _internal_set_depth(value);
1195  // @@protoc_insertion_point(field_set:jaiabot.config.Simulator.ScalarSample.depth)
1196 }
1197 
1198 // optional double temperature = 2 [(.dccl.field) = {
1199 inline bool Simulator_ScalarSample::_internal_has_temperature() const {
1200  bool value = (_has_bits_[0] & 0x00000002u) != 0;
1201  return value;
1202 }
1203 inline bool Simulator_ScalarSample::has_temperature() const {
1204  return _internal_has_temperature();
1205 }
1206 inline void Simulator_ScalarSample::clear_temperature() {
1207  temperature_ = 0;
1208  _has_bits_[0] &= ~0x00000002u;
1209 }
1210 inline double Simulator_ScalarSample::_internal_temperature() const {
1211  return temperature_;
1212 }
1213 inline double Simulator_ScalarSample::temperature() const {
1214  // @@protoc_insertion_point(field_get:jaiabot.config.Simulator.ScalarSample.temperature)
1215  return _internal_temperature();
1216 }
1217 inline void Simulator_ScalarSample::_internal_set_temperature(double value) {
1218  _has_bits_[0] |= 0x00000002u;
1219  temperature_ = value;
1220 }
1221 inline void Simulator_ScalarSample::set_temperature(double value) {
1222  _internal_set_temperature(value);
1223  // @@protoc_insertion_point(field_set:jaiabot.config.Simulator.ScalarSample.temperature)
1224 }
1225 
1226 // optional double salinity = 3;
1227 inline bool Simulator_ScalarSample::_internal_has_salinity() const {
1228  bool value = (_has_bits_[0] & 0x00000004u) != 0;
1229  return value;
1230 }
1231 inline bool Simulator_ScalarSample::has_salinity() const {
1232  return _internal_has_salinity();
1233 }
1234 inline void Simulator_ScalarSample::clear_salinity() {
1235  salinity_ = 0;
1236  _has_bits_[0] &= ~0x00000004u;
1237 }
1238 inline double Simulator_ScalarSample::_internal_salinity() const {
1239  return salinity_;
1240 }
1241 inline double Simulator_ScalarSample::salinity() const {
1242  // @@protoc_insertion_point(field_get:jaiabot.config.Simulator.ScalarSample.salinity)
1243  return _internal_salinity();
1244 }
1245 inline void Simulator_ScalarSample::_internal_set_salinity(double value) {
1246  _has_bits_[0] |= 0x00000004u;
1247  salinity_ = value;
1248 }
1249 inline void Simulator_ScalarSample::set_salinity(double value) {
1250  _internal_set_salinity(value);
1251  // @@protoc_insertion_point(field_set:jaiabot.config.Simulator.ScalarSample.salinity)
1252 }
1253 
1254 // -------------------------------------------------------------------
1255 
1256 // Simulator
1257 
1258 // optional .goby.middleware.protobuf.AppConfig app = 1;
1259 inline bool Simulator::_internal_has_app() const {
1260  bool value = (_has_bits_[0] & 0x00000002u) != 0;
1261  PROTOBUF_ASSUME(!value || app_ != nullptr);
1262  return value;
1263 }
1264 inline bool Simulator::has_app() const {
1265  return _internal_has_app();
1266 }
1267 inline const ::goby::middleware::protobuf::AppConfig& Simulator::_internal_app() const {
1268  const ::goby::middleware::protobuf::AppConfig* p = app_;
1269  return p != nullptr ? *p : *reinterpret_cast<const ::goby::middleware::protobuf::AppConfig*>(
1270  &::goby::middleware::protobuf::_AppConfig_default_instance_);
1271 }
1272 inline const ::goby::middleware::protobuf::AppConfig& Simulator::app() const {
1273  // @@protoc_insertion_point(field_get:jaiabot.config.Simulator.app)
1274  return _internal_app();
1275 }
1276 inline void Simulator::unsafe_arena_set_allocated_app(
1277  ::goby::middleware::protobuf::AppConfig* app) {
1278  if (GetArena() == nullptr) {
1279  delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(app_);
1280  }
1281  app_ = app;
1282  if (app) {
1283  _has_bits_[0] |= 0x00000002u;
1284  } else {
1285  _has_bits_[0] &= ~0x00000002u;
1286  }
1287  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:jaiabot.config.Simulator.app)
1288 }
1289 inline ::goby::middleware::protobuf::AppConfig* Simulator::release_app() {
1290  auto temp = unsafe_arena_release_app();
1291  if (GetArena() != nullptr) {
1292  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
1293  }
1294  return temp;
1295 }
1296 inline ::goby::middleware::protobuf::AppConfig* Simulator::unsafe_arena_release_app() {
1297  // @@protoc_insertion_point(field_release:jaiabot.config.Simulator.app)
1298  _has_bits_[0] &= ~0x00000002u;
1299  ::goby::middleware::protobuf::AppConfig* temp = app_;
1300  app_ = nullptr;
1301  return temp;
1302 }
1303 inline ::goby::middleware::protobuf::AppConfig* Simulator::_internal_mutable_app() {
1304  _has_bits_[0] |= 0x00000002u;
1305  if (app_ == nullptr) {
1306  auto* p = CreateMaybeMessage<::goby::middleware::protobuf::AppConfig>(GetArena());
1307  app_ = p;
1308  }
1309  return app_;
1310 }
1311 inline ::goby::middleware::protobuf::AppConfig* Simulator::mutable_app() {
1312  // @@protoc_insertion_point(field_mutable:jaiabot.config.Simulator.app)
1313  return _internal_mutable_app();
1314 }
1315 inline void Simulator::set_allocated_app(::goby::middleware::protobuf::AppConfig* app) {
1316  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
1317  if (message_arena == nullptr) {
1318  delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(app_);
1319  }
1320  if (app) {
1321  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
1322  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(app)->GetArena();
1323  if (message_arena != submessage_arena) {
1324  app = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
1325  message_arena, app, submessage_arena);
1326  }
1327  _has_bits_[0] |= 0x00000002u;
1328  } else {
1329  _has_bits_[0] &= ~0x00000002u;
1330  }
1331  app_ = app;
1332  // @@protoc_insertion_point(field_set_allocated:jaiabot.config.Simulator.app)
1333 }
1334 
1335 // optional .goby.zeromq.protobuf.InterProcessPortalConfig interprocess = 2;
1336 inline bool Simulator::_internal_has_interprocess() const {
1337  bool value = (_has_bits_[0] & 0x00000004u) != 0;
1338  PROTOBUF_ASSUME(!value || interprocess_ != nullptr);
1339  return value;
1340 }
1341 inline bool Simulator::has_interprocess() const {
1342  return _internal_has_interprocess();
1343 }
1344 inline const ::goby::zeromq::protobuf::InterProcessPortalConfig& Simulator::_internal_interprocess() const {
1345  const ::goby::zeromq::protobuf::InterProcessPortalConfig* p = interprocess_;
1346  return p != nullptr ? *p : *reinterpret_cast<const ::goby::zeromq::protobuf::InterProcessPortalConfig*>(
1347  &::goby::zeromq::protobuf::_InterProcessPortalConfig_default_instance_);
1348 }
1349 inline const ::goby::zeromq::protobuf::InterProcessPortalConfig& Simulator::interprocess() const {
1350  // @@protoc_insertion_point(field_get:jaiabot.config.Simulator.interprocess)
1351  return _internal_interprocess();
1352 }
1353 inline void Simulator::unsafe_arena_set_allocated_interprocess(
1354  ::goby::zeromq::protobuf::InterProcessPortalConfig* interprocess) {
1355  if (GetArena() == nullptr) {
1356  delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(interprocess_);
1357  }
1358  interprocess_ = interprocess;
1359  if (interprocess) {
1360  _has_bits_[0] |= 0x00000004u;
1361  } else {
1362  _has_bits_[0] &= ~0x00000004u;
1363  }
1364  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:jaiabot.config.Simulator.interprocess)
1365 }
1366 inline ::goby::zeromq::protobuf::InterProcessPortalConfig* Simulator::release_interprocess() {
1367  auto temp = unsafe_arena_release_interprocess();
1368  if (GetArena() != nullptr) {
1369  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
1370  }
1371  return temp;
1372 }
1373 inline ::goby::zeromq::protobuf::InterProcessPortalConfig* Simulator::unsafe_arena_release_interprocess() {
1374  // @@protoc_insertion_point(field_release:jaiabot.config.Simulator.interprocess)
1375  _has_bits_[0] &= ~0x00000004u;
1376  ::goby::zeromq::protobuf::InterProcessPortalConfig* temp = interprocess_;
1377  interprocess_ = nullptr;
1378  return temp;
1379 }
1380 inline ::goby::zeromq::protobuf::InterProcessPortalConfig* Simulator::_internal_mutable_interprocess() {
1381  _has_bits_[0] |= 0x00000004u;
1382  if (interprocess_ == nullptr) {
1383  auto* p = CreateMaybeMessage<::goby::zeromq::protobuf::InterProcessPortalConfig>(GetArena());
1384  interprocess_ = p;
1385  }
1386  return interprocess_;
1387 }
1388 inline ::goby::zeromq::protobuf::InterProcessPortalConfig* Simulator::mutable_interprocess() {
1389  // @@protoc_insertion_point(field_mutable:jaiabot.config.Simulator.interprocess)
1390  return _internal_mutable_interprocess();
1391 }
1392 inline void Simulator::set_allocated_interprocess(::goby::zeromq::protobuf::InterProcessPortalConfig* interprocess) {
1393  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
1394  if (message_arena == nullptr) {
1395  delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(interprocess_);
1396  }
1397  if (interprocess) {
1398  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
1399  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(interprocess)->GetArena();
1400  if (message_arena != submessage_arena) {
1401  interprocess = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
1402  message_arena, interprocess, submessage_arena);
1403  }
1404  _has_bits_[0] |= 0x00000004u;
1405  } else {
1406  _has_bits_[0] &= ~0x00000004u;
1407  }
1408  interprocess_ = interprocess;
1409  // @@protoc_insertion_point(field_set_allocated:jaiabot.config.Simulator.interprocess)
1410 }
1411 
1412 // optional .goby.apps.moos.protobuf.GobyMOOSGatewayConfig.MOOSConfig moos = 10;
1413 inline bool Simulator::_internal_has_moos() const {
1414  bool value = (_has_bits_[0] & 0x00000008u) != 0;
1415  PROTOBUF_ASSUME(!value || moos_ != nullptr);
1416  return value;
1417 }
1418 inline bool Simulator::has_moos() const {
1419  return _internal_has_moos();
1420 }
1421 inline const ::goby::apps::moos::protobuf::GobyMOOSGatewayConfig_MOOSConfig& Simulator::_internal_moos() const {
1422  const ::goby::apps::moos::protobuf::GobyMOOSGatewayConfig_MOOSConfig* p = moos_;
1423  return p != nullptr ? *p : *reinterpret_cast<const ::goby::apps::moos::protobuf::GobyMOOSGatewayConfig_MOOSConfig*>(
1424  &::goby::apps::moos::protobuf::_GobyMOOSGatewayConfig_MOOSConfig_default_instance_);
1425 }
1426 inline const ::goby::apps::moos::protobuf::GobyMOOSGatewayConfig_MOOSConfig& Simulator::moos() const {
1427  // @@protoc_insertion_point(field_get:jaiabot.config.Simulator.moos)
1428  return _internal_moos();
1429 }
1430 inline void Simulator::unsafe_arena_set_allocated_moos(
1431  ::goby::apps::moos::protobuf::GobyMOOSGatewayConfig_MOOSConfig* moos) {
1432  if (GetArena() == nullptr) {
1433  delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(moos_);
1434  }
1435  moos_ = moos;
1436  if (moos) {
1437  _has_bits_[0] |= 0x00000008u;
1438  } else {
1439  _has_bits_[0] &= ~0x00000008u;
1440  }
1441  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:jaiabot.config.Simulator.moos)
1442 }
1443 inline ::goby::apps::moos::protobuf::GobyMOOSGatewayConfig_MOOSConfig* Simulator::release_moos() {
1444  auto temp = unsafe_arena_release_moos();
1445  if (GetArena() != nullptr) {
1446  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
1447  }
1448  return temp;
1449 }
1450 inline ::goby::apps::moos::protobuf::GobyMOOSGatewayConfig_MOOSConfig* Simulator::unsafe_arena_release_moos() {
1451  // @@protoc_insertion_point(field_release:jaiabot.config.Simulator.moos)
1452  _has_bits_[0] &= ~0x00000008u;
1453  ::goby::apps::moos::protobuf::GobyMOOSGatewayConfig_MOOSConfig* temp = moos_;
1454  moos_ = nullptr;
1455  return temp;
1456 }
1457 inline ::goby::apps::moos::protobuf::GobyMOOSGatewayConfig_MOOSConfig* Simulator::_internal_mutable_moos() {
1458  _has_bits_[0] |= 0x00000008u;
1459  if (moos_ == nullptr) {
1460  auto* p = CreateMaybeMessage<::goby::apps::moos::protobuf::GobyMOOSGatewayConfig_MOOSConfig>(GetArena());
1461  moos_ = p;
1462  }
1463  return moos_;
1464 }
1465 inline ::goby::apps::moos::protobuf::GobyMOOSGatewayConfig_MOOSConfig* Simulator::mutable_moos() {
1466  // @@protoc_insertion_point(field_mutable:jaiabot.config.Simulator.moos)
1467  return _internal_mutable_moos();
1468 }
1469 inline void Simulator::set_allocated_moos(::goby::apps::moos::protobuf::GobyMOOSGatewayConfig_MOOSConfig* moos) {
1470  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
1471  if (message_arena == nullptr) {
1472  delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(moos_);
1473  }
1474  if (moos) {
1475  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
1476  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(moos)->GetArena();
1477  if (message_arena != submessage_arena) {
1478  moos = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
1479  message_arena, moos, submessage_arena);
1480  }
1481  _has_bits_[0] |= 0x00000008u;
1482  } else {
1483  _has_bits_[0] &= ~0x00000008u;
1484  }
1485  moos_ = moos;
1486  // @@protoc_insertion_point(field_set_allocated:jaiabot.config.Simulator.moos)
1487 }
1488 
1489 // optional .goby.middleware.protobuf.UDPPointToPointConfig gps_udp_config = 20;
1490 inline bool Simulator::_internal_has_gps_udp_config() const {
1491  bool value = (_has_bits_[0] & 0x00000010u) != 0;
1492  PROTOBUF_ASSUME(!value || gps_udp_config_ != nullptr);
1493  return value;
1494 }
1495 inline bool Simulator::has_gps_udp_config() const {
1496  return _internal_has_gps_udp_config();
1497 }
1498 inline const ::goby::middleware::protobuf::UDPPointToPointConfig& Simulator::_internal_gps_udp_config() const {
1499  const ::goby::middleware::protobuf::UDPPointToPointConfig* p = gps_udp_config_;
1500  return p != nullptr ? *p : *reinterpret_cast<const ::goby::middleware::protobuf::UDPPointToPointConfig*>(
1501  &::goby::middleware::protobuf::_UDPPointToPointConfig_default_instance_);
1502 }
1503 inline const ::goby::middleware::protobuf::UDPPointToPointConfig& Simulator::gps_udp_config() const {
1504  // @@protoc_insertion_point(field_get:jaiabot.config.Simulator.gps_udp_config)
1505  return _internal_gps_udp_config();
1506 }
1507 inline void Simulator::unsafe_arena_set_allocated_gps_udp_config(
1508  ::goby::middleware::protobuf::UDPPointToPointConfig* gps_udp_config) {
1509  if (GetArena() == nullptr) {
1510  delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(gps_udp_config_);
1511  }
1512  gps_udp_config_ = gps_udp_config;
1513  if (gps_udp_config) {
1514  _has_bits_[0] |= 0x00000010u;
1515  } else {
1516  _has_bits_[0] &= ~0x00000010u;
1517  }
1518  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:jaiabot.config.Simulator.gps_udp_config)
1519 }
1520 inline ::goby::middleware::protobuf::UDPPointToPointConfig* Simulator::release_gps_udp_config() {
1521  auto temp = unsafe_arena_release_gps_udp_config();
1522  if (GetArena() != nullptr) {
1523  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
1524  }
1525  return temp;
1526 }
1527 inline ::goby::middleware::protobuf::UDPPointToPointConfig* Simulator::unsafe_arena_release_gps_udp_config() {
1528  // @@protoc_insertion_point(field_release:jaiabot.config.Simulator.gps_udp_config)
1529  _has_bits_[0] &= ~0x00000010u;
1530  ::goby::middleware::protobuf::UDPPointToPointConfig* temp = gps_udp_config_;
1531  gps_udp_config_ = nullptr;
1532  return temp;
1533 }
1534 inline ::goby::middleware::protobuf::UDPPointToPointConfig* Simulator::_internal_mutable_gps_udp_config() {
1535  _has_bits_[0] |= 0x00000010u;
1536  if (gps_udp_config_ == nullptr) {
1537  auto* p = CreateMaybeMessage<::goby::middleware::protobuf::UDPPointToPointConfig>(GetArena());
1538  gps_udp_config_ = p;
1539  }
1540  return gps_udp_config_;
1541 }
1542 inline ::goby::middleware::protobuf::UDPPointToPointConfig* Simulator::mutable_gps_udp_config() {
1543  // @@protoc_insertion_point(field_mutable:jaiabot.config.Simulator.gps_udp_config)
1544  return _internal_mutable_gps_udp_config();
1545 }
1546 inline void Simulator::set_allocated_gps_udp_config(::goby::middleware::protobuf::UDPPointToPointConfig* gps_udp_config) {
1547  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
1548  if (message_arena == nullptr) {
1549  delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(gps_udp_config_);
1550  }
1551  if (gps_udp_config) {
1552  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
1553  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(gps_udp_config)->GetArena();
1554  if (message_arena != submessage_arena) {
1555  gps_udp_config = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
1556  message_arena, gps_udp_config, submessage_arena);
1557  }
1558  _has_bits_[0] |= 0x00000010u;
1559  } else {
1560  _has_bits_[0] &= ~0x00000010u;
1561  }
1562  gps_udp_config_ = gps_udp_config;
1563  // @@protoc_insertion_point(field_set_allocated:jaiabot.config.Simulator.gps_udp_config)
1564 }
1565 
1566 // optional .goby.middleware.protobuf.UDPPointToPointConfig pressure_udp_config = 21;
1567 inline bool Simulator::_internal_has_pressure_udp_config() const {
1568  bool value = (_has_bits_[0] & 0x00000020u) != 0;
1569  PROTOBUF_ASSUME(!value || pressure_udp_config_ != nullptr);
1570  return value;
1571 }
1572 inline bool Simulator::has_pressure_udp_config() const {
1573  return _internal_has_pressure_udp_config();
1574 }
1575 inline const ::goby::middleware::protobuf::UDPPointToPointConfig& Simulator::_internal_pressure_udp_config() const {
1576  const ::goby::middleware::protobuf::UDPPointToPointConfig* p = pressure_udp_config_;
1577  return p != nullptr ? *p : *reinterpret_cast<const ::goby::middleware::protobuf::UDPPointToPointConfig*>(
1578  &::goby::middleware::protobuf::_UDPPointToPointConfig_default_instance_);
1579 }
1580 inline const ::goby::middleware::protobuf::UDPPointToPointConfig& Simulator::pressure_udp_config() const {
1581  // @@protoc_insertion_point(field_get:jaiabot.config.Simulator.pressure_udp_config)
1582  return _internal_pressure_udp_config();
1583 }
1584 inline void Simulator::unsafe_arena_set_allocated_pressure_udp_config(
1585  ::goby::middleware::protobuf::UDPPointToPointConfig* pressure_udp_config) {
1586  if (GetArena() == nullptr) {
1587  delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(pressure_udp_config_);
1588  }
1589  pressure_udp_config_ = pressure_udp_config;
1590  if (pressure_udp_config) {
1591  _has_bits_[0] |= 0x00000020u;
1592  } else {
1593  _has_bits_[0] &= ~0x00000020u;
1594  }
1595  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:jaiabot.config.Simulator.pressure_udp_config)
1596 }
1597 inline ::goby::middleware::protobuf::UDPPointToPointConfig* Simulator::release_pressure_udp_config() {
1598  auto temp = unsafe_arena_release_pressure_udp_config();
1599  if (GetArena() != nullptr) {
1600  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
1601  }
1602  return temp;
1603 }
1604 inline ::goby::middleware::protobuf::UDPPointToPointConfig* Simulator::unsafe_arena_release_pressure_udp_config() {
1605  // @@protoc_insertion_point(field_release:jaiabot.config.Simulator.pressure_udp_config)
1606  _has_bits_[0] &= ~0x00000020u;
1607  ::goby::middleware::protobuf::UDPPointToPointConfig* temp = pressure_udp_config_;
1608  pressure_udp_config_ = nullptr;
1609  return temp;
1610 }
1611 inline ::goby::middleware::protobuf::UDPPointToPointConfig* Simulator::_internal_mutable_pressure_udp_config() {
1612  _has_bits_[0] |= 0x00000020u;
1613  if (pressure_udp_config_ == nullptr) {
1614  auto* p = CreateMaybeMessage<::goby::middleware::protobuf::UDPPointToPointConfig>(GetArena());
1615  pressure_udp_config_ = p;
1616  }
1617  return pressure_udp_config_;
1618 }
1619 inline ::goby::middleware::protobuf::UDPPointToPointConfig* Simulator::mutable_pressure_udp_config() {
1620  // @@protoc_insertion_point(field_mutable:jaiabot.config.Simulator.pressure_udp_config)
1621  return _internal_mutable_pressure_udp_config();
1622 }
1623 inline void Simulator::set_allocated_pressure_udp_config(::goby::middleware::protobuf::UDPPointToPointConfig* pressure_udp_config) {
1624  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
1625  if (message_arena == nullptr) {
1626  delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(pressure_udp_config_);
1627  }
1628  if (pressure_udp_config) {
1629  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
1630  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(pressure_udp_config)->GetArena();
1631  if (message_arena != submessage_arena) {
1632  pressure_udp_config = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
1633  message_arena, pressure_udp_config, submessage_arena);
1634  }
1635  _has_bits_[0] |= 0x00000020u;
1636  } else {
1637  _has_bits_[0] &= ~0x00000020u;
1638  }
1639  pressure_udp_config_ = pressure_udp_config;
1640  // @@protoc_insertion_point(field_set_allocated:jaiabot.config.Simulator.pressure_udp_config)
1641 }
1642 
1643 // optional .goby.middleware.protobuf.UDPPointToPointConfig salinity_udp_config = 22;
1644 inline bool Simulator::_internal_has_salinity_udp_config() const {
1645  bool value = (_has_bits_[0] & 0x00000040u) != 0;
1646  PROTOBUF_ASSUME(!value || salinity_udp_config_ != nullptr);
1647  return value;
1648 }
1649 inline bool Simulator::has_salinity_udp_config() const {
1650  return _internal_has_salinity_udp_config();
1651 }
1652 inline const ::goby::middleware::protobuf::UDPPointToPointConfig& Simulator::_internal_salinity_udp_config() const {
1653  const ::goby::middleware::protobuf::UDPPointToPointConfig* p = salinity_udp_config_;
1654  return p != nullptr ? *p : *reinterpret_cast<const ::goby::middleware::protobuf::UDPPointToPointConfig*>(
1655  &::goby::middleware::protobuf::_UDPPointToPointConfig_default_instance_);
1656 }
1657 inline const ::goby::middleware::protobuf::UDPPointToPointConfig& Simulator::salinity_udp_config() const {
1658  // @@protoc_insertion_point(field_get:jaiabot.config.Simulator.salinity_udp_config)
1659  return _internal_salinity_udp_config();
1660 }
1661 inline void Simulator::unsafe_arena_set_allocated_salinity_udp_config(
1662  ::goby::middleware::protobuf::UDPPointToPointConfig* salinity_udp_config) {
1663  if (GetArena() == nullptr) {
1664  delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(salinity_udp_config_);
1665  }
1666  salinity_udp_config_ = salinity_udp_config;
1667  if (salinity_udp_config) {
1668  _has_bits_[0] |= 0x00000040u;
1669  } else {
1670  _has_bits_[0] &= ~0x00000040u;
1671  }
1672  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:jaiabot.config.Simulator.salinity_udp_config)
1673 }
1674 inline ::goby::middleware::protobuf::UDPPointToPointConfig* Simulator::release_salinity_udp_config() {
1675  auto temp = unsafe_arena_release_salinity_udp_config();
1676  if (GetArena() != nullptr) {
1677  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
1678  }
1679  return temp;
1680 }
1681 inline ::goby::middleware::protobuf::UDPPointToPointConfig* Simulator::unsafe_arena_release_salinity_udp_config() {
1682  // @@protoc_insertion_point(field_release:jaiabot.config.Simulator.salinity_udp_config)
1683  _has_bits_[0] &= ~0x00000040u;
1684  ::goby::middleware::protobuf::UDPPointToPointConfig* temp = salinity_udp_config_;
1685  salinity_udp_config_ = nullptr;
1686  return temp;
1687 }
1688 inline ::goby::middleware::protobuf::UDPPointToPointConfig* Simulator::_internal_mutable_salinity_udp_config() {
1689  _has_bits_[0] |= 0x00000040u;
1690  if (salinity_udp_config_ == nullptr) {
1691  auto* p = CreateMaybeMessage<::goby::middleware::protobuf::UDPPointToPointConfig>(GetArena());
1692  salinity_udp_config_ = p;
1693  }
1694  return salinity_udp_config_;
1695 }
1696 inline ::goby::middleware::protobuf::UDPPointToPointConfig* Simulator::mutable_salinity_udp_config() {
1697  // @@protoc_insertion_point(field_mutable:jaiabot.config.Simulator.salinity_udp_config)
1698  return _internal_mutable_salinity_udp_config();
1699 }
1700 inline void Simulator::set_allocated_salinity_udp_config(::goby::middleware::protobuf::UDPPointToPointConfig* salinity_udp_config) {
1701  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
1702  if (message_arena == nullptr) {
1703  delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(salinity_udp_config_);
1704  }
1705  if (salinity_udp_config) {
1706  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
1707  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(salinity_udp_config)->GetArena();
1708  if (message_arena != submessage_arena) {
1709  salinity_udp_config = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
1710  message_arena, salinity_udp_config, submessage_arena);
1711  }
1712  _has_bits_[0] |= 0x00000040u;
1713  } else {
1714  _has_bits_[0] &= ~0x00000040u;
1715  }
1716  salinity_udp_config_ = salinity_udp_config;
1717  // @@protoc_insertion_point(field_set_allocated:jaiabot.config.Simulator.salinity_udp_config)
1718 }
1719 
1720 // optional bool enable_gps = 25 [default = true];
1721 inline bool Simulator::_internal_has_enable_gps() const {
1722  bool value = (_has_bits_[0] & 0x00004000u) != 0;
1723  return value;
1724 }
1725 inline bool Simulator::has_enable_gps() const {
1726  return _internal_has_enable_gps();
1727 }
1728 inline void Simulator::clear_enable_gps() {
1729  enable_gps_ = true;
1730  _has_bits_[0] &= ~0x00004000u;
1731 }
1732 inline bool Simulator::_internal_enable_gps() const {
1733  return enable_gps_;
1734 }
1735 inline bool Simulator::enable_gps() const {
1736  // @@protoc_insertion_point(field_get:jaiabot.config.Simulator.enable_gps)
1737  return _internal_enable_gps();
1738 }
1739 inline void Simulator::_internal_set_enable_gps(bool value) {
1740  _has_bits_[0] |= 0x00004000u;
1741  enable_gps_ = value;
1742 }
1743 inline void Simulator::set_enable_gps(bool value) {
1744  _internal_set_enable_gps(value);
1745  // @@protoc_insertion_point(field_set:jaiabot.config.Simulator.enable_gps)
1746 }
1747 
1748 // optional .jaiabot.protobuf.GeographicCoordinate start_location = 26;
1749 inline bool Simulator::_internal_has_start_location() const {
1750  bool value = (_has_bits_[0] & 0x00000080u) != 0;
1751  PROTOBUF_ASSUME(!value || start_location_ != nullptr);
1752  return value;
1753 }
1754 inline bool Simulator::has_start_location() const {
1755  return _internal_has_start_location();
1756 }
1757 inline const ::jaiabot::protobuf::GeographicCoordinate& Simulator::_internal_start_location() const {
1758  const ::jaiabot::protobuf::GeographicCoordinate* p = start_location_;
1759  return p != nullptr ? *p : *reinterpret_cast<const ::jaiabot::protobuf::GeographicCoordinate*>(
1761 }
1762 inline const ::jaiabot::protobuf::GeographicCoordinate& Simulator::start_location() const {
1763  // @@protoc_insertion_point(field_get:jaiabot.config.Simulator.start_location)
1764  return _internal_start_location();
1765 }
1766 inline void Simulator::unsafe_arena_set_allocated_start_location(
1767  ::jaiabot::protobuf::GeographicCoordinate* start_location) {
1768  if (GetArena() == nullptr) {
1769  delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(start_location_);
1770  }
1771  start_location_ = start_location;
1772  if (start_location) {
1773  _has_bits_[0] |= 0x00000080u;
1774  } else {
1775  _has_bits_[0] &= ~0x00000080u;
1776  }
1777  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:jaiabot.config.Simulator.start_location)
1778 }
1779 inline ::jaiabot::protobuf::GeographicCoordinate* Simulator::release_start_location() {
1780  auto temp = unsafe_arena_release_start_location();
1781  if (GetArena() != nullptr) {
1782  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
1783  }
1784  return temp;
1785 }
1786 inline ::jaiabot::protobuf::GeographicCoordinate* Simulator::unsafe_arena_release_start_location() {
1787  // @@protoc_insertion_point(field_release:jaiabot.config.Simulator.start_location)
1788  _has_bits_[0] &= ~0x00000080u;
1789  ::jaiabot::protobuf::GeographicCoordinate* temp = start_location_;
1790  start_location_ = nullptr;
1791  return temp;
1792 }
1793 inline ::jaiabot::protobuf::GeographicCoordinate* Simulator::_internal_mutable_start_location() {
1794  _has_bits_[0] |= 0x00000080u;
1795  if (start_location_ == nullptr) {
1796  auto* p = CreateMaybeMessage<::jaiabot::protobuf::GeographicCoordinate>(GetArena());
1797  start_location_ = p;
1798  }
1799  return start_location_;
1800 }
1801 inline ::jaiabot::protobuf::GeographicCoordinate* Simulator::mutable_start_location() {
1802  // @@protoc_insertion_point(field_mutable:jaiabot.config.Simulator.start_location)
1803  return _internal_mutable_start_location();
1804 }
1805 inline void Simulator::set_allocated_start_location(::jaiabot::protobuf::GeographicCoordinate* start_location) {
1806  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
1807  if (message_arena == nullptr) {
1808  delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(start_location_);
1809  }
1810  if (start_location) {
1811  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
1812  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(start_location)->GetArena();
1813  if (message_arena != submessage_arena) {
1814  start_location = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
1815  message_arena, start_location, submessage_arena);
1816  }
1817  _has_bits_[0] |= 0x00000080u;
1818  } else {
1819  _has_bits_[0] &= ~0x00000080u;
1820  }
1821  start_location_ = start_location;
1822  // @@protoc_insertion_point(field_set_allocated:jaiabot.config.Simulator.start_location)
1823 }
1824 
1825 // optional double gps_hdop_rand_max = 27 [default = 1.3];
1826 inline bool Simulator::_internal_has_gps_hdop_rand_max() const {
1827  bool value = (_has_bits_[0] & 0x00010000u) != 0;
1828  return value;
1829 }
1830 inline bool Simulator::has_gps_hdop_rand_max() const {
1831  return _internal_has_gps_hdop_rand_max();
1832 }
1833 inline void Simulator::clear_gps_hdop_rand_max() {
1834  gps_hdop_rand_max_ = 1.3;
1835  _has_bits_[0] &= ~0x00010000u;
1836 }
1837 inline double Simulator::_internal_gps_hdop_rand_max() const {
1838  return gps_hdop_rand_max_;
1839 }
1840 inline double Simulator::gps_hdop_rand_max() const {
1841  // @@protoc_insertion_point(field_get:jaiabot.config.Simulator.gps_hdop_rand_max)
1842  return _internal_gps_hdop_rand_max();
1843 }
1844 inline void Simulator::_internal_set_gps_hdop_rand_max(double value) {
1845  _has_bits_[0] |= 0x00010000u;
1846  gps_hdop_rand_max_ = value;
1847 }
1848 inline void Simulator::set_gps_hdop_rand_max(double value) {
1849  _internal_set_gps_hdop_rand_max(value);
1850  // @@protoc_insertion_point(field_set:jaiabot.config.Simulator.gps_hdop_rand_max)
1851 }
1852 
1853 // optional bool is_bot_sim = 28 [default = true];
1854 inline bool Simulator::_internal_has_is_bot_sim() const {
1855  bool value = (_has_bits_[0] & 0x00008000u) != 0;
1856  return value;
1857 }
1858 inline bool Simulator::has_is_bot_sim() const {
1859  return _internal_has_is_bot_sim();
1860 }
1861 inline void Simulator::clear_is_bot_sim() {
1862  is_bot_sim_ = true;
1863  _has_bits_[0] &= ~0x00008000u;
1864 }
1865 inline bool Simulator::_internal_is_bot_sim() const {
1866  return is_bot_sim_;
1867 }
1868 inline bool Simulator::is_bot_sim() const {
1869  // @@protoc_insertion_point(field_get:jaiabot.config.Simulator.is_bot_sim)
1870  return _internal_is_bot_sim();
1871 }
1872 inline void Simulator::_internal_set_is_bot_sim(bool value) {
1873  _has_bits_[0] |= 0x00008000u;
1874  is_bot_sim_ = value;
1875 }
1876 inline void Simulator::set_is_bot_sim(bool value) {
1877  _internal_set_is_bot_sim(value);
1878  // @@protoc_insertion_point(field_set:jaiabot.config.Simulator.is_bot_sim)
1879 }
1880 
1881 // optional double gps_pdop_rand_max = 29 [default = 2.2];
1882 inline bool Simulator::_internal_has_gps_pdop_rand_max() const {
1883  bool value = (_has_bits_[0] & 0x00020000u) != 0;
1884  return value;
1885 }
1886 inline bool Simulator::has_gps_pdop_rand_max() const {
1887  return _internal_has_gps_pdop_rand_max();
1888 }
1889 inline void Simulator::clear_gps_pdop_rand_max() {
1890  gps_pdop_rand_max_ = 2.2;
1891  _has_bits_[0] &= ~0x00020000u;
1892 }
1893 inline double Simulator::_internal_gps_pdop_rand_max() const {
1894  return gps_pdop_rand_max_;
1895 }
1896 inline double Simulator::gps_pdop_rand_max() const {
1897  // @@protoc_insertion_point(field_get:jaiabot.config.Simulator.gps_pdop_rand_max)
1898  return _internal_gps_pdop_rand_max();
1899 }
1900 inline void Simulator::_internal_set_gps_pdop_rand_max(double value) {
1901  _has_bits_[0] |= 0x00020000u;
1902  gps_pdop_rand_max_ = value;
1903 }
1904 inline void Simulator::set_gps_pdop_rand_max(double value) {
1905  _internal_set_gps_pdop_rand_max(value);
1906  // @@protoc_insertion_point(field_set:jaiabot.config.Simulator.gps_pdop_rand_max)
1907 }
1908 
1909 // optional double heading_rand_max = 30 [default = 0];
1910 inline bool Simulator::_internal_has_heading_rand_max() const {
1911  bool value = (_has_bits_[0] & 0x00000200u) != 0;
1912  return value;
1913 }
1914 inline bool Simulator::has_heading_rand_max() const {
1915  return _internal_has_heading_rand_max();
1916 }
1917 inline void Simulator::clear_heading_rand_max() {
1918  heading_rand_max_ = 0;
1919  _has_bits_[0] &= ~0x00000200u;
1920 }
1921 inline double Simulator::_internal_heading_rand_max() const {
1922  return heading_rand_max_;
1923 }
1924 inline double Simulator::heading_rand_max() const {
1925  // @@protoc_insertion_point(field_get:jaiabot.config.Simulator.heading_rand_max)
1926  return _internal_heading_rand_max();
1927 }
1928 inline void Simulator::_internal_set_heading_rand_max(double value) {
1929  _has_bits_[0] |= 0x00000200u;
1930  heading_rand_max_ = value;
1931 }
1932 inline void Simulator::set_heading_rand_max(double value) {
1933  _internal_set_heading_rand_max(value);
1934  // @@protoc_insertion_point(field_set:jaiabot.config.Simulator.heading_rand_max)
1935 }
1936 
1937 // optional double vertical_dive_rate = 31 [(.dccl.field) = {
1938 inline bool Simulator::_internal_has_vertical_dive_rate() const {
1939  bool value = (_has_bits_[0] & 0x00000400u) != 0;
1940  return value;
1941 }
1942 inline bool Simulator::has_vertical_dive_rate() const {
1943  return _internal_has_vertical_dive_rate();
1944 }
1945 inline void Simulator::clear_vertical_dive_rate() {
1946  vertical_dive_rate_ = 0;
1947  _has_bits_[0] &= ~0x00000400u;
1948 }
1949 inline double Simulator::_internal_vertical_dive_rate() const {
1950  return vertical_dive_rate_;
1951 }
1952 inline double Simulator::vertical_dive_rate() const {
1953  // @@protoc_insertion_point(field_get:jaiabot.config.Simulator.vertical_dive_rate)
1954  return _internal_vertical_dive_rate();
1955 }
1956 inline void Simulator::_internal_set_vertical_dive_rate(double value) {
1957  _has_bits_[0] |= 0x00000400u;
1958  vertical_dive_rate_ = value;
1959 }
1960 inline void Simulator::set_vertical_dive_rate(double value) {
1961  _internal_set_vertical_dive_rate(value);
1962  // @@protoc_insertion_point(field_set:jaiabot.config.Simulator.vertical_dive_rate)
1963 }
1964 
1965 // optional double seafloor_depth = 32 [(.dccl.field) = {
1966 inline bool Simulator::_internal_has_seafloor_depth() const {
1967  bool value = (_has_bits_[0] & 0x00000800u) != 0;
1968  return value;
1969 }
1970 inline bool Simulator::has_seafloor_depth() const {
1971  return _internal_has_seafloor_depth();
1972 }
1973 inline void Simulator::clear_seafloor_depth() {
1974  seafloor_depth_ = 0;
1975  _has_bits_[0] &= ~0x00000800u;
1976 }
1977 inline double Simulator::_internal_seafloor_depth() const {
1978  return seafloor_depth_;
1979 }
1980 inline double Simulator::seafloor_depth() const {
1981  // @@protoc_insertion_point(field_get:jaiabot.config.Simulator.seafloor_depth)
1982  return _internal_seafloor_depth();
1983 }
1984 inline void Simulator::_internal_set_seafloor_depth(double value) {
1985  _has_bits_[0] |= 0x00000800u;
1986  seafloor_depth_ = value;
1987 }
1988 inline void Simulator::set_seafloor_depth(double value) {
1989  _internal_set_seafloor_depth(value);
1990  // @@protoc_insertion_point(field_set:jaiabot.config.Simulator.seafloor_depth)
1991 }
1992 
1993 // optional double seafloor_wavelength = 33 [default = 100, (.dccl.field) = {
1994 inline bool Simulator::_internal_has_seafloor_wavelength() const {
1995  bool value = (_has_bits_[0] & 0x00040000u) != 0;
1996  return value;
1997 }
1998 inline bool Simulator::has_seafloor_wavelength() const {
1999  return _internal_has_seafloor_wavelength();
2000 }
2001 inline void Simulator::clear_seafloor_wavelength() {
2002  seafloor_wavelength_ = 100;
2003  _has_bits_[0] &= ~0x00040000u;
2004 }
2005 inline double Simulator::_internal_seafloor_wavelength() const {
2006  return seafloor_wavelength_;
2007 }
2008 inline double Simulator::seafloor_wavelength() const {
2009  // @@protoc_insertion_point(field_get:jaiabot.config.Simulator.seafloor_wavelength)
2010  return _internal_seafloor_wavelength();
2011 }
2012 inline void Simulator::_internal_set_seafloor_wavelength(double value) {
2013  _has_bits_[0] |= 0x00040000u;
2014  seafloor_wavelength_ = value;
2015 }
2016 inline void Simulator::set_seafloor_wavelength(double value) {
2017  _internal_set_seafloor_wavelength(value);
2018  // @@protoc_insertion_point(field_set:jaiabot.config.Simulator.seafloor_wavelength)
2019 }
2020 
2021 // optional double seafloor_amplitude = 34 [default = 5, (.dccl.field) = {
2022 inline bool Simulator::_internal_has_seafloor_amplitude() const {
2023  bool value = (_has_bits_[0] & 0x00080000u) != 0;
2024  return value;
2025 }
2026 inline bool Simulator::has_seafloor_amplitude() const {
2027  return _internal_has_seafloor_amplitude();
2028 }
2029 inline void Simulator::clear_seafloor_amplitude() {
2030  seafloor_amplitude_ = 5;
2031  _has_bits_[0] &= ~0x00080000u;
2032 }
2033 inline double Simulator::_internal_seafloor_amplitude() const {
2034  return seafloor_amplitude_;
2035 }
2036 inline double Simulator::seafloor_amplitude() const {
2037  // @@protoc_insertion_point(field_get:jaiabot.config.Simulator.seafloor_amplitude)
2038  return _internal_seafloor_amplitude();
2039 }
2040 inline void Simulator::_internal_set_seafloor_amplitude(double value) {
2041  _has_bits_[0] |= 0x00080000u;
2042  seafloor_amplitude_ = value;
2043 }
2044 inline void Simulator::set_seafloor_amplitude(double value) {
2045  _internal_set_seafloor_amplitude(value);
2046  // @@protoc_insertion_point(field_set:jaiabot.config.Simulator.seafloor_amplitude)
2047 }
2048 
2049 // optional double gps_hdop_dropout = 35 [default = 20];
2050 inline bool Simulator::_internal_has_gps_hdop_dropout() const {
2051  bool value = (_has_bits_[0] & 0x00100000u) != 0;
2052  return value;
2053 }
2054 inline bool Simulator::has_gps_hdop_dropout() const {
2055  return _internal_has_gps_hdop_dropout();
2056 }
2057 inline void Simulator::clear_gps_hdop_dropout() {
2058  gps_hdop_dropout_ = 20;
2059  _has_bits_[0] &= ~0x00100000u;
2060 }
2061 inline double Simulator::_internal_gps_hdop_dropout() const {
2062  return gps_hdop_dropout_;
2063 }
2064 inline double Simulator::gps_hdop_dropout() const {
2065  // @@protoc_insertion_point(field_get:jaiabot.config.Simulator.gps_hdop_dropout)
2066  return _internal_gps_hdop_dropout();
2067 }
2068 inline void Simulator::_internal_set_gps_hdop_dropout(double value) {
2069  _has_bits_[0] |= 0x00100000u;
2070  gps_hdop_dropout_ = value;
2071 }
2072 inline void Simulator::set_gps_hdop_dropout(double value) {
2073  _internal_set_gps_hdop_dropout(value);
2074  // @@protoc_insertion_point(field_set:jaiabot.config.Simulator.gps_hdop_dropout)
2075 }
2076 
2077 // optional double gps_pdop_dropout = 36 [default = 20];
2078 inline bool Simulator::_internal_has_gps_pdop_dropout() const {
2079  bool value = (_has_bits_[0] & 0x00200000u) != 0;
2080  return value;
2081 }
2082 inline bool Simulator::has_gps_pdop_dropout() const {
2083  return _internal_has_gps_pdop_dropout();
2084 }
2085 inline void Simulator::clear_gps_pdop_dropout() {
2086  gps_pdop_dropout_ = 20;
2087  _has_bits_[0] &= ~0x00200000u;
2088 }
2089 inline double Simulator::_internal_gps_pdop_dropout() const {
2090  return gps_pdop_dropout_;
2091 }
2092 inline double Simulator::gps_pdop_dropout() const {
2093  // @@protoc_insertion_point(field_get:jaiabot.config.Simulator.gps_pdop_dropout)
2094  return _internal_gps_pdop_dropout();
2095 }
2096 inline void Simulator::_internal_set_gps_pdop_dropout(double value) {
2097  _has_bits_[0] |= 0x00200000u;
2098  gps_pdop_dropout_ = value;
2099 }
2100 inline void Simulator::set_gps_pdop_dropout(double value) {
2101  _internal_set_gps_pdop_dropout(value);
2102  // @@protoc_insertion_point(field_set:jaiabot.config.Simulator.gps_pdop_dropout)
2103 }
2104 
2105 // optional double minimum_thrust = 37 [default = 5];
2106 inline bool Simulator::_internal_has_minimum_thrust() const {
2107  bool value = (_has_bits_[0] & 0x00400000u) != 0;
2108  return value;
2109 }
2110 inline bool Simulator::has_minimum_thrust() const {
2111  return _internal_has_minimum_thrust();
2112 }
2113 inline void Simulator::clear_minimum_thrust() {
2114  minimum_thrust_ = 5;
2115  _has_bits_[0] &= ~0x00400000u;
2116 }
2117 inline double Simulator::_internal_minimum_thrust() const {
2118  return minimum_thrust_;
2119 }
2120 inline double Simulator::minimum_thrust() const {
2121  // @@protoc_insertion_point(field_get:jaiabot.config.Simulator.minimum_thrust)
2122  return _internal_minimum_thrust();
2123 }
2124 inline void Simulator::_internal_set_minimum_thrust(double value) {
2125  _has_bits_[0] |= 0x00400000u;
2126  minimum_thrust_ = value;
2127 }
2128 inline void Simulator::set_minimum_thrust(double value) {
2129  _internal_set_minimum_thrust(value);
2130  // @@protoc_insertion_point(field_set:jaiabot.config.Simulator.minimum_thrust)
2131 }
2132 
2133 // optional double pitch_at_rest = 38 [default = 85, (.dccl.field) = {
2134 inline bool Simulator::_internal_has_pitch_at_rest() const {
2135  bool value = (_has_bits_[0] & 0x00800000u) != 0;
2136  return value;
2137 }
2138 inline bool Simulator::has_pitch_at_rest() const {
2139  return _internal_has_pitch_at_rest();
2140 }
2141 inline void Simulator::clear_pitch_at_rest() {
2142  pitch_at_rest_ = 85;
2143  _has_bits_[0] &= ~0x00800000u;
2144 }
2145 inline double Simulator::_internal_pitch_at_rest() const {
2146  return pitch_at_rest_;
2147 }
2148 inline double Simulator::pitch_at_rest() const {
2149  // @@protoc_insertion_point(field_get:jaiabot.config.Simulator.pitch_at_rest)
2150  return _internal_pitch_at_rest();
2151 }
2152 inline void Simulator::_internal_set_pitch_at_rest(double value) {
2153  _has_bits_[0] |= 0x00800000u;
2154  pitch_at_rest_ = value;
2155 }
2156 inline void Simulator::set_pitch_at_rest(double value) {
2157  _internal_set_pitch_at_rest(value);
2158  // @@protoc_insertion_point(field_set:jaiabot.config.Simulator.pitch_at_rest)
2159 }
2160 
2161 // repeated .jaiabot.config.Simulator.ScalarSample sample = 40;
2162 inline int Simulator::_internal_sample_size() const {
2163  return sample_.size();
2164 }
2165 inline int Simulator::sample_size() const {
2166  return _internal_sample_size();
2167 }
2168 inline void Simulator::clear_sample() {
2169  sample_.Clear();
2170 }
2171 inline ::jaiabot::config::Simulator_ScalarSample* Simulator::mutable_sample(int index) {
2172  // @@protoc_insertion_point(field_mutable:jaiabot.config.Simulator.sample)
2173  return sample_.Mutable(index);
2174 }
2175 inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::jaiabot::config::Simulator_ScalarSample >*
2176 Simulator::mutable_sample() {
2177  // @@protoc_insertion_point(field_mutable_list:jaiabot.config.Simulator.sample)
2178  return &sample_;
2179 }
2180 inline const ::jaiabot::config::Simulator_ScalarSample& Simulator::_internal_sample(int index) const {
2181  return sample_.Get(index);
2182 }
2183 inline const ::jaiabot::config::Simulator_ScalarSample& Simulator::sample(int index) const {
2184  // @@protoc_insertion_point(field_get:jaiabot.config.Simulator.sample)
2185  return _internal_sample(index);
2186 }
2187 inline ::jaiabot::config::Simulator_ScalarSample* Simulator::_internal_add_sample() {
2188  return sample_.Add();
2189 }
2190 inline ::jaiabot::config::Simulator_ScalarSample* Simulator::add_sample() {
2191  // @@protoc_insertion_point(field_add:jaiabot.config.Simulator.sample)
2192  return _internal_add_sample();
2193 }
2194 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::jaiabot::config::Simulator_ScalarSample >&
2195 Simulator::sample() const {
2196  // @@protoc_insertion_point(field_list:jaiabot.config.Simulator.sample)
2197  return sample_;
2198 }
2199 
2200 // optional double temperature_stdev = 41 [(.dccl.field) = {
2201 inline bool Simulator::_internal_has_temperature_stdev() const {
2202  bool value = (_has_bits_[0] & 0x00001000u) != 0;
2203  return value;
2204 }
2205 inline bool Simulator::has_temperature_stdev() const {
2206  return _internal_has_temperature_stdev();
2207 }
2208 inline void Simulator::clear_temperature_stdev() {
2209  temperature_stdev_ = 0;
2210  _has_bits_[0] &= ~0x00001000u;
2211 }
2212 inline double Simulator::_internal_temperature_stdev() const {
2213  return temperature_stdev_;
2214 }
2215 inline double Simulator::temperature_stdev() const {
2216  // @@protoc_insertion_point(field_get:jaiabot.config.Simulator.temperature_stdev)
2217  return _internal_temperature_stdev();
2218 }
2219 inline void Simulator::_internal_set_temperature_stdev(double value) {
2220  _has_bits_[0] |= 0x00001000u;
2221  temperature_stdev_ = value;
2222 }
2223 inline void Simulator::set_temperature_stdev(double value) {
2224  _internal_set_temperature_stdev(value);
2225  // @@protoc_insertion_point(field_set:jaiabot.config.Simulator.temperature_stdev)
2226 }
2227 
2228 // optional double salinity_stdev = 42;
2229 inline bool Simulator::_internal_has_salinity_stdev() const {
2230  bool value = (_has_bits_[0] & 0x00002000u) != 0;
2231  return value;
2232 }
2233 inline bool Simulator::has_salinity_stdev() const {
2234  return _internal_has_salinity_stdev();
2235 }
2236 inline void Simulator::clear_salinity_stdev() {
2237  salinity_stdev_ = 0;
2238  _has_bits_[0] &= ~0x00002000u;
2239 }
2240 inline double Simulator::_internal_salinity_stdev() const {
2241  return salinity_stdev_;
2242 }
2243 inline double Simulator::salinity_stdev() const {
2244  // @@protoc_insertion_point(field_get:jaiabot.config.Simulator.salinity_stdev)
2245  return _internal_salinity_stdev();
2246 }
2247 inline void Simulator::_internal_set_salinity_stdev(double value) {
2248  _has_bits_[0] |= 0x00002000u;
2249  salinity_stdev_ = value;
2250 }
2251 inline void Simulator::set_salinity_stdev(double value) {
2252  _internal_set_salinity_stdev(value);
2253  // @@protoc_insertion_point(field_set:jaiabot.config.Simulator.salinity_stdev)
2254 }
2255 
2256 // optional string hub_gpsd_device = 43;
2257 inline bool Simulator::_internal_has_hub_gpsd_device() const {
2258  bool value = (_has_bits_[0] & 0x00000001u) != 0;
2259  return value;
2260 }
2261 inline bool Simulator::has_hub_gpsd_device() const {
2262  return _internal_has_hub_gpsd_device();
2263 }
2264 inline void Simulator::clear_hub_gpsd_device() {
2265  hub_gpsd_device_.ClearToEmpty(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
2266  _has_bits_[0] &= ~0x00000001u;
2267 }
2268 inline const std::string& Simulator::hub_gpsd_device() const {
2269  // @@protoc_insertion_point(field_get:jaiabot.config.Simulator.hub_gpsd_device)
2270  return _internal_hub_gpsd_device();
2271 }
2272 inline void Simulator::set_hub_gpsd_device(const std::string& value) {
2273  _internal_set_hub_gpsd_device(value);
2274  // @@protoc_insertion_point(field_set:jaiabot.config.Simulator.hub_gpsd_device)
2275 }
2276 inline std::string* Simulator::mutable_hub_gpsd_device() {
2277  // @@protoc_insertion_point(field_mutable:jaiabot.config.Simulator.hub_gpsd_device)
2278  return _internal_mutable_hub_gpsd_device();
2279 }
2280 inline const std::string& Simulator::_internal_hub_gpsd_device() const {
2281  return hub_gpsd_device_.Get();
2282 }
2283 inline void Simulator::_internal_set_hub_gpsd_device(const std::string& value) {
2284  _has_bits_[0] |= 0x00000001u;
2285  hub_gpsd_device_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), value, GetArena());
2286 }
2287 inline void Simulator::set_hub_gpsd_device(std::string&& value) {
2288  _has_bits_[0] |= 0x00000001u;
2289  hub_gpsd_device_.Set(
2290  &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::move(value), GetArena());
2291  // @@protoc_insertion_point(field_set_rvalue:jaiabot.config.Simulator.hub_gpsd_device)
2292 }
2293 inline void Simulator::set_hub_gpsd_device(const char* value) {
2294  GOOGLE_DCHECK(value != nullptr);
2295  _has_bits_[0] |= 0x00000001u;
2296  hub_gpsd_device_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(value),
2297  GetArena());
2298  // @@protoc_insertion_point(field_set_char:jaiabot.config.Simulator.hub_gpsd_device)
2299 }
2300 inline void Simulator::set_hub_gpsd_device(const char* value,
2301  size_t size) {
2302  _has_bits_[0] |= 0x00000001u;
2303  hub_gpsd_device_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(
2304  reinterpret_cast<const char*>(value), size), GetArena());
2305  // @@protoc_insertion_point(field_set_pointer:jaiabot.config.Simulator.hub_gpsd_device)
2306 }
2307 inline std::string* Simulator::_internal_mutable_hub_gpsd_device() {
2308  _has_bits_[0] |= 0x00000001u;
2309  return hub_gpsd_device_.Mutable(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
2310 }
2311 inline std::string* Simulator::release_hub_gpsd_device() {
2312  // @@protoc_insertion_point(field_release:jaiabot.config.Simulator.hub_gpsd_device)
2313  if (!_internal_has_hub_gpsd_device()) {
2314  return nullptr;
2315  }
2316  _has_bits_[0] &= ~0x00000001u;
2317  return hub_gpsd_device_.ReleaseNonDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
2318 }
2319 inline void Simulator::set_allocated_hub_gpsd_device(std::string* hub_gpsd_device) {
2320  if (hub_gpsd_device != nullptr) {
2321  _has_bits_[0] |= 0x00000001u;
2322  } else {
2323  _has_bits_[0] &= ~0x00000001u;
2324  }
2325  hub_gpsd_device_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), hub_gpsd_device,
2326  GetArena());
2327  // @@protoc_insertion_point(field_set_allocated:jaiabot.config.Simulator.hub_gpsd_device)
2328 }
2329 inline std::string* Simulator::unsafe_arena_release_hub_gpsd_device() {
2330  // @@protoc_insertion_point(field_unsafe_arena_release:jaiabot.config.Simulator.hub_gpsd_device)
2331  GOOGLE_DCHECK(GetArena() != nullptr);
2332  _has_bits_[0] &= ~0x00000001u;
2333  return hub_gpsd_device_.UnsafeArenaRelease(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
2334  GetArena());
2335 }
2336 inline void Simulator::unsafe_arena_set_allocated_hub_gpsd_device(
2337  std::string* hub_gpsd_device) {
2338  GOOGLE_DCHECK(GetArena() != nullptr);
2339  if (hub_gpsd_device != nullptr) {
2340  _has_bits_[0] |= 0x00000001u;
2341  } else {
2342  _has_bits_[0] &= ~0x00000001u;
2343  }
2344  hub_gpsd_device_.UnsafeArenaSetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
2345  hub_gpsd_device, GetArena());
2346  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:jaiabot.config.Simulator.hub_gpsd_device)
2347 }
2348 
2349 // optional .jaiabot.config.ArduinoSimThread arduino_config = 60;
2350 inline bool Simulator::_internal_has_arduino_config() const {
2351  bool value = (_has_bits_[0] & 0x00000100u) != 0;
2352  PROTOBUF_ASSUME(!value || arduino_config_ != nullptr);
2353  return value;
2354 }
2355 inline bool Simulator::has_arduino_config() const {
2356  return _internal_has_arduino_config();
2357 }
2358 inline void Simulator::clear_arduino_config() {
2359  if (arduino_config_ != nullptr) arduino_config_->Clear();
2360  _has_bits_[0] &= ~0x00000100u;
2361 }
2362 inline const ::jaiabot::config::ArduinoSimThread& Simulator::_internal_arduino_config() const {
2363  const ::jaiabot::config::ArduinoSimThread* p = arduino_config_;
2364  return p != nullptr ? *p : *reinterpret_cast<const ::jaiabot::config::ArduinoSimThread*>(
2366 }
2367 inline const ::jaiabot::config::ArduinoSimThread& Simulator::arduino_config() const {
2368  // @@protoc_insertion_point(field_get:jaiabot.config.Simulator.arduino_config)
2369  return _internal_arduino_config();
2370 }
2371 inline void Simulator::unsafe_arena_set_allocated_arduino_config(
2372  ::jaiabot::config::ArduinoSimThread* arduino_config) {
2373  if (GetArena() == nullptr) {
2374  delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(arduino_config_);
2375  }
2376  arduino_config_ = arduino_config;
2377  if (arduino_config) {
2378  _has_bits_[0] |= 0x00000100u;
2379  } else {
2380  _has_bits_[0] &= ~0x00000100u;
2381  }
2382  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:jaiabot.config.Simulator.arduino_config)
2383 }
2384 inline ::jaiabot::config::ArduinoSimThread* Simulator::release_arduino_config() {
2385  auto temp = unsafe_arena_release_arduino_config();
2386  if (GetArena() != nullptr) {
2387  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
2388  }
2389  return temp;
2390 }
2391 inline ::jaiabot::config::ArduinoSimThread* Simulator::unsafe_arena_release_arduino_config() {
2392  // @@protoc_insertion_point(field_release:jaiabot.config.Simulator.arduino_config)
2393  _has_bits_[0] &= ~0x00000100u;
2394  ::jaiabot::config::ArduinoSimThread* temp = arduino_config_;
2395  arduino_config_ = nullptr;
2396  return temp;
2397 }
2398 inline ::jaiabot::config::ArduinoSimThread* Simulator::_internal_mutable_arduino_config() {
2399  _has_bits_[0] |= 0x00000100u;
2400  if (arduino_config_ == nullptr) {
2401  auto* p = CreateMaybeMessage<::jaiabot::config::ArduinoSimThread>(GetArena());
2402  arduino_config_ = p;
2403  }
2404  return arduino_config_;
2405 }
2406 inline ::jaiabot::config::ArduinoSimThread* Simulator::mutable_arduino_config() {
2407  // @@protoc_insertion_point(field_mutable:jaiabot.config.Simulator.arduino_config)
2408  return _internal_mutable_arduino_config();
2409 }
2410 inline void Simulator::set_allocated_arduino_config(::jaiabot::config::ArduinoSimThread* arduino_config) {
2411  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
2412  if (message_arena == nullptr) {
2413  delete arduino_config_;
2414  }
2415  if (arduino_config) {
2416  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
2417  ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(arduino_config);
2418  if (message_arena != submessage_arena) {
2419  arduino_config = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
2420  message_arena, arduino_config, submessage_arena);
2421  }
2422  _has_bits_[0] |= 0x00000100u;
2423  } else {
2424  _has_bits_[0] &= ~0x00000100u;
2425  }
2426  arduino_config_ = arduino_config;
2427  // @@protoc_insertion_point(field_set_allocated:jaiabot.config.Simulator.arduino_config)
2428 }
2429 
2430 // -------------------------------------------------------------------
2431 
2432 // ArduinoSimThread
2433 
2434 // optional int32 voltage_period = 1 [default = 1];
2435 inline bool ArduinoSimThread::_internal_has_voltage_period() const {
2436  bool value = (_has_bits_[0] & 0x00000001u) != 0;
2437  return value;
2438 }
2439 inline bool ArduinoSimThread::has_voltage_period() const {
2440  return _internal_has_voltage_period();
2441 }
2442 inline void ArduinoSimThread::clear_voltage_period() {
2443  voltage_period_ = 1;
2444  _has_bits_[0] &= ~0x00000001u;
2445 }
2446 inline ::PROTOBUF_NAMESPACE_ID::int32 ArduinoSimThread::_internal_voltage_period() const {
2447  return voltage_period_;
2448 }
2449 inline ::PROTOBUF_NAMESPACE_ID::int32 ArduinoSimThread::voltage_period() const {
2450  // @@protoc_insertion_point(field_get:jaiabot.config.ArduinoSimThread.voltage_period)
2451  return _internal_voltage_period();
2452 }
2453 inline void ArduinoSimThread::_internal_set_voltage_period(::PROTOBUF_NAMESPACE_ID::int32 value) {
2454  _has_bits_[0] |= 0x00000001u;
2455  voltage_period_ = value;
2456 }
2457 inline void ArduinoSimThread::set_voltage_period(::PROTOBUF_NAMESPACE_ID::int32 value) {
2458  _internal_set_voltage_period(value);
2459  // @@protoc_insertion_point(field_set:jaiabot.config.ArduinoSimThread.voltage_period)
2460 }
2461 
2462 // optional double voltage_step_decrease = 2 [default = 0.1];
2463 inline bool ArduinoSimThread::_internal_has_voltage_step_decrease() const {
2464  bool value = (_has_bits_[0] & 0x00000002u) != 0;
2465  return value;
2466 }
2467 inline bool ArduinoSimThread::has_voltage_step_decrease() const {
2468  return _internal_has_voltage_step_decrease();
2469 }
2470 inline void ArduinoSimThread::clear_voltage_step_decrease() {
2471  voltage_step_decrease_ = 0.1;
2472  _has_bits_[0] &= ~0x00000002u;
2473 }
2474 inline double ArduinoSimThread::_internal_voltage_step_decrease() const {
2475  return voltage_step_decrease_;
2476 }
2477 inline double ArduinoSimThread::voltage_step_decrease() const {
2478  // @@protoc_insertion_point(field_get:jaiabot.config.ArduinoSimThread.voltage_step_decrease)
2479  return _internal_voltage_step_decrease();
2480 }
2481 inline void ArduinoSimThread::_internal_set_voltage_step_decrease(double value) {
2482  _has_bits_[0] |= 0x00000002u;
2483  voltage_step_decrease_ = value;
2484 }
2485 inline void ArduinoSimThread::set_voltage_step_decrease(double value) {
2486  _internal_set_voltage_step_decrease(value);
2487  // @@protoc_insertion_point(field_set:jaiabot.config.ArduinoSimThread.voltage_step_decrease)
2488 }
2489 
2490 // optional double voltage_start = 3 [default = 24];
2491 inline bool ArduinoSimThread::_internal_has_voltage_start() const {
2492  bool value = (_has_bits_[0] & 0x00000004u) != 0;
2493  return value;
2494 }
2495 inline bool ArduinoSimThread::has_voltage_start() const {
2496  return _internal_has_voltage_start();
2497 }
2498 inline void ArduinoSimThread::clear_voltage_start() {
2499  voltage_start_ = 24;
2500  _has_bits_[0] &= ~0x00000004u;
2501 }
2502 inline double ArduinoSimThread::_internal_voltage_start() const {
2503  return voltage_start_;
2504 }
2505 inline double ArduinoSimThread::voltage_start() const {
2506  // @@protoc_insertion_point(field_get:jaiabot.config.ArduinoSimThread.voltage_start)
2507  return _internal_voltage_start();
2508 }
2509 inline void ArduinoSimThread::_internal_set_voltage_start(double value) {
2510  _has_bits_[0] |= 0x00000004u;
2511  voltage_start_ = value;
2512 }
2513 inline void ArduinoSimThread::set_voltage_start(double value) {
2514  _internal_set_voltage_start(value);
2515  // @@protoc_insertion_point(field_set:jaiabot.config.ArduinoSimThread.voltage_start)
2516 }
2517 
2518 // optional double reset_voltage_level = 4 [default = 15];
2519 inline bool ArduinoSimThread::_internal_has_reset_voltage_level() const {
2520  bool value = (_has_bits_[0] & 0x00000008u) != 0;
2521  return value;
2522 }
2523 inline bool ArduinoSimThread::has_reset_voltage_level() const {
2524  return _internal_has_reset_voltage_level();
2525 }
2526 inline void ArduinoSimThread::clear_reset_voltage_level() {
2527  reset_voltage_level_ = 15;
2528  _has_bits_[0] &= ~0x00000008u;
2529 }
2530 inline double ArduinoSimThread::_internal_reset_voltage_level() const {
2531  return reset_voltage_level_;
2532 }
2533 inline double ArduinoSimThread::reset_voltage_level() const {
2534  // @@protoc_insertion_point(field_get:jaiabot.config.ArduinoSimThread.reset_voltage_level)
2535  return _internal_reset_voltage_level();
2536 }
2537 inline void ArduinoSimThread::_internal_set_reset_voltage_level(double value) {
2538  _has_bits_[0] |= 0x00000008u;
2539  reset_voltage_level_ = value;
2540 }
2541 inline void ArduinoSimThread::set_reset_voltage_level(double value) {
2542  _internal_set_reset_voltage_level(value);
2543  // @@protoc_insertion_point(field_set:jaiabot.config.ArduinoSimThread.reset_voltage_level)
2544 }
2545 
2546 #ifdef __GNUC__
2547  #pragma GCC diagnostic pop
2548 #endif // __GNUC__
2549 // -------------------------------------------------------------------
2550 
2551 // -------------------------------------------------------------------
2552 
2553 
2554 // @@protoc_insertion_point(namespace_scope)
2555 
2556 } // namespace config
2557 } // namespace jaiabot
2558 
2559 // @@protoc_insertion_point(global_scope)
2560 
2561 #include <google/protobuf/port_undef.inc>
2562 #endif // GOOGLE_PROTOBUF_INCLUDED_GOOGLE_PROTOBUF_INCLUDED_bin_2fsimulator_2fconfig_2eproto
void set_voltage_step_decrease(double value)
inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet * mutable_unknown_fields()
Definition: config.pb.h:124
ArduinoSimThread * New() const final
Definition: config.pb.h:1037
Simulator_ScalarSample * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: config.pb.h:170
Simulator(::PROTOBUF_NAMESPACE_ID::Arena *arena)
static const Simulator & default_instance()
boost::units::length_dimension seafloor_depth_dimension
Definition: config.pb.h:852
boost::units::quantity< seafloor_wavelength_unit, double > seafloor_wavelength_with_units() const
Definition: config.pb.h:881
static const Simulator_ScalarSample * internal_default_instance()
Definition: config.pb.h:140
void Swap(ArduinoSimThread *other)
Definition: config.pb.h:1021
boost::units::quantity< seafloor_depth_unit, double > seafloor_depth_with_units() const
Definition: config.pb.h:866
Quantity seafloor_amplitude_with_units() const
Definition: config.pb.h:893
boost::units::plane_angle_dimension pitch_at_rest_dimension
Definition: config.pb.h:897
void set_reset_voltage_level(double value)
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
friend void swap(Simulator &a, Simulator &b)
Definition: config.pb.h:356
Simulator & operator=(const Simulator &from)
Definition: config.pb.h:317
Quantity seafloor_depth_with_units() const
Definition: config.pb.h:863
::PROTOBUF_NAMESPACE_ID::int32 voltage_period() const
std::string * release_hub_gpsd_device()
void UnsafeArenaSwap(Simulator *other)
Definition: config.pb.h:367
boost::units::length_dimension depth_dimension
Definition: config.pb.h:259
Simulator_ScalarSample & operator=(Simulator_ScalarSample &&from) noexcept
Definition: config.pb.h:112
void set_voltage_start(double value)
void CopyFrom(const ArduinoSimThread &from)
Simulator(Simulator &&from) noexcept
Definition: config.pb.h:312
void set_salinity(double value)
Simulator_ScalarSample(::PROTOBUF_NAMESPACE_ID::Arena *arena)
void set_pitch_at_rest_with_units(Quantity value_w_units)
Definition: config.pb.h:904
Simulator_ScalarSample * New() const final
Definition: config.pb.h:166
Simulator_ScalarSample ScalarSample
Definition: config.pb.h:422
boost::units::unit< seafloor_wavelength_dimension, boost::units::si::system > seafloor_wavelength_unit
Definition: config.pb.h:871
void MergeFrom(const Simulator_ScalarSample &from)
boost::units::temperature_dimension temperature_dimension
Definition: config.pb.h:272
boost::units::unit< temperature_stdev_dimension, boost::units::celsius::system > temperature_stdev_unit
Definition: config.pb.h:916
friend void swap(ArduinoSimThread &a, ArduinoSimThread &b)
Definition: config.pb.h:1018
boost::units::unit< seafloor_depth_dimension, boost::units::si::system > seafloor_depth_unit
Definition: config.pb.h:856
Simulator & operator=(Simulator &&from) noexcept
Definition: config.pb.h:321
Simulator_ScalarSample(Simulator_ScalarSample &&from) noexcept
Definition: config.pb.h:103
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
Definition: config.pb.h:134
void MergeFrom(const ArduinoSimThread &from)
void set_voltage_period(::PROTOBUF_NAMESPACE_ID::int32 value)
boost::units::absolute< boost::units::unit< temperature_dimension, boost::units::celsius::system > > temperature_unit
Definition: config.pb.h:276
void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message &from) final
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
Definition: config.pb.h:131
boost::units::quantity< pitch_at_rest_unit, double > pitch_at_rest_with_units() const
Definition: config.pb.h:911
boost::units::velocity_dimension vertical_dive_rate_dimension
Definition: config.pb.h:839
const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet & unknown_fields() const
Definition: config.pb.h:121
friend void swap(Simulator_ScalarSample &a, Simulator_ScalarSample &b)
Definition: config.pb.h:147
ArduinoSimThread & operator=(const ArduinoSimThread &from)
Definition: config.pb.h:979
ArduinoSimThread(::PROTOBUF_NAMESPACE_ID::Arena *arena)
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
static const ArduinoSimThread * internal_default_instance()
Definition: config.pb.h:1011
boost::units::unit< vertical_dive_rate_dimension, boost::units::si::system > vertical_dive_rate_unit
Definition: config.pb.h:841
double voltage_step_decrease() const
void set_depth(double value)
void set_seafloor_wavelength_with_units(Quantity value_w_units)
Definition: config.pb.h:874
void UnsafeArenaSwap(Simulator_ScalarSample *other)
Definition: config.pb.h:158
boost::units::length_dimension seafloor_wavelength_dimension
Definition: config.pb.h:867
static const Simulator * internal_default_instance()
Definition: config.pb.h:349
Simulator * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: config.pb.h:379
boost::units::quantity< temperature_unit, double > temperature_with_units() const
Definition: config.pb.h:286
::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::jaiabot::config::Simulator_ScalarSample > * mutable_sample()
const std::string & hub_gpsd_device() const
void set_hub_gpsd_device(const char *value)
void set_temperature(double value)
void set_allocated_hub_gpsd_device(std::string *hub_gpsd_device)
Simulator * New() const final
Definition: config.pb.h:375
void set_hub_gpsd_device(const std::string &value)
boost::units::length_dimension seafloor_amplitude_dimension
Definition: config.pb.h:882
static const Simulator_ScalarSample & default_instance()
void set_temperature_with_units(Quantity value_w_units)
Definition: config.pb.h:279
void CopyFrom(const Simulator &from)
Quantity temperature_with_units() const
Definition: config.pb.h:283
ArduinoSimThread & operator=(ArduinoSimThread &&from) noexcept
Definition: config.pb.h:983
boost::units::unit< pitch_at_rest_dimension, boost::units::degree::system > pitch_at_rest_unit
Definition: config.pb.h:901
void set_seafloor_depth_with_units(Quantity value_w_units)
Definition: config.pb.h:859
ArduinoSimThread(const ArduinoSimThread &from)
boost::units::unit< seafloor_amplitude_dimension, boost::units::si::system > seafloor_amplitude_unit
Definition: config.pb.h:886
Quantity temperature_stdev_with_units() const
Definition: config.pb.h:923
boost::units::temperature_dimension temperature_stdev_dimension
Definition: config.pb.h:912
void Swap(Simulator *other)
Definition: config.pb.h:359
void set_depth_with_units(Quantity value_w_units)
Definition: config.pb.h:264
Quantity vertical_dive_rate_with_units() const
Definition: config.pb.h:848
const ::jaiabot::config::Simulator_ScalarSample & sample(int index) const
void UnsafeArenaSwap(ArduinoSimThread *other)
Definition: config.pb.h:1029
Simulator_ScalarSample(const Simulator_ScalarSample &from)
::jaiabot::config::Simulator_ScalarSample * mutable_sample(int index)
static const ArduinoSimThread & default_instance()
::jaiabot::config::Simulator_ScalarSample * add_sample()
void set_temperature_stdev_with_units(Quantity value_w_units)
Definition: config.pb.h:919
Simulator_ScalarSample & operator=(const Simulator_ScalarSample &from)
Definition: config.pb.h:108
ArduinoSimThread * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: config.pb.h:1041
std::string * mutable_hub_gpsd_device()
boost::units::quantity< seafloor_amplitude_unit, double > seafloor_amplitude_with_units() const
Definition: config.pb.h:896
void set_seafloor_amplitude_with_units(Quantity value_w_units)
Definition: config.pb.h:889
void set_hub_gpsd_device(const char *value, size_t size)
boost::units::unit< depth_dimension, boost::units::si::system > depth_unit
Definition: config.pb.h:261
boost::units::quantity< depth_unit, double > depth_with_units() const
Definition: config.pb.h:271
Quantity pitch_at_rest_with_units() const
Definition: config.pb.h:908
void CopyFrom(const Simulator_ScalarSample &from)
Quantity depth_with_units() const
Definition: config.pb.h:268
void MergeFrom(const Simulator &from)
Simulator(const Simulator &from)
boost::units::quantity< temperature_stdev_unit, double > temperature_stdev_with_units() const
Definition: config.pb.h:926
const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::jaiabot::config::Simulator_ScalarSample > & sample() const
void set_hub_gpsd_device(std::string &&value)
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
Definition: config.pb.h:128
Quantity seafloor_wavelength_with_units() const
Definition: config.pb.h:878
void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message &from) final
ArduinoSimThread(ArduinoSimThread &&from) noexcept
Definition: config.pb.h:974
void Swap(Simulator_ScalarSample *other)
Definition: config.pb.h:150
boost::units::quantity< vertical_dive_rate_unit, double > vertical_dive_rate_with_units() const
Definition: config.pb.h:851
ArduinoSimThreadDefaultTypeInternal _ArduinoSimThread_default_instance_
Simulator_ScalarSampleDefaultTypeInternal _Simulator_ScalarSample_default_instance_
SimulatorDefaultTypeInternal _Simulator_default_instance_
constexpr goby::middleware::Group salinity
Definition: groups.h:45
constexpr goby::middleware::Group moos
Definition: groups.h:106
GeographicCoordinateDefaultTypeInternal _GeographicCoordinate_default_instance_
extern ::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier< ::goby::acomms::protobuf::DriverConfig, ::PROTOBUF_NAMESPACE_ID::internal::MessageTypeTraits< ::jaiabot::udp::protobuf::Config >, 11, false > config
const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_bin_2fsimulator_2fconfig_2eproto
static const ::PROTOBUF_NAMESPACE_ID::internal::AuxillaryParseTableField aux[] PROTOBUF_SECTION_VARIABLE(protodesc_cold)
static const ::PROTOBUF_NAMESPACE_ID::uint32 offsets[]
Definition: config.pb.h:70
static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[]
Definition: config.pb.h:69
static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[3] PROTOBUF_SECTION_VARIABLE(protodesc_cold)
static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTableField entries[] PROTOBUF_SECTION_VARIABLE(protodesc_cold)
static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[]
Definition: config.pb.h:68