NETSIM  1.0.0
Hardware-in-the-loop acoustic network simulator
environment.pb.h
Go to the documentation of this file.
1 // Generated by the protocol buffer compiler. DO NOT EDIT!
2 // source: netsim/acousticstoolbox/environment.proto
3 
4 #ifndef GOOGLE_PROTOBUF_INCLUDED_netsim_2facousticstoolbox_2fenvironment_2eproto
5 #define GOOGLE_PROTOBUF_INCLUDED_netsim_2facousticstoolbox_2fenvironment_2eproto
6 
7 #include <limits>
8 #include <string>
9 
10 #include <google/protobuf/port_def.inc>
11 #if PROTOBUF_VERSION < 3012000
12 #error This file was generated by a newer version of protoc which is
13 #error incompatible with your Protocol Buffer headers. Please update
14 #error your headers.
15 #endif
16 #if 3012004 < PROTOBUF_MIN_PROTOC_VERSION
17 #error This file was generated by an older version of protoc which is
18 #error incompatible with your Protocol Buffer headers. Please
19 #error regenerate this file with a newer version of protoc.
20 #endif
21 
22 #include <google/protobuf/port_undef.inc>
23 #include <google/protobuf/io/coded_stream.h>
24 #include <google/protobuf/arena.h>
25 #include <google/protobuf/arenastring.h>
26 #include <google/protobuf/generated_message_table_driven.h>
27 #include <google/protobuf/generated_message_util.h>
28 #include <google/protobuf/inlined_string_field.h>
29 #include <google/protobuf/metadata_lite.h>
30 #include <google/protobuf/generated_message_reflection.h>
31 #include <google/protobuf/message.h>
32 #include <google/protobuf/repeated_field.h> // IWYU pragma: export
33 #include <google/protobuf/extension_set.h> // IWYU pragma: export
34 #include <google/protobuf/generated_enum_reflection.h>
35 #include <google/protobuf/unknown_field_set.h>
36 #include "goby/protobuf/option_extensions.pb.h"
37 #include <boost/units/quantity.hpp>
38 #include <boost/units/absolute.hpp>
39 #include <boost/units/dimensionless_type.hpp>
40 #include <boost/units/make_scaled_unit.hpp>
41 // @@protoc_insertion_point(includes)
42 #include <google/protobuf/port_def.inc>
43 #define PROTOBUF_INTERNAL_EXPORT_netsim_2facousticstoolbox_2fenvironment_2eproto
44 PROTOBUF_NAMESPACE_OPEN
45 namespace internal {
46 class AnyMetadata;
47 } // namespace internal
48 PROTOBUF_NAMESPACE_CLOSE
49 
50 // Internal implementation detail -- do not use these members.
52  static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTableField entries[]
53  PROTOBUF_SECTION_VARIABLE(protodesc_cold);
54  static const ::PROTOBUF_NAMESPACE_ID::internal::AuxillaryParseTableField aux[]
55  PROTOBUF_SECTION_VARIABLE(protodesc_cold);
56  static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[15]
57  PROTOBUF_SECTION_VARIABLE(protodesc_cold);
58  static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[];
59  static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[];
60  static const ::PROTOBUF_NAMESPACE_ID::uint32 offsets[];
61 };
62 extern const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_netsim_2facousticstoolbox_2fenvironment_2eproto;
63 namespace netsim {
64 namespace bellhop {
65 namespace protobuf {
66 class Environment;
67 class EnvironmentDefaultTypeInternal;
68 extern EnvironmentDefaultTypeInternal _Environment_default_instance_;
69 class Environment_AdaptiveInfo;
70 class Environment_AdaptiveInfoDefaultTypeInternal;
71 extern Environment_AdaptiveInfoDefaultTypeInternal _Environment_AdaptiveInfo_default_instance_;
72 class Environment_Beams;
73 class Environment_BeamsDefaultTypeInternal;
74 extern Environment_BeamsDefaultTypeInternal _Environment_Beams_default_instance_;
75 class Environment_Bottom;
76 class Environment_BottomDefaultTypeInternal;
77 extern Environment_BottomDefaultTypeInternal _Environment_Bottom_default_instance_;
78 class Environment_Medium;
79 class Environment_MediumDefaultTypeInternal;
80 extern Environment_MediumDefaultTypeInternal _Environment_Medium_default_instance_;
81 class Environment_Medium_Attenuation;
82 class Environment_Medium_AttenuationDefaultTypeInternal;
83 extern Environment_Medium_AttenuationDefaultTypeInternal _Environment_Medium_Attenuation_default_instance_;
84 class Environment_Medium_RCSample;
85 class Environment_Medium_RCSampleDefaultTypeInternal;
86 extern Environment_Medium_RCSampleDefaultTypeInternal _Environment_Medium_RCSample_default_instance_;
87 class Environment_Output;
88 class Environment_OutputDefaultTypeInternal;
89 extern Environment_OutputDefaultTypeInternal _Environment_Output_default_instance_;
90 class Environment_Receivers;
91 class Environment_ReceiversDefaultTypeInternal;
92 extern Environment_ReceiversDefaultTypeInternal _Environment_Receivers_default_instance_;
93 class Environment_Receivers_ReceiverPosition;
94 class Environment_Receivers_ReceiverPositionDefaultTypeInternal;
95 extern Environment_Receivers_ReceiverPositionDefaultTypeInternal _Environment_Receivers_ReceiverPosition_default_instance_;
96 class Environment_Sources;
97 class Environment_SourcesDefaultTypeInternal;
98 extern Environment_SourcesDefaultTypeInternal _Environment_Sources_default_instance_;
99 class Environment_Sources_SourcePosition;
100 class Environment_Sources_SourcePositionDefaultTypeInternal;
101 extern Environment_Sources_SourcePositionDefaultTypeInternal _Environment_Sources_SourcePosition_default_instance_;
102 class Environment_Surface;
103 class Environment_SurfaceDefaultTypeInternal;
104 extern Environment_SurfaceDefaultTypeInternal _Environment_Surface_default_instance_;
105 class Environment_WaterColumn;
106 class Environment_WaterColumnDefaultTypeInternal;
107 extern Environment_WaterColumnDefaultTypeInternal _Environment_WaterColumn_default_instance_;
108 class Environment_WaterColumn_SSPSample;
109 class Environment_WaterColumn_SSPSampleDefaultTypeInternal;
110 extern Environment_WaterColumn_SSPSampleDefaultTypeInternal _Environment_WaterColumn_SSPSample_default_instance_;
111 } // namespace protobuf
112 } // namespace bellhop
113 } // namespace netsim
114 PROTOBUF_NAMESPACE_OPEN
115 template<> ::netsim::bellhop::protobuf::Environment* Arena::CreateMaybeMessage<::netsim::bellhop::protobuf::Environment>(Arena*);
116 template<> ::netsim::bellhop::protobuf::Environment_AdaptiveInfo* Arena::CreateMaybeMessage<::netsim::bellhop::protobuf::Environment_AdaptiveInfo>(Arena*);
117 template<> ::netsim::bellhop::protobuf::Environment_Beams* Arena::CreateMaybeMessage<::netsim::bellhop::protobuf::Environment_Beams>(Arena*);
118 template<> ::netsim::bellhop::protobuf::Environment_Bottom* Arena::CreateMaybeMessage<::netsim::bellhop::protobuf::Environment_Bottom>(Arena*);
119 template<> ::netsim::bellhop::protobuf::Environment_Medium* Arena::CreateMaybeMessage<::netsim::bellhop::protobuf::Environment_Medium>(Arena*);
120 template<> ::netsim::bellhop::protobuf::Environment_Medium_Attenuation* Arena::CreateMaybeMessage<::netsim::bellhop::protobuf::Environment_Medium_Attenuation>(Arena*);
121 template<> ::netsim::bellhop::protobuf::Environment_Medium_RCSample* Arena::CreateMaybeMessage<::netsim::bellhop::protobuf::Environment_Medium_RCSample>(Arena*);
122 template<> ::netsim::bellhop::protobuf::Environment_Output* Arena::CreateMaybeMessage<::netsim::bellhop::protobuf::Environment_Output>(Arena*);
123 template<> ::netsim::bellhop::protobuf::Environment_Receivers* Arena::CreateMaybeMessage<::netsim::bellhop::protobuf::Environment_Receivers>(Arena*);
124 template<> ::netsim::bellhop::protobuf::Environment_Receivers_ReceiverPosition* Arena::CreateMaybeMessage<::netsim::bellhop::protobuf::Environment_Receivers_ReceiverPosition>(Arena*);
125 template<> ::netsim::bellhop::protobuf::Environment_Sources* Arena::CreateMaybeMessage<::netsim::bellhop::protobuf::Environment_Sources>(Arena*);
126 template<> ::netsim::bellhop::protobuf::Environment_Sources_SourcePosition* Arena::CreateMaybeMessage<::netsim::bellhop::protobuf::Environment_Sources_SourcePosition>(Arena*);
127 template<> ::netsim::bellhop::protobuf::Environment_Surface* Arena::CreateMaybeMessage<::netsim::bellhop::protobuf::Environment_Surface>(Arena*);
128 template<> ::netsim::bellhop::protobuf::Environment_WaterColumn* Arena::CreateMaybeMessage<::netsim::bellhop::protobuf::Environment_WaterColumn>(Arena*);
129 template<> ::netsim::bellhop::protobuf::Environment_WaterColumn_SSPSample* Arena::CreateMaybeMessage<::netsim::bellhop::protobuf::Environment_WaterColumn_SSPSample>(Arena*);
130 PROTOBUF_NAMESPACE_CLOSE
131 namespace netsim {
132 namespace bellhop {
133 namespace protobuf {
134 
142 };
147 
148 const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* Environment_Output_OutputType_descriptor();
149 template<typename T>
150 inline const std::string& Environment_Output_OutputType_Name(T enum_t_value) {
151  static_assert(::std::is_same<T, Environment_Output_OutputType>::value ||
152  ::std::is_integral<T>::value,
153  "Incorrect type passed to function Environment_Output_OutputType_Name.");
154  return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
156 }
158  const std::string& name, Environment_Output_OutputType* value) {
159  return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<Environment_Output_OutputType>(
161 }
169 };
174 
175 const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* Environment_Medium_Attenuation_Units_descriptor();
176 template<typename T>
177 inline const std::string& Environment_Medium_Attenuation_Units_Name(T enum_t_value) {
178  static_assert(::std::is_same<T, Environment_Medium_Attenuation_Units>::value ||
179  ::std::is_integral<T>::value,
180  "Incorrect type passed to function Environment_Medium_Attenuation_Units_Name.");
181  return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
183 }
185  const std::string& name, Environment_Medium_Attenuation_Units* value) {
186  return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<Environment_Medium_Attenuation_Units>(
188 }
194 };
199 
200 const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* Environment_Medium_MediumType_descriptor();
201 template<typename T>
202 inline const std::string& Environment_Medium_MediumType_Name(T enum_t_value) {
203  static_assert(::std::is_same<T, Environment_Medium_MediumType>::value ||
204  ::std::is_integral<T>::value,
205  "Incorrect type passed to function Environment_Medium_MediumType_Name.");
206  return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
208 }
210  const std::string& name, Environment_Medium_MediumType* value) {
211  return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<Environment_Medium_MediumType>(
213 }
218 };
223 
224 const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* Environment_WaterColumn_SSPInterpolation_descriptor();
225 template<typename T>
226 inline const std::string& Environment_WaterColumn_SSPInterpolation_Name(T enum_t_value) {
227  static_assert(::std::is_same<T, Environment_WaterColumn_SSPInterpolation>::value ||
228  ::std::is_integral<T>::value,
229  "Incorrect type passed to function Environment_WaterColumn_SSPInterpolation_Name.");
230  return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
232 }
234  const std::string& name, Environment_WaterColumn_SSPInterpolation* value) {
235  return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<Environment_WaterColumn_SSPInterpolation>(
237 }
243 };
248 
249 const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* Environment_Beams_ApproximationType_descriptor();
250 template<typename T>
251 inline const std::string& Environment_Beams_ApproximationType_Name(T enum_t_value) {
252  static_assert(::std::is_same<T, Environment_Beams_ApproximationType>::value ||
253  ::std::is_integral<T>::value,
254  "Incorrect type passed to function Environment_Beams_ApproximationType_Name.");
255  return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
257 }
259  const std::string& name, Environment_Beams_ApproximationType* value) {
260  return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<Environment_Beams_ApproximationType>(
262 }
263 // ===================================================================
264 
265 class Environment_Output PROTOBUF_FINAL :
266  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:netsim.bellhop.protobuf.Environment.Output) */ {
267  public:
268  inline Environment_Output() : Environment_Output(nullptr) {};
270 
271  Environment_Output(const Environment_Output& from);
272  Environment_Output(Environment_Output&& from) noexcept
273  : Environment_Output() {
274  *this = ::std::move(from);
275  }
276 
277  inline Environment_Output& operator=(const Environment_Output& from) {
278  CopyFrom(from);
279  return *this;
280  }
281  inline Environment_Output& operator=(Environment_Output&& from) noexcept {
282  if (GetArena() == from.GetArena()) {
283  if (this != &from) InternalSwap(&from);
284  } else {
285  CopyFrom(from);
286  }
287  return *this;
288  }
289 
290  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
291  return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
292  }
293  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
294  return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
295  }
296 
297  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
298  return GetDescriptor();
299  }
300  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
301  return GetMetadataStatic().descriptor;
302  }
303  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
304  return GetMetadataStatic().reflection;
305  }
306  static const Environment_Output& default_instance();
307 
308  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
309  static inline const Environment_Output* internal_default_instance() {
310  return reinterpret_cast<const Environment_Output*>(
312  }
313  static constexpr int kIndexInFileMessages =
314  0;
315 
316  friend void swap(Environment_Output& a, Environment_Output& b) {
317  a.Swap(&b);
318  }
319  inline void Swap(Environment_Output* other) {
320  if (other == this) return;
321  if (GetArena() == other->GetArena()) {
322  InternalSwap(other);
323  } else {
324  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
325  }
326  }
327  void UnsafeArenaSwap(Environment_Output* other) {
328  if (other == this) return;
329  GOOGLE_DCHECK(GetArena() == other->GetArena());
330  InternalSwap(other);
331  }
332 
333  // implements Message ----------------------------------------------
334 
335  inline Environment_Output* New() const final {
336  return CreateMaybeMessage<Environment_Output>(nullptr);
337  }
338 
339  Environment_Output* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
340  return CreateMaybeMessage<Environment_Output>(arena);
341  }
342  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
343  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
344  void CopyFrom(const Environment_Output& from);
345  void MergeFrom(const Environment_Output& from);
346  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
347  bool IsInitialized() const final;
348 
349  size_t ByteSizeLong() const final;
350  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
351  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
352  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
353  int GetCachedSize() const final { return _cached_size_.Get(); }
354 
355  private:
356  inline void SharedCtor();
357  inline void SharedDtor();
358  void SetCachedSize(int size) const final;
359  void InternalSwap(Environment_Output* other);
360  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
361  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
362  return "netsim.bellhop.protobuf.Environment.Output";
363  }
364  protected:
365  explicit Environment_Output(::PROTOBUF_NAMESPACE_ID::Arena* arena);
366  private:
367  static void ArenaDtor(void* object);
368  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
369  public:
370 
371  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
372  private:
373  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
374  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_netsim_2facousticstoolbox_2fenvironment_2eproto);
375  return ::descriptor_table_netsim_2facousticstoolbox_2fenvironment_2eproto.file_level_metadata[kIndexInFileMessages];
376  }
377 
378  public:
379 
380  // nested types ----------------------------------------------------
381 
383  static constexpr OutputType ARRIVAL_TIMES =
385  static constexpr OutputType EIGENRAYS =
387  static constexpr OutputType RAYS =
389  static constexpr OutputType COHERENT_PRESSURE =
391  static constexpr OutputType INCOHERENT_PRESSURE =
393  static constexpr OutputType SEMICOHERENT_PRESSURE =
395  static inline bool OutputType_IsValid(int value) {
397  }
398  static constexpr OutputType OutputType_MIN =
400  static constexpr OutputType OutputType_MAX =
402  static constexpr int OutputType_ARRAYSIZE =
404  static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
407  }
408  template<typename T>
409  static inline const std::string& OutputType_Name(T enum_t_value) {
410  static_assert(::std::is_same<T, OutputType>::value ||
411  ::std::is_integral<T>::value,
412  "Incorrect type passed to function OutputType_Name.");
413  return Environment_Output_OutputType_Name(enum_t_value);
414  }
415  static inline bool OutputType_Parse(const std::string& name,
416  OutputType* value) {
417  return Environment_Output_OutputType_Parse(name, value);
418  }
419 
420  // accessors -------------------------------------------------------
421 
422  enum : int {
423  kTypeFieldNumber = 1,
424  };
425  // optional .netsim.bellhop.protobuf.Environment.Output.OutputType type = 1 [default = INCOHERENT_PRESSURE, (.goby.field) = {
426  bool has_type() const;
427  private:
428  bool _internal_has_type() const;
429  public:
430  void clear_type();
433  private:
435  void _internal_set_type(::netsim::bellhop::protobuf::Environment_Output_OutputType value);
436  public:
437 
438  // @@protoc_insertion_point(class_scope:netsim.bellhop.protobuf.Environment.Output)
439  private:
440  class _Internal;
441 
442  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
443  typedef void InternalArenaConstructable_;
444  typedef void DestructorSkippable_;
445  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
446  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
447  int type_;
448  friend struct ::TableStruct_netsim_2facousticstoolbox_2fenvironment_2eproto;
449 };
450 // -------------------------------------------------------------------
451 
452 class Environment_Medium_RCSample PROTOBUF_FINAL :
453  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:netsim.bellhop.protobuf.Environment.Medium.RCSample) */ {
454  public:
455  inline Environment_Medium_RCSample() : Environment_Medium_RCSample(nullptr) {};
457 
458  Environment_Medium_RCSample(const Environment_Medium_RCSample& from);
459  Environment_Medium_RCSample(Environment_Medium_RCSample&& from) noexcept
460  : Environment_Medium_RCSample() {
461  *this = ::std::move(from);
462  }
463 
464  inline Environment_Medium_RCSample& operator=(const Environment_Medium_RCSample& from) {
465  CopyFrom(from);
466  return *this;
467  }
468  inline Environment_Medium_RCSample& operator=(Environment_Medium_RCSample&& from) noexcept {
469  if (GetArena() == from.GetArena()) {
470  if (this != &from) InternalSwap(&from);
471  } else {
472  CopyFrom(from);
473  }
474  return *this;
475  }
476 
477  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
478  return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
479  }
480  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
481  return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
482  }
483 
484  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
485  return GetDescriptor();
486  }
487  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
488  return GetMetadataStatic().descriptor;
489  }
490  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
491  return GetMetadataStatic().reflection;
492  }
493  static const Environment_Medium_RCSample& default_instance();
494 
495  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
496  static inline const Environment_Medium_RCSample* internal_default_instance() {
497  return reinterpret_cast<const Environment_Medium_RCSample*>(
499  }
500  static constexpr int kIndexInFileMessages =
501  1;
502 
503  friend void swap(Environment_Medium_RCSample& a, Environment_Medium_RCSample& b) {
504  a.Swap(&b);
505  }
506  inline void Swap(Environment_Medium_RCSample* other) {
507  if (other == this) return;
508  if (GetArena() == other->GetArena()) {
509  InternalSwap(other);
510  } else {
511  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
512  }
513  }
514  void UnsafeArenaSwap(Environment_Medium_RCSample* other) {
515  if (other == this) return;
516  GOOGLE_DCHECK(GetArena() == other->GetArena());
517  InternalSwap(other);
518  }
519 
520  // implements Message ----------------------------------------------
521 
522  inline Environment_Medium_RCSample* New() const final {
523  return CreateMaybeMessage<Environment_Medium_RCSample>(nullptr);
524  }
525 
526  Environment_Medium_RCSample* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
527  return CreateMaybeMessage<Environment_Medium_RCSample>(arena);
528  }
529  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
530  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
531  void CopyFrom(const Environment_Medium_RCSample& from);
532  void MergeFrom(const Environment_Medium_RCSample& from);
533  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
534  bool IsInitialized() const final;
535 
536  size_t ByteSizeLong() const final;
537  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
538  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
539  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
540  int GetCachedSize() const final { return _cached_size_.Get(); }
541 
542  private:
543  inline void SharedCtor();
544  inline void SharedDtor();
545  void SetCachedSize(int size) const final;
546  void InternalSwap(Environment_Medium_RCSample* other);
547  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
548  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
549  return "netsim.bellhop.protobuf.Environment.Medium.RCSample";
550  }
551  protected:
552  explicit Environment_Medium_RCSample(::PROTOBUF_NAMESPACE_ID::Arena* arena);
553  private:
554  static void ArenaDtor(void* object);
555  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
556  public:
557 
558  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
559  private:
560  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
561  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_netsim_2facousticstoolbox_2fenvironment_2eproto);
562  return ::descriptor_table_netsim_2facousticstoolbox_2fenvironment_2eproto.file_level_metadata[kIndexInFileMessages];
563  }
564 
565  public:
566 
567  // nested types ----------------------------------------------------
568 
569  // accessors -------------------------------------------------------
570 
571  enum : int {
572  kAngleFieldNumber = 1,
573  kRcFieldNumber = 2,
574  kPhaseFieldNumber = 3,
575  };
576  // optional double angle = 1 [(.goby.field) = {
577  bool has_angle() const;
578  private:
579  bool _internal_has_angle() const;
580  public:
581  void clear_angle();
582  double angle() const;
583  void set_angle(double value);
584  private:
585  double _internal_angle() const;
586  void _internal_set_angle(double value);
587  public:
588 
589  // optional double rc = 2 [(.goby.field) = {
590  bool has_rc() const;
591  private:
592  bool _internal_has_rc() const;
593  public:
594  void clear_rc();
595  double rc() const;
596  void set_rc(double value);
597  private:
598  double _internal_rc() const;
599  void _internal_set_rc(double value);
600  public:
601 
602  // optional double phase = 3 [(.goby.field) = {
603  bool has_phase() const;
604  private:
605  bool _internal_has_phase() const;
606  public:
607  void clear_phase();
608  double phase() const;
609  void set_phase(double value);
610  private:
611  double _internal_phase() const;
612  void _internal_set_phase(double value);
613  public:
614 
615  // @@protoc_insertion_point(class_scope:netsim.bellhop.protobuf.Environment.Medium.RCSample)
616  private:
617  class _Internal;
618 
619  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
620  typedef void InternalArenaConstructable_;
621  typedef void DestructorSkippable_;
622  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
623  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
624  double angle_;
625  double rc_;
626  double phase_;
627  friend struct ::TableStruct_netsim_2facousticstoolbox_2fenvironment_2eproto;
628 };
629 // -------------------------------------------------------------------
630 
631 class Environment_Medium_Attenuation PROTOBUF_FINAL :
632  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:netsim.bellhop.protobuf.Environment.Medium.Attenuation) */ {
633  public:
634  inline Environment_Medium_Attenuation() : Environment_Medium_Attenuation(nullptr) {};
636 
637  Environment_Medium_Attenuation(const Environment_Medium_Attenuation& from);
638  Environment_Medium_Attenuation(Environment_Medium_Attenuation&& from) noexcept
639  : Environment_Medium_Attenuation() {
640  *this = ::std::move(from);
641  }
642 
643  inline Environment_Medium_Attenuation& operator=(const Environment_Medium_Attenuation& from) {
644  CopyFrom(from);
645  return *this;
646  }
647  inline Environment_Medium_Attenuation& operator=(Environment_Medium_Attenuation&& from) noexcept {
648  if (GetArena() == from.GetArena()) {
649  if (this != &from) InternalSwap(&from);
650  } else {
651  CopyFrom(from);
652  }
653  return *this;
654  }
655 
656  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
657  return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
658  }
659  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
660  return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
661  }
662 
663  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
664  return GetDescriptor();
665  }
666  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
667  return GetMetadataStatic().descriptor;
668  }
669  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
670  return GetMetadataStatic().reflection;
671  }
672  static const Environment_Medium_Attenuation& default_instance();
673 
674  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
675  static inline const Environment_Medium_Attenuation* internal_default_instance() {
676  return reinterpret_cast<const Environment_Medium_Attenuation*>(
678  }
679  static constexpr int kIndexInFileMessages =
680  2;
681 
682  friend void swap(Environment_Medium_Attenuation& a, Environment_Medium_Attenuation& b) {
683  a.Swap(&b);
684  }
685  inline void Swap(Environment_Medium_Attenuation* other) {
686  if (other == this) return;
687  if (GetArena() == other->GetArena()) {
688  InternalSwap(other);
689  } else {
690  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
691  }
692  }
693  void UnsafeArenaSwap(Environment_Medium_Attenuation* other) {
694  if (other == this) return;
695  GOOGLE_DCHECK(GetArena() == other->GetArena());
696  InternalSwap(other);
697  }
698 
699  // implements Message ----------------------------------------------
700 
701  inline Environment_Medium_Attenuation* New() const final {
702  return CreateMaybeMessage<Environment_Medium_Attenuation>(nullptr);
703  }
704 
705  Environment_Medium_Attenuation* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
706  return CreateMaybeMessage<Environment_Medium_Attenuation>(arena);
707  }
708  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
709  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
710  void CopyFrom(const Environment_Medium_Attenuation& from);
711  void MergeFrom(const Environment_Medium_Attenuation& from);
712  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
713  bool IsInitialized() const final;
714 
715  size_t ByteSizeLong() const final;
716  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
717  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
718  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
719  int GetCachedSize() const final { return _cached_size_.Get(); }
720 
721  private:
722  inline void SharedCtor();
723  inline void SharedDtor();
724  void SetCachedSize(int size) const final;
725  void InternalSwap(Environment_Medium_Attenuation* other);
726  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
727  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
728  return "netsim.bellhop.protobuf.Environment.Medium.Attenuation";
729  }
730  protected:
731  explicit Environment_Medium_Attenuation(::PROTOBUF_NAMESPACE_ID::Arena* arena);
732  private:
733  static void ArenaDtor(void* object);
734  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
735  public:
736 
737  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
738  private:
739  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
740  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_netsim_2facousticstoolbox_2fenvironment_2eproto);
741  return ::descriptor_table_netsim_2facousticstoolbox_2fenvironment_2eproto.file_level_metadata[kIndexInFileMessages];
742  }
743 
744  public:
745 
746  // nested types ----------------------------------------------------
747 
749  static constexpr Units DB_PER_M_KHZ =
751  static constexpr Units PARAMETER_LOSS =
753  static constexpr Units DB_PER_M =
755  static constexpr Units NEPERS_PER_M =
757  static constexpr Units Q_FACTOR =
759  static constexpr Units DB_PER_WAVELENGTH =
761  static inline bool Units_IsValid(int value) {
763  }
764  static constexpr Units Units_MIN =
766  static constexpr Units Units_MAX =
768  static constexpr int Units_ARRAYSIZE =
770  static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
773  }
774  template<typename T>
775  static inline const std::string& Units_Name(T enum_t_value) {
776  static_assert(::std::is_same<T, Units>::value ||
777  ::std::is_integral<T>::value,
778  "Incorrect type passed to function Units_Name.");
779  return Environment_Medium_Attenuation_Units_Name(enum_t_value);
780  }
781  static inline bool Units_Parse(const std::string& name,
782  Units* value) {
783  return Environment_Medium_Attenuation_Units_Parse(name, value);
784  }
785 
786  // accessors -------------------------------------------------------
787 
788  enum : int {
789  kValueFieldNumber = 2,
790  kUnitsFieldNumber = 1,
791  };
792  // optional double value = 2;
793  bool has_value() const;
794  private:
795  bool _internal_has_value() const;
796  public:
797  void clear_value();
798  double value() const;
799  void set_value(double value);
800  private:
801  double _internal_value() const;
802  void _internal_set_value(double value);
803  public:
804 
805  // optional .netsim.bellhop.protobuf.Environment.Medium.Attenuation.Units units = 1 [(.goby.field) = {
806  bool has_units() const;
807  private:
808  bool _internal_has_units() const;
809  public:
810  void clear_units();
813  private:
815  void _internal_set_units(::netsim::bellhop::protobuf::Environment_Medium_Attenuation_Units value);
816  public:
817 
818  // @@protoc_insertion_point(class_scope:netsim.bellhop.protobuf.Environment.Medium.Attenuation)
819  private:
820  class _Internal;
821 
822  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
823  typedef void InternalArenaConstructable_;
824  typedef void DestructorSkippable_;
825  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
826  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
827  double value_;
828  int units_;
829  friend struct ::TableStruct_netsim_2facousticstoolbox_2fenvironment_2eproto;
830 };
831 // -------------------------------------------------------------------
832 
833 class Environment_Medium PROTOBUF_FINAL :
834  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:netsim.bellhop.protobuf.Environment.Medium) */ {
835  public:
836  inline Environment_Medium() : Environment_Medium(nullptr) {};
838 
839  Environment_Medium(const Environment_Medium& from);
840  Environment_Medium(Environment_Medium&& from) noexcept
841  : Environment_Medium() {
842  *this = ::std::move(from);
843  }
844 
845  inline Environment_Medium& operator=(const Environment_Medium& from) {
846  CopyFrom(from);
847  return *this;
848  }
849  inline Environment_Medium& operator=(Environment_Medium&& from) noexcept {
850  if (GetArena() == from.GetArena()) {
851  if (this != &from) InternalSwap(&from);
852  } else {
853  CopyFrom(from);
854  }
855  return *this;
856  }
857 
858  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
859  return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
860  }
861  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
862  return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
863  }
864 
865  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
866  return GetDescriptor();
867  }
868  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
869  return GetMetadataStatic().descriptor;
870  }
871  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
872  return GetMetadataStatic().reflection;
873  }
874  static const Environment_Medium& default_instance();
875 
876  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
877  static inline const Environment_Medium* internal_default_instance() {
878  return reinterpret_cast<const Environment_Medium*>(
880  }
881  static constexpr int kIndexInFileMessages =
882  3;
883 
884  friend void swap(Environment_Medium& a, Environment_Medium& b) {
885  a.Swap(&b);
886  }
887  inline void Swap(Environment_Medium* other) {
888  if (other == this) return;
889  if (GetArena() == other->GetArena()) {
890  InternalSwap(other);
891  } else {
892  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
893  }
894  }
895  void UnsafeArenaSwap(Environment_Medium* other) {
896  if (other == this) return;
897  GOOGLE_DCHECK(GetArena() == other->GetArena());
898  InternalSwap(other);
899  }
900 
901  // implements Message ----------------------------------------------
902 
903  inline Environment_Medium* New() const final {
904  return CreateMaybeMessage<Environment_Medium>(nullptr);
905  }
906 
907  Environment_Medium* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
908  return CreateMaybeMessage<Environment_Medium>(arena);
909  }
910  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
911  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
912  void CopyFrom(const Environment_Medium& from);
913  void MergeFrom(const Environment_Medium& from);
914  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
915  bool IsInitialized() const final;
916 
917  size_t ByteSizeLong() const final;
918  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
919  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
920  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
921  int GetCachedSize() const final { return _cached_size_.Get(); }
922 
923  private:
924  inline void SharedCtor();
925  inline void SharedDtor();
926  void SetCachedSize(int size) const final;
927  void InternalSwap(Environment_Medium* other);
928  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
929  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
930  return "netsim.bellhop.protobuf.Environment.Medium";
931  }
932  protected:
933  explicit Environment_Medium(::PROTOBUF_NAMESPACE_ID::Arena* arena);
934  private:
935  static void ArenaDtor(void* object);
936  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
937  public:
938 
939  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
940  private:
941  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
942  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_netsim_2facousticstoolbox_2fenvironment_2eproto);
943  return ::descriptor_table_netsim_2facousticstoolbox_2fenvironment_2eproto.file_level_metadata[kIndexInFileMessages];
944  }
945 
946  public:
947 
948  // nested types ----------------------------------------------------
949 
950  typedef Environment_Medium_RCSample RCSample;
951  typedef Environment_Medium_Attenuation Attenuation;
952 
954  static constexpr MediumType VACUUM =
956  static constexpr MediumType RIGID =
958  static constexpr MediumType HALF_SPACE =
960  static constexpr MediumType REFLECTION_COEFFICIENT =
962  static inline bool MediumType_IsValid(int value) {
964  }
965  static constexpr MediumType MediumType_MIN =
967  static constexpr MediumType MediumType_MAX =
969  static constexpr int MediumType_ARRAYSIZE =
971  static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
974  }
975  template<typename T>
976  static inline const std::string& MediumType_Name(T enum_t_value) {
977  static_assert(::std::is_same<T, MediumType>::value ||
978  ::std::is_integral<T>::value,
979  "Incorrect type passed to function MediumType_Name.");
980  return Environment_Medium_MediumType_Name(enum_t_value);
981  }
982  static inline bool MediumType_Parse(const std::string& name,
983  MediumType* value) {
984  return Environment_Medium_MediumType_Parse(name, value);
985  }
986 
987  // accessors -------------------------------------------------------
988 
989  enum : int {
990  kRcSampleFieldNumber = 7,
991  kAttenuationFieldNumber = 2,
992  kCpFieldNumber = 3,
993  kCsFieldNumber = 4,
994  kDensityFieldNumber = 5,
995  kDepthFieldNumber = 6,
996  kTypeFieldNumber = 1,
997  };
998  // repeated .netsim.bellhop.protobuf.Environment.Medium.RCSample rc_sample = 7 [(.goby.field) = {
999  int rc_sample_size() const;
1000  private:
1001  int _internal_rc_sample_size() const;
1002  public:
1004  ::netsim::bellhop::protobuf::Environment_Medium_RCSample* mutable_rc_sample(int index);
1005  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::netsim::bellhop::protobuf::Environment_Medium_RCSample >*
1007  private:
1008  const ::netsim::bellhop::protobuf::Environment_Medium_RCSample& _internal_rc_sample(int index) const;
1009  ::netsim::bellhop::protobuf::Environment_Medium_RCSample* _internal_add_rc_sample();
1010  public:
1011  const ::netsim::bellhop::protobuf::Environment_Medium_RCSample& rc_sample(int index) const;
1012  ::netsim::bellhop::protobuf::Environment_Medium_RCSample* add_rc_sample();
1013  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::netsim::bellhop::protobuf::Environment_Medium_RCSample >&
1014  rc_sample() const;
1015 
1016  // optional .netsim.bellhop.protobuf.Environment.Medium.Attenuation attenuation = 2 [(.goby.field) = {
1017  bool has_attenuation() const;
1018  private:
1019  bool _internal_has_attenuation() const;
1020  public:
1022  const ::netsim::bellhop::protobuf::Environment_Medium_Attenuation& attenuation() const;
1023  ::netsim::bellhop::protobuf::Environment_Medium_Attenuation* release_attenuation();
1024  ::netsim::bellhop::protobuf::Environment_Medium_Attenuation* mutable_attenuation();
1025  void set_allocated_attenuation(::netsim::bellhop::protobuf::Environment_Medium_Attenuation* attenuation);
1026  private:
1027  const ::netsim::bellhop::protobuf::Environment_Medium_Attenuation& _internal_attenuation() const;
1028  ::netsim::bellhop::protobuf::Environment_Medium_Attenuation* _internal_mutable_attenuation();
1029  public:
1031  ::netsim::bellhop::protobuf::Environment_Medium_Attenuation* attenuation);
1032  ::netsim::bellhop::protobuf::Environment_Medium_Attenuation* unsafe_arena_release_attenuation();
1033 
1034  // optional double cp = 3 [(.goby.field) = {
1035  bool has_cp() const;
1036  private:
1037  bool _internal_has_cp() const;
1038  public:
1039  void clear_cp();
1040  double cp() const;
1041  void set_cp(double value);
1042  private:
1043  double _internal_cp() const;
1044  void _internal_set_cp(double value);
1045  public:
1046 
1047  // optional double cs = 4 [(.goby.field) = {
1048  bool has_cs() const;
1049  private:
1050  bool _internal_has_cs() const;
1051  public:
1052  void clear_cs();
1053  double cs() const;
1054  void set_cs(double value);
1055  private:
1056  double _internal_cs() const;
1057  void _internal_set_cs(double value);
1058  public:
1059 
1060  // optional double density = 5 [(.goby.field) = {
1061  bool has_density() const;
1062  private:
1063  bool _internal_has_density() const;
1064  public:
1066  double density() const;
1067  void set_density(double value);
1068  private:
1069  double _internal_density() const;
1070  void _internal_set_density(double value);
1071  public:
1072 
1073  // optional double depth = 6 [(.goby.field) = {
1074  bool has_depth() const;
1075  private:
1076  bool _internal_has_depth() const;
1077  public:
1078  void clear_depth();
1079  double depth() const;
1080  void set_depth(double value);
1081  private:
1082  double _internal_depth() const;
1083  void _internal_set_depth(double value);
1084  public:
1085 
1086  // optional .netsim.bellhop.protobuf.Environment.Medium.MediumType type = 1 [(.goby.field) = {
1087  bool has_type() const;
1088  private:
1089  bool _internal_has_type() const;
1090  public:
1091  void clear_type();
1094  private:
1096  void _internal_set_type(::netsim::bellhop::protobuf::Environment_Medium_MediumType value);
1097  public:
1098 
1099  // @@protoc_insertion_point(class_scope:netsim.bellhop.protobuf.Environment.Medium)
1100  private:
1101  class _Internal;
1102 
1103  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
1104  typedef void InternalArenaConstructable_;
1105  typedef void DestructorSkippable_;
1106  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
1107  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
1108  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::netsim::bellhop::protobuf::Environment_Medium_RCSample > rc_sample_;
1109  ::netsim::bellhop::protobuf::Environment_Medium_Attenuation* attenuation_;
1110  double cp_;
1111  double cs_;
1112  double density_;
1113  double depth_;
1114  int type_;
1115  friend struct ::TableStruct_netsim_2facousticstoolbox_2fenvironment_2eproto;
1116 };
1117 // -------------------------------------------------------------------
1118 
1119 class Environment_Surface PROTOBUF_FINAL :
1120  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:netsim.bellhop.protobuf.Environment.Surface) */ {
1121  public:
1122  inline Environment_Surface() : Environment_Surface(nullptr) {};
1124 
1125  Environment_Surface(const Environment_Surface& from);
1126  Environment_Surface(Environment_Surface&& from) noexcept
1127  : Environment_Surface() {
1128  *this = ::std::move(from);
1129  }
1130 
1131  inline Environment_Surface& operator=(const Environment_Surface& from) {
1132  CopyFrom(from);
1133  return *this;
1134  }
1135  inline Environment_Surface& operator=(Environment_Surface&& from) noexcept {
1136  if (GetArena() == from.GetArena()) {
1137  if (this != &from) InternalSwap(&from);
1138  } else {
1139  CopyFrom(from);
1140  }
1141  return *this;
1142  }
1143 
1144  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
1145  return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
1146  }
1147  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
1148  return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
1149  }
1150 
1151  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
1152  return GetDescriptor();
1153  }
1154  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
1155  return GetMetadataStatic().descriptor;
1156  }
1157  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
1158  return GetMetadataStatic().reflection;
1159  }
1160  static const Environment_Surface& default_instance();
1161 
1162  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
1163  static inline const Environment_Surface* internal_default_instance() {
1164  return reinterpret_cast<const Environment_Surface*>(
1166  }
1167  static constexpr int kIndexInFileMessages =
1168  4;
1169 
1170  friend void swap(Environment_Surface& a, Environment_Surface& b) {
1171  a.Swap(&b);
1172  }
1173  inline void Swap(Environment_Surface* other) {
1174  if (other == this) return;
1175  if (GetArena() == other->GetArena()) {
1176  InternalSwap(other);
1177  } else {
1178  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
1179  }
1180  }
1181  void UnsafeArenaSwap(Environment_Surface* other) {
1182  if (other == this) return;
1183  GOOGLE_DCHECK(GetArena() == other->GetArena());
1184  InternalSwap(other);
1185  }
1186 
1187  // implements Message ----------------------------------------------
1188 
1189  inline Environment_Surface* New() const final {
1190  return CreateMaybeMessage<Environment_Surface>(nullptr);
1191  }
1192 
1193  Environment_Surface* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
1194  return CreateMaybeMessage<Environment_Surface>(arena);
1195  }
1196  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
1197  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
1198  void CopyFrom(const Environment_Surface& from);
1199  void MergeFrom(const Environment_Surface& from);
1200  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
1201  bool IsInitialized() const final;
1202 
1203  size_t ByteSizeLong() const final;
1204  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
1205  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
1206  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
1207  int GetCachedSize() const final { return _cached_size_.Get(); }
1208 
1209  private:
1210  inline void SharedCtor();
1211  inline void SharedDtor();
1212  void SetCachedSize(int size) const final;
1213  void InternalSwap(Environment_Surface* other);
1214  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
1215  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
1216  return "netsim.bellhop.protobuf.Environment.Surface";
1217  }
1218  protected:
1219  explicit Environment_Surface(::PROTOBUF_NAMESPACE_ID::Arena* arena);
1220  private:
1221  static void ArenaDtor(void* object);
1222  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
1223  public:
1224 
1225  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
1226  private:
1227  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
1228  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_netsim_2facousticstoolbox_2fenvironment_2eproto);
1229  return ::descriptor_table_netsim_2facousticstoolbox_2fenvironment_2eproto.file_level_metadata[kIndexInFileMessages];
1230  }
1231 
1232  public:
1233 
1234  // nested types ----------------------------------------------------
1235 
1236  // accessors -------------------------------------------------------
1237 
1238  enum : int {
1239  kMediumFieldNumber = 1,
1240  };
1241  // optional .netsim.bellhop.protobuf.Environment.Medium medium = 1;
1242  bool has_medium() const;
1243  private:
1244  bool _internal_has_medium() const;
1245  public:
1247  const ::netsim::bellhop::protobuf::Environment_Medium& medium() const;
1248  ::netsim::bellhop::protobuf::Environment_Medium* release_medium();
1249  ::netsim::bellhop::protobuf::Environment_Medium* mutable_medium();
1250  void set_allocated_medium(::netsim::bellhop::protobuf::Environment_Medium* medium);
1251  private:
1252  const ::netsim::bellhop::protobuf::Environment_Medium& _internal_medium() const;
1253  ::netsim::bellhop::protobuf::Environment_Medium* _internal_mutable_medium();
1254  public:
1256  ::netsim::bellhop::protobuf::Environment_Medium* medium);
1257  ::netsim::bellhop::protobuf::Environment_Medium* unsafe_arena_release_medium();
1258 
1259  // @@protoc_insertion_point(class_scope:netsim.bellhop.protobuf.Environment.Surface)
1260  private:
1261  class _Internal;
1262 
1263  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
1264  typedef void InternalArenaConstructable_;
1265  typedef void DestructorSkippable_;
1266  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
1267  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
1268  ::netsim::bellhop::protobuf::Environment_Medium* medium_;
1269  friend struct ::TableStruct_netsim_2facousticstoolbox_2fenvironment_2eproto;
1270 };
1271 // -------------------------------------------------------------------
1272 
1273 class Environment_WaterColumn_SSPSample PROTOBUF_FINAL :
1274  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:netsim.bellhop.protobuf.Environment.WaterColumn.SSPSample) */ {
1275  public:
1276  inline Environment_WaterColumn_SSPSample() : Environment_WaterColumn_SSPSample(nullptr) {};
1278 
1279  Environment_WaterColumn_SSPSample(const Environment_WaterColumn_SSPSample& from);
1280  Environment_WaterColumn_SSPSample(Environment_WaterColumn_SSPSample&& from) noexcept
1281  : Environment_WaterColumn_SSPSample() {
1282  *this = ::std::move(from);
1283  }
1284 
1285  inline Environment_WaterColumn_SSPSample& operator=(const Environment_WaterColumn_SSPSample& from) {
1286  CopyFrom(from);
1287  return *this;
1288  }
1289  inline Environment_WaterColumn_SSPSample& operator=(Environment_WaterColumn_SSPSample&& from) noexcept {
1290  if (GetArena() == from.GetArena()) {
1291  if (this != &from) InternalSwap(&from);
1292  } else {
1293  CopyFrom(from);
1294  }
1295  return *this;
1296  }
1297 
1298  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
1299  return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
1300  }
1301  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
1302  return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
1303  }
1304 
1305  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
1306  return GetDescriptor();
1307  }
1308  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
1309  return GetMetadataStatic().descriptor;
1310  }
1311  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
1312  return GetMetadataStatic().reflection;
1313  }
1314  static const Environment_WaterColumn_SSPSample& default_instance();
1315 
1316  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
1317  static inline const Environment_WaterColumn_SSPSample* internal_default_instance() {
1318  return reinterpret_cast<const Environment_WaterColumn_SSPSample*>(
1320  }
1321  static constexpr int kIndexInFileMessages =
1322  5;
1323 
1324  friend void swap(Environment_WaterColumn_SSPSample& a, Environment_WaterColumn_SSPSample& b) {
1325  a.Swap(&b);
1326  }
1327  inline void Swap(Environment_WaterColumn_SSPSample* other) {
1328  if (other == this) return;
1329  if (GetArena() == other->GetArena()) {
1330  InternalSwap(other);
1331  } else {
1332  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
1333  }
1334  }
1335  void UnsafeArenaSwap(Environment_WaterColumn_SSPSample* other) {
1336  if (other == this) return;
1337  GOOGLE_DCHECK(GetArena() == other->GetArena());
1338  InternalSwap(other);
1339  }
1340 
1341  // implements Message ----------------------------------------------
1342 
1343  inline Environment_WaterColumn_SSPSample* New() const final {
1344  return CreateMaybeMessage<Environment_WaterColumn_SSPSample>(nullptr);
1345  }
1346 
1347  Environment_WaterColumn_SSPSample* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
1348  return CreateMaybeMessage<Environment_WaterColumn_SSPSample>(arena);
1349  }
1350  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
1351  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
1352  void CopyFrom(const Environment_WaterColumn_SSPSample& from);
1353  void MergeFrom(const Environment_WaterColumn_SSPSample& from);
1354  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
1355  bool IsInitialized() const final;
1356 
1357  size_t ByteSizeLong() const final;
1358  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
1359  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
1360  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
1361  int GetCachedSize() const final { return _cached_size_.Get(); }
1362 
1363  private:
1364  inline void SharedCtor();
1365  inline void SharedDtor();
1366  void SetCachedSize(int size) const final;
1367  void InternalSwap(Environment_WaterColumn_SSPSample* other);
1368  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
1369  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
1370  return "netsim.bellhop.protobuf.Environment.WaterColumn.SSPSample";
1371  }
1372  protected:
1373  explicit Environment_WaterColumn_SSPSample(::PROTOBUF_NAMESPACE_ID::Arena* arena);
1374  private:
1375  static void ArenaDtor(void* object);
1376  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
1377  public:
1378 
1379  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
1380  private:
1381  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
1382  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_netsim_2facousticstoolbox_2fenvironment_2eproto);
1383  return ::descriptor_table_netsim_2facousticstoolbox_2fenvironment_2eproto.file_level_metadata[kIndexInFileMessages];
1384  }
1385 
1386  public:
1387 
1388  // nested types ----------------------------------------------------
1389 
1390  // accessors -------------------------------------------------------
1391 
1392  enum : int {
1393  kEofFieldNumber = 3,
1394  kDepthFieldNumber = 1,
1395  kCpFieldNumber = 2,
1396  };
1397  // repeated double eof = 3 [(.goby.field) = {
1398  int eof_size() const;
1399  private:
1400  int _internal_eof_size() const;
1401  public:
1402  void clear_eof();
1403  private:
1404  double _internal_eof(int index) const;
1405  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >&
1406  _internal_eof() const;
1407  void _internal_add_eof(double value);
1408  ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >*
1409  _internal_mutable_eof();
1410  public:
1411  double eof(int index) const;
1412  void set_eof(int index, double value);
1413  void add_eof(double value);
1414  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >&
1415  eof() const;
1416  ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >*
1418 
1419  // optional double depth = 1 [(.goby.field) = {
1420  bool has_depth() const;
1421  private:
1422  bool _internal_has_depth() const;
1423  public:
1424  void clear_depth();
1425  double depth() const;
1426  void set_depth(double value);
1427  private:
1428  double _internal_depth() const;
1429  void _internal_set_depth(double value);
1430  public:
1431 
1432  // optional double cp = 2 [(.goby.field) = {
1433  bool has_cp() const;
1434  private:
1435  bool _internal_has_cp() const;
1436  public:
1437  void clear_cp();
1438  double cp() const;
1439  void set_cp(double value);
1440  private:
1441  double _internal_cp() const;
1442  void _internal_set_cp(double value);
1443  public:
1444 
1445  // @@protoc_insertion_point(class_scope:netsim.bellhop.protobuf.Environment.WaterColumn.SSPSample)
1446  private:
1447  class _Internal;
1448 
1449  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
1450  typedef void InternalArenaConstructable_;
1451  typedef void DestructorSkippable_;
1452  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
1453  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
1454  ::PROTOBUF_NAMESPACE_ID::RepeatedField< double > eof_;
1455  double depth_;
1456  double cp_;
1457  friend struct ::TableStruct_netsim_2facousticstoolbox_2fenvironment_2eproto;
1458 };
1459 // -------------------------------------------------------------------
1460 
1461 class Environment_WaterColumn PROTOBUF_FINAL :
1462  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:netsim.bellhop.protobuf.Environment.WaterColumn) */ {
1463  public:
1464  inline Environment_WaterColumn() : Environment_WaterColumn(nullptr) {};
1466 
1467  Environment_WaterColumn(const Environment_WaterColumn& from);
1468  Environment_WaterColumn(Environment_WaterColumn&& from) noexcept
1469  : Environment_WaterColumn() {
1470  *this = ::std::move(from);
1471  }
1472 
1473  inline Environment_WaterColumn& operator=(const Environment_WaterColumn& from) {
1474  CopyFrom(from);
1475  return *this;
1476  }
1477  inline Environment_WaterColumn& operator=(Environment_WaterColumn&& from) noexcept {
1478  if (GetArena() == from.GetArena()) {
1479  if (this != &from) InternalSwap(&from);
1480  } else {
1481  CopyFrom(from);
1482  }
1483  return *this;
1484  }
1485 
1486  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
1487  return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
1488  }
1489  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
1490  return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
1491  }
1492 
1493  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
1494  return GetDescriptor();
1495  }
1496  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
1497  return GetMetadataStatic().descriptor;
1498  }
1499  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
1500  return GetMetadataStatic().reflection;
1501  }
1502  static const Environment_WaterColumn& default_instance();
1503 
1504  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
1505  static inline const Environment_WaterColumn* internal_default_instance() {
1506  return reinterpret_cast<const Environment_WaterColumn*>(
1508  }
1509  static constexpr int kIndexInFileMessages =
1510  6;
1511 
1512  friend void swap(Environment_WaterColumn& a, Environment_WaterColumn& b) {
1513  a.Swap(&b);
1514  }
1515  inline void Swap(Environment_WaterColumn* other) {
1516  if (other == this) return;
1517  if (GetArena() == other->GetArena()) {
1518  InternalSwap(other);
1519  } else {
1520  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
1521  }
1522  }
1523  void UnsafeArenaSwap(Environment_WaterColumn* other) {
1524  if (other == this) return;
1525  GOOGLE_DCHECK(GetArena() == other->GetArena());
1526  InternalSwap(other);
1527  }
1528 
1529  // implements Message ----------------------------------------------
1530 
1531  inline Environment_WaterColumn* New() const final {
1532  return CreateMaybeMessage<Environment_WaterColumn>(nullptr);
1533  }
1534 
1535  Environment_WaterColumn* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
1536  return CreateMaybeMessage<Environment_WaterColumn>(arena);
1537  }
1538  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
1539  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
1540  void CopyFrom(const Environment_WaterColumn& from);
1541  void MergeFrom(const Environment_WaterColumn& from);
1542  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
1543  bool IsInitialized() const final;
1544 
1545  size_t ByteSizeLong() const final;
1546  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
1547  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
1548  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
1549  int GetCachedSize() const final { return _cached_size_.Get(); }
1550 
1551  private:
1552  inline void SharedCtor();
1553  inline void SharedDtor();
1554  void SetCachedSize(int size) const final;
1555  void InternalSwap(Environment_WaterColumn* other);
1556  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
1557  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
1558  return "netsim.bellhop.protobuf.Environment.WaterColumn";
1559  }
1560  protected:
1561  explicit Environment_WaterColumn(::PROTOBUF_NAMESPACE_ID::Arena* arena);
1562  private:
1563  static void ArenaDtor(void* object);
1564  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
1565  public:
1566 
1567  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
1568  private:
1569  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
1570  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_netsim_2facousticstoolbox_2fenvironment_2eproto);
1571  return ::descriptor_table_netsim_2facousticstoolbox_2fenvironment_2eproto.file_level_metadata[kIndexInFileMessages];
1572  }
1573 
1574  public:
1575 
1576  // nested types ----------------------------------------------------
1577 
1578  typedef Environment_WaterColumn_SSPSample SSPSample;
1579 
1581  static constexpr SSPInterpolation CUBIC_SPLINE =
1583  static constexpr SSPInterpolation C_LINEAR =
1585  static constexpr SSPInterpolation N2_LINEAR =
1587  static inline bool SSPInterpolation_IsValid(int value) {
1589  }
1590  static constexpr SSPInterpolation SSPInterpolation_MIN =
1592  static constexpr SSPInterpolation SSPInterpolation_MAX =
1594  static constexpr int SSPInterpolation_ARRAYSIZE =
1596  static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
1599  }
1600  template<typename T>
1601  static inline const std::string& SSPInterpolation_Name(T enum_t_value) {
1602  static_assert(::std::is_same<T, SSPInterpolation>::value ||
1603  ::std::is_integral<T>::value,
1604  "Incorrect type passed to function SSPInterpolation_Name.");
1605  return Environment_WaterColumn_SSPInterpolation_Name(enum_t_value);
1606  }
1607  static inline bool SSPInterpolation_Parse(const std::string& name,
1608  SSPInterpolation* value) {
1610  }
1611 
1612  // accessors -------------------------------------------------------
1613 
1614  enum : int {
1615  kEofCoefFieldNumber = 2,
1616  kSampleFieldNumber = 4,
1617  kRangeFieldNumber = 5,
1618  kBathymetryFieldNumber = 6,
1619  kInterpolationTypeFieldNumber = 1,
1620  kUseAttenuationFieldNumber = 3,
1621  };
1622  // repeated double eof_coef = 2 [(.goby.field) = {
1623  int eof_coef_size() const;
1624  private:
1625  int _internal_eof_coef_size() const;
1626  public:
1628  private:
1629  double _internal_eof_coef(int index) const;
1630  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >&
1631  _internal_eof_coef() const;
1632  void _internal_add_eof_coef(double value);
1633  ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >*
1634  _internal_mutable_eof_coef();
1635  public:
1636  double eof_coef(int index) const;
1637  void set_eof_coef(int index, double value);
1638  void add_eof_coef(double value);
1639  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >&
1640  eof_coef() const;
1641  ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >*
1643 
1644  // repeated .netsim.bellhop.protobuf.Environment.WaterColumn.SSPSample sample = 4;
1645  int sample_size() const;
1646  private:
1647  int _internal_sample_size() const;
1648  public:
1650  ::netsim::bellhop::protobuf::Environment_WaterColumn_SSPSample* mutable_sample(int index);
1651  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::netsim::bellhop::protobuf::Environment_WaterColumn_SSPSample >*
1653  private:
1654  const ::netsim::bellhop::protobuf::Environment_WaterColumn_SSPSample& _internal_sample(int index) const;
1655  ::netsim::bellhop::protobuf::Environment_WaterColumn_SSPSample* _internal_add_sample();
1656  public:
1657  const ::netsim::bellhop::protobuf::Environment_WaterColumn_SSPSample& sample(int index) const;
1658  ::netsim::bellhop::protobuf::Environment_WaterColumn_SSPSample* add_sample();
1659  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::netsim::bellhop::protobuf::Environment_WaterColumn_SSPSample >&
1660  sample() const;
1661 
1662  // optional double range = 5 [default = 0, (.goby.field) = {
1663  bool has_range() const;
1664  private:
1665  bool _internal_has_range() const;
1666  public:
1667  void clear_range();
1668  double range() const;
1669  void set_range(double value);
1670  private:
1671  double _internal_range() const;
1672  void _internal_set_range(double value);
1673  public:
1674 
1675  // optional double bathymetry = 6 [default = 0, (.goby.field) = {
1676  bool has_bathymetry() const;
1677  private:
1678  bool _internal_has_bathymetry() const;
1679  public:
1681  double bathymetry() const;
1682  void set_bathymetry(double value);
1683  private:
1684  double _internal_bathymetry() const;
1685  void _internal_set_bathymetry(double value);
1686  public:
1687 
1688  // optional .netsim.bellhop.protobuf.Environment.WaterColumn.SSPInterpolation interpolation_type = 1 [default = CUBIC_SPLINE, (.goby.field) = {
1690  private:
1691  bool _internal_has_interpolation_type() const;
1692  public:
1696  private:
1697  ::netsim::bellhop::protobuf::Environment_WaterColumn_SSPInterpolation _internal_interpolation_type() const;
1698  void _internal_set_interpolation_type(::netsim::bellhop::protobuf::Environment_WaterColumn_SSPInterpolation value);
1699  public:
1700 
1701  // optional bool use_attenuation = 3 [default = true, (.goby.field) = {
1702  bool has_use_attenuation() const;
1703  private:
1704  bool _internal_has_use_attenuation() const;
1705  public:
1707  bool use_attenuation() const;
1708  void set_use_attenuation(bool value);
1709  private:
1710  bool _internal_use_attenuation() const;
1711  void _internal_set_use_attenuation(bool value);
1712  public:
1713 
1714  // @@protoc_insertion_point(class_scope:netsim.bellhop.protobuf.Environment.WaterColumn)
1715  private:
1716  class _Internal;
1717 
1718  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
1719  typedef void InternalArenaConstructable_;
1720  typedef void DestructorSkippable_;
1721  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
1722  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
1723  ::PROTOBUF_NAMESPACE_ID::RepeatedField< double > eof_coef_;
1724  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::netsim::bellhop::protobuf::Environment_WaterColumn_SSPSample > sample_;
1725  double range_;
1726  double bathymetry_;
1727  int interpolation_type_;
1728  bool use_attenuation_;
1729  friend struct ::TableStruct_netsim_2facousticstoolbox_2fenvironment_2eproto;
1730 };
1731 // -------------------------------------------------------------------
1732 
1733 class Environment_Bottom PROTOBUF_FINAL :
1734  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:netsim.bellhop.protobuf.Environment.Bottom) */ {
1735  public:
1736  inline Environment_Bottom() : Environment_Bottom(nullptr) {};
1738 
1739  Environment_Bottom(const Environment_Bottom& from);
1740  Environment_Bottom(Environment_Bottom&& from) noexcept
1741  : Environment_Bottom() {
1742  *this = ::std::move(from);
1743  }
1744 
1745  inline Environment_Bottom& operator=(const Environment_Bottom& from) {
1746  CopyFrom(from);
1747  return *this;
1748  }
1749  inline Environment_Bottom& operator=(Environment_Bottom&& from) noexcept {
1750  if (GetArena() == from.GetArena()) {
1751  if (this != &from) InternalSwap(&from);
1752  } else {
1753  CopyFrom(from);
1754  }
1755  return *this;
1756  }
1757 
1758  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
1759  return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
1760  }
1761  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
1762  return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
1763  }
1764 
1765  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
1766  return GetDescriptor();
1767  }
1768  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
1769  return GetMetadataStatic().descriptor;
1770  }
1771  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
1772  return GetMetadataStatic().reflection;
1773  }
1774  static const Environment_Bottom& default_instance();
1775 
1776  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
1777  static inline const Environment_Bottom* internal_default_instance() {
1778  return reinterpret_cast<const Environment_Bottom*>(
1780  }
1781  static constexpr int kIndexInFileMessages =
1782  7;
1783 
1784  friend void swap(Environment_Bottom& a, Environment_Bottom& b) {
1785  a.Swap(&b);
1786  }
1787  inline void Swap(Environment_Bottom* other) {
1788  if (other == this) return;
1789  if (GetArena() == other->GetArena()) {
1790  InternalSwap(other);
1791  } else {
1792  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
1793  }
1794  }
1795  void UnsafeArenaSwap(Environment_Bottom* other) {
1796  if (other == this) return;
1797  GOOGLE_DCHECK(GetArena() == other->GetArena());
1798  InternalSwap(other);
1799  }
1800 
1801  // implements Message ----------------------------------------------
1802 
1803  inline Environment_Bottom* New() const final {
1804  return CreateMaybeMessage<Environment_Bottom>(nullptr);
1805  }
1806 
1807  Environment_Bottom* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
1808  return CreateMaybeMessage<Environment_Bottom>(arena);
1809  }
1810  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
1811  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
1812  void CopyFrom(const Environment_Bottom& from);
1813  void MergeFrom(const Environment_Bottom& from);
1814  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
1815  bool IsInitialized() const final;
1816 
1817  size_t ByteSizeLong() const final;
1818  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
1819  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
1820  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
1821  int GetCachedSize() const final { return _cached_size_.Get(); }
1822 
1823  private:
1824  inline void SharedCtor();
1825  inline void SharedDtor();
1826  void SetCachedSize(int size) const final;
1827  void InternalSwap(Environment_Bottom* other);
1828  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
1829  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
1830  return "netsim.bellhop.protobuf.Environment.Bottom";
1831  }
1832  protected:
1833  explicit Environment_Bottom(::PROTOBUF_NAMESPACE_ID::Arena* arena);
1834  private:
1835  static void ArenaDtor(void* object);
1836  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
1837  public:
1838 
1839  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
1840  private:
1841  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
1842  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_netsim_2facousticstoolbox_2fenvironment_2eproto);
1843  return ::descriptor_table_netsim_2facousticstoolbox_2fenvironment_2eproto.file_level_metadata[kIndexInFileMessages];
1844  }
1845 
1846  public:
1847 
1848  // nested types ----------------------------------------------------
1849 
1850  // accessors -------------------------------------------------------
1851 
1852  enum : int {
1853  kMediumFieldNumber = 1,
1854  };
1855  // optional .netsim.bellhop.protobuf.Environment.Medium medium = 1;
1856  bool has_medium() const;
1857  private:
1858  bool _internal_has_medium() const;
1859  public:
1861  const ::netsim::bellhop::protobuf::Environment_Medium& medium() const;
1862  ::netsim::bellhop::protobuf::Environment_Medium* release_medium();
1863  ::netsim::bellhop::protobuf::Environment_Medium* mutable_medium();
1864  void set_allocated_medium(::netsim::bellhop::protobuf::Environment_Medium* medium);
1865  private:
1866  const ::netsim::bellhop::protobuf::Environment_Medium& _internal_medium() const;
1867  ::netsim::bellhop::protobuf::Environment_Medium* _internal_mutable_medium();
1868  public:
1870  ::netsim::bellhop::protobuf::Environment_Medium* medium);
1871  ::netsim::bellhop::protobuf::Environment_Medium* unsafe_arena_release_medium();
1872 
1873  // @@protoc_insertion_point(class_scope:netsim.bellhop.protobuf.Environment.Bottom)
1874  private:
1875  class _Internal;
1876 
1877  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
1878  typedef void InternalArenaConstructable_;
1879  typedef void DestructorSkippable_;
1880  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
1881  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
1882  ::netsim::bellhop::protobuf::Environment_Medium* medium_;
1883  friend struct ::TableStruct_netsim_2facousticstoolbox_2fenvironment_2eproto;
1884 };
1885 // -------------------------------------------------------------------
1886 
1887 class Environment_Sources_SourcePosition PROTOBUF_FINAL :
1888  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:netsim.bellhop.protobuf.Environment.Sources.SourcePosition) */ {
1889  public:
1890  inline Environment_Sources_SourcePosition() : Environment_Sources_SourcePosition(nullptr) {};
1892 
1893  Environment_Sources_SourcePosition(const Environment_Sources_SourcePosition& from);
1894  Environment_Sources_SourcePosition(Environment_Sources_SourcePosition&& from) noexcept
1895  : Environment_Sources_SourcePosition() {
1896  *this = ::std::move(from);
1897  }
1898 
1899  inline Environment_Sources_SourcePosition& operator=(const Environment_Sources_SourcePosition& from) {
1900  CopyFrom(from);
1901  return *this;
1902  }
1903  inline Environment_Sources_SourcePosition& operator=(Environment_Sources_SourcePosition&& from) noexcept {
1904  if (GetArena() == from.GetArena()) {
1905  if (this != &from) InternalSwap(&from);
1906  } else {
1907  CopyFrom(from);
1908  }
1909  return *this;
1910  }
1911 
1912  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
1913  return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
1914  }
1915  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
1916  return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
1917  }
1918 
1919  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
1920  return GetDescriptor();
1921  }
1922  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
1923  return GetMetadataStatic().descriptor;
1924  }
1925  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
1926  return GetMetadataStatic().reflection;
1927  }
1928  static const Environment_Sources_SourcePosition& default_instance();
1929 
1930  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
1931  static inline const Environment_Sources_SourcePosition* internal_default_instance() {
1932  return reinterpret_cast<const Environment_Sources_SourcePosition*>(
1934  }
1935  static constexpr int kIndexInFileMessages =
1936  8;
1937 
1938  friend void swap(Environment_Sources_SourcePosition& a, Environment_Sources_SourcePosition& b) {
1939  a.Swap(&b);
1940  }
1941  inline void Swap(Environment_Sources_SourcePosition* other) {
1942  if (other == this) return;
1943  if (GetArena() == other->GetArena()) {
1944  InternalSwap(other);
1945  } else {
1946  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
1947  }
1948  }
1949  void UnsafeArenaSwap(Environment_Sources_SourcePosition* other) {
1950  if (other == this) return;
1951  GOOGLE_DCHECK(GetArena() == other->GetArena());
1952  InternalSwap(other);
1953  }
1954 
1955  // implements Message ----------------------------------------------
1956 
1957  inline Environment_Sources_SourcePosition* New() const final {
1958  return CreateMaybeMessage<Environment_Sources_SourcePosition>(nullptr);
1959  }
1960 
1961  Environment_Sources_SourcePosition* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
1962  return CreateMaybeMessage<Environment_Sources_SourcePosition>(arena);
1963  }
1964  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
1965  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
1966  void CopyFrom(const Environment_Sources_SourcePosition& from);
1967  void MergeFrom(const Environment_Sources_SourcePosition& from);
1968  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
1969  bool IsInitialized() const final;
1970 
1971  size_t ByteSizeLong() const final;
1972  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
1973  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
1974  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
1975  int GetCachedSize() const final { return _cached_size_.Get(); }
1976 
1977  private:
1978  inline void SharedCtor();
1979  inline void SharedDtor();
1980  void SetCachedSize(int size) const final;
1981  void InternalSwap(Environment_Sources_SourcePosition* other);
1982  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
1983  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
1984  return "netsim.bellhop.protobuf.Environment.Sources.SourcePosition";
1985  }
1986  protected:
1987  explicit Environment_Sources_SourcePosition(::PROTOBUF_NAMESPACE_ID::Arena* arena);
1988  private:
1989  static void ArenaDtor(void* object);
1990  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
1991  public:
1992 
1993  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
1994  private:
1995  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
1996  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_netsim_2facousticstoolbox_2fenvironment_2eproto);
1997  return ::descriptor_table_netsim_2facousticstoolbox_2fenvironment_2eproto.file_level_metadata[kIndexInFileMessages];
1998  }
1999 
2000  public:
2001 
2002  // nested types ----------------------------------------------------
2003 
2004  // accessors -------------------------------------------------------
2005 
2006  enum : int {
2007  kDepthFieldNumber = 1,
2008  };
2009  // optional double depth = 1;
2010  bool has_depth() const;
2011  private:
2012  bool _internal_has_depth() const;
2013  public:
2014  void clear_depth();
2015  double depth() const;
2016  void set_depth(double value);
2017  private:
2018  double _internal_depth() const;
2019  void _internal_set_depth(double value);
2020  public:
2021 
2022  // @@protoc_insertion_point(class_scope:netsim.bellhop.protobuf.Environment.Sources.SourcePosition)
2023  private:
2024  class _Internal;
2025 
2026  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
2027  typedef void InternalArenaConstructable_;
2028  typedef void DestructorSkippable_;
2029  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
2030  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
2031  double depth_;
2032  friend struct ::TableStruct_netsim_2facousticstoolbox_2fenvironment_2eproto;
2033 };
2034 // -------------------------------------------------------------------
2035 
2036 class Environment_Sources PROTOBUF_FINAL :
2037  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:netsim.bellhop.protobuf.Environment.Sources) */ {
2038  public:
2039  inline Environment_Sources() : Environment_Sources(nullptr) {};
2041 
2042  Environment_Sources(const Environment_Sources& from);
2043  Environment_Sources(Environment_Sources&& from) noexcept
2044  : Environment_Sources() {
2045  *this = ::std::move(from);
2046  }
2047 
2048  inline Environment_Sources& operator=(const Environment_Sources& from) {
2049  CopyFrom(from);
2050  return *this;
2051  }
2052  inline Environment_Sources& operator=(Environment_Sources&& from) noexcept {
2053  if (GetArena() == from.GetArena()) {
2054  if (this != &from) InternalSwap(&from);
2055  } else {
2056  CopyFrom(from);
2057  }
2058  return *this;
2059  }
2060 
2061  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
2062  return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
2063  }
2064  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
2065  return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
2066  }
2067 
2068  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
2069  return GetDescriptor();
2070  }
2071  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
2072  return GetMetadataStatic().descriptor;
2073  }
2074  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
2075  return GetMetadataStatic().reflection;
2076  }
2077  static const Environment_Sources& default_instance();
2078 
2079  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
2080  static inline const Environment_Sources* internal_default_instance() {
2081  return reinterpret_cast<const Environment_Sources*>(
2083  }
2084  static constexpr int kIndexInFileMessages =
2085  9;
2086 
2087  friend void swap(Environment_Sources& a, Environment_Sources& b) {
2088  a.Swap(&b);
2089  }
2090  inline void Swap(Environment_Sources* other) {
2091  if (other == this) return;
2092  if (GetArena() == other->GetArena()) {
2093  InternalSwap(other);
2094  } else {
2095  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
2096  }
2097  }
2098  void UnsafeArenaSwap(Environment_Sources* other) {
2099  if (other == this) return;
2100  GOOGLE_DCHECK(GetArena() == other->GetArena());
2101  InternalSwap(other);
2102  }
2103 
2104  // implements Message ----------------------------------------------
2105 
2106  inline Environment_Sources* New() const final {
2107  return CreateMaybeMessage<Environment_Sources>(nullptr);
2108  }
2109 
2110  Environment_Sources* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
2111  return CreateMaybeMessage<Environment_Sources>(arena);
2112  }
2113  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
2114  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
2115  void CopyFrom(const Environment_Sources& from);
2116  void MergeFrom(const Environment_Sources& from);
2117  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
2118  bool IsInitialized() const final;
2119 
2120  size_t ByteSizeLong() const final;
2121  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
2122  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
2123  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
2124  int GetCachedSize() const final { return _cached_size_.Get(); }
2125 
2126  private:
2127  inline void SharedCtor();
2128  inline void SharedDtor();
2129  void SetCachedSize(int size) const final;
2130  void InternalSwap(Environment_Sources* other);
2131  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
2132  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
2133  return "netsim.bellhop.protobuf.Environment.Sources";
2134  }
2135  protected:
2136  explicit Environment_Sources(::PROTOBUF_NAMESPACE_ID::Arena* arena);
2137  private:
2138  static void ArenaDtor(void* object);
2139  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
2140  public:
2141 
2142  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
2143  private:
2144  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
2145  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_netsim_2facousticstoolbox_2fenvironment_2eproto);
2146  return ::descriptor_table_netsim_2facousticstoolbox_2fenvironment_2eproto.file_level_metadata[kIndexInFileMessages];
2147  }
2148 
2149  public:
2150 
2151  // nested types ----------------------------------------------------
2152 
2153  typedef Environment_Sources_SourcePosition SourcePosition;
2154 
2155  // accessors -------------------------------------------------------
2156 
2157  enum : int {
2158  kFirstFieldNumber = 2,
2159  kLastFieldNumber = 3,
2160  kNumberInDepthFieldNumber = 1,
2161  };
2162  // optional .netsim.bellhop.protobuf.Environment.Sources.SourcePosition first = 2 [(.goby.field) = {
2163  bool has_first() const;
2164  private:
2165  bool _internal_has_first() const;
2166  public:
2167  void clear_first();
2168  const ::netsim::bellhop::protobuf::Environment_Sources_SourcePosition& first() const;
2169  ::netsim::bellhop::protobuf::Environment_Sources_SourcePosition* release_first();
2170  ::netsim::bellhop::protobuf::Environment_Sources_SourcePosition* mutable_first();
2171  void set_allocated_first(::netsim::bellhop::protobuf::Environment_Sources_SourcePosition* first);
2172  private:
2173  const ::netsim::bellhop::protobuf::Environment_Sources_SourcePosition& _internal_first() const;
2174  ::netsim::bellhop::protobuf::Environment_Sources_SourcePosition* _internal_mutable_first();
2175  public:
2177  ::netsim::bellhop::protobuf::Environment_Sources_SourcePosition* first);
2178  ::netsim::bellhop::protobuf::Environment_Sources_SourcePosition* unsafe_arena_release_first();
2179 
2180  // optional .netsim.bellhop.protobuf.Environment.Sources.SourcePosition last = 3 [(.goby.field) = {
2181  bool has_last() const;
2182  private:
2183  bool _internal_has_last() const;
2184  public:
2185  void clear_last();
2186  const ::netsim::bellhop::protobuf::Environment_Sources_SourcePosition& last() const;
2187  ::netsim::bellhop::protobuf::Environment_Sources_SourcePosition* release_last();
2188  ::netsim::bellhop::protobuf::Environment_Sources_SourcePosition* mutable_last();
2189  void set_allocated_last(::netsim::bellhop::protobuf::Environment_Sources_SourcePosition* last);
2190  private:
2191  const ::netsim::bellhop::protobuf::Environment_Sources_SourcePosition& _internal_last() const;
2192  ::netsim::bellhop::protobuf::Environment_Sources_SourcePosition* _internal_mutable_last();
2193  public:
2195  ::netsim::bellhop::protobuf::Environment_Sources_SourcePosition* last);
2196  ::netsim::bellhop::protobuf::Environment_Sources_SourcePosition* unsafe_arena_release_last();
2197 
2198  // optional uint32 number_in_depth = 1 [(.goby.field) = {
2199  bool has_number_in_depth() const;
2200  private:
2201  bool _internal_has_number_in_depth() const;
2202  public:
2204  ::PROTOBUF_NAMESPACE_ID::uint32 number_in_depth() const;
2205  void set_number_in_depth(::PROTOBUF_NAMESPACE_ID::uint32 value);
2206  private:
2207  ::PROTOBUF_NAMESPACE_ID::uint32 _internal_number_in_depth() const;
2208  void _internal_set_number_in_depth(::PROTOBUF_NAMESPACE_ID::uint32 value);
2209  public:
2210 
2211  // @@protoc_insertion_point(class_scope:netsim.bellhop.protobuf.Environment.Sources)
2212  private:
2213  class _Internal;
2214 
2215  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
2216  typedef void InternalArenaConstructable_;
2217  typedef void DestructorSkippable_;
2218  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
2219  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
2220  ::netsim::bellhop::protobuf::Environment_Sources_SourcePosition* first_;
2221  ::netsim::bellhop::protobuf::Environment_Sources_SourcePosition* last_;
2222  ::PROTOBUF_NAMESPACE_ID::uint32 number_in_depth_;
2223  friend struct ::TableStruct_netsim_2facousticstoolbox_2fenvironment_2eproto;
2224 };
2225 // -------------------------------------------------------------------
2226 
2227 class Environment_Receivers_ReceiverPosition PROTOBUF_FINAL :
2228  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:netsim.bellhop.protobuf.Environment.Receivers.ReceiverPosition) */ {
2229  public:
2230  inline Environment_Receivers_ReceiverPosition() : Environment_Receivers_ReceiverPosition(nullptr) {};
2232 
2233  Environment_Receivers_ReceiverPosition(const Environment_Receivers_ReceiverPosition& from);
2234  Environment_Receivers_ReceiverPosition(Environment_Receivers_ReceiverPosition&& from) noexcept
2235  : Environment_Receivers_ReceiverPosition() {
2236  *this = ::std::move(from);
2237  }
2238 
2239  inline Environment_Receivers_ReceiverPosition& operator=(const Environment_Receivers_ReceiverPosition& from) {
2240  CopyFrom(from);
2241  return *this;
2242  }
2243  inline Environment_Receivers_ReceiverPosition& operator=(Environment_Receivers_ReceiverPosition&& from) noexcept {
2244  if (GetArena() == from.GetArena()) {
2245  if (this != &from) InternalSwap(&from);
2246  } else {
2247  CopyFrom(from);
2248  }
2249  return *this;
2250  }
2251 
2252  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
2253  return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
2254  }
2255  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
2256  return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
2257  }
2258 
2259  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
2260  return GetDescriptor();
2261  }
2262  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
2263  return GetMetadataStatic().descriptor;
2264  }
2265  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
2266  return GetMetadataStatic().reflection;
2267  }
2268  static const Environment_Receivers_ReceiverPosition& default_instance();
2269 
2270  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
2271  static inline const Environment_Receivers_ReceiverPosition* internal_default_instance() {
2272  return reinterpret_cast<const Environment_Receivers_ReceiverPosition*>(
2274  }
2275  static constexpr int kIndexInFileMessages =
2276  10;
2277 
2278  friend void swap(Environment_Receivers_ReceiverPosition& a, Environment_Receivers_ReceiverPosition& b) {
2279  a.Swap(&b);
2280  }
2281  inline void Swap(Environment_Receivers_ReceiverPosition* other) {
2282  if (other == this) return;
2283  if (GetArena() == other->GetArena()) {
2284  InternalSwap(other);
2285  } else {
2286  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
2287  }
2288  }
2289  void UnsafeArenaSwap(Environment_Receivers_ReceiverPosition* other) {
2290  if (other == this) return;
2291  GOOGLE_DCHECK(GetArena() == other->GetArena());
2292  InternalSwap(other);
2293  }
2294 
2295  // implements Message ----------------------------------------------
2296 
2297  inline Environment_Receivers_ReceiverPosition* New() const final {
2298  return CreateMaybeMessage<Environment_Receivers_ReceiverPosition>(nullptr);
2299  }
2300 
2301  Environment_Receivers_ReceiverPosition* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
2302  return CreateMaybeMessage<Environment_Receivers_ReceiverPosition>(arena);
2303  }
2304  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
2305  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
2306  void CopyFrom(const Environment_Receivers_ReceiverPosition& from);
2307  void MergeFrom(const Environment_Receivers_ReceiverPosition& from);
2308  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
2309  bool IsInitialized() const final;
2310 
2311  size_t ByteSizeLong() const final;
2312  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
2313  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
2314  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
2315  int GetCachedSize() const final { return _cached_size_.Get(); }
2316 
2317  private:
2318  inline void SharedCtor();
2319  inline void SharedDtor();
2320  void SetCachedSize(int size) const final;
2321  void InternalSwap(Environment_Receivers_ReceiverPosition* other);
2322  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
2323  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
2324  return "netsim.bellhop.protobuf.Environment.Receivers.ReceiverPosition";
2325  }
2326  protected:
2327  explicit Environment_Receivers_ReceiverPosition(::PROTOBUF_NAMESPACE_ID::Arena* arena);
2328  private:
2329  static void ArenaDtor(void* object);
2330  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
2331  public:
2332 
2333  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
2334  private:
2335  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
2336  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_netsim_2facousticstoolbox_2fenvironment_2eproto);
2337  return ::descriptor_table_netsim_2facousticstoolbox_2fenvironment_2eproto.file_level_metadata[kIndexInFileMessages];
2338  }
2339 
2340  public:
2341 
2342  // nested types ----------------------------------------------------
2343 
2344  // accessors -------------------------------------------------------
2345 
2346  enum : int {
2347  kDepthFieldNumber = 1,
2348  kRangeFieldNumber = 2,
2349  };
2350  // optional double depth = 1;
2351  bool has_depth() const;
2352  private:
2353  bool _internal_has_depth() const;
2354  public:
2355  void clear_depth();
2356  double depth() const;
2357  void set_depth(double value);
2358  private:
2359  double _internal_depth() const;
2360  void _internal_set_depth(double value);
2361  public:
2362 
2363  // optional double range = 2;
2364  bool has_range() const;
2365  private:
2366  bool _internal_has_range() const;
2367  public:
2368  void clear_range();
2369  double range() const;
2370  void set_range(double value);
2371  private:
2372  double _internal_range() const;
2373  void _internal_set_range(double value);
2374  public:
2375 
2376  // @@protoc_insertion_point(class_scope:netsim.bellhop.protobuf.Environment.Receivers.ReceiverPosition)
2377  private:
2378  class _Internal;
2379 
2380  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
2381  typedef void InternalArenaConstructable_;
2382  typedef void DestructorSkippable_;
2383  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
2384  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
2385  double depth_;
2386  double range_;
2387  friend struct ::TableStruct_netsim_2facousticstoolbox_2fenvironment_2eproto;
2388 };
2389 // -------------------------------------------------------------------
2390 
2391 class Environment_Receivers PROTOBUF_FINAL :
2392  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:netsim.bellhop.protobuf.Environment.Receivers) */ {
2393  public:
2394  inline Environment_Receivers() : Environment_Receivers(nullptr) {};
2396 
2397  Environment_Receivers(const Environment_Receivers& from);
2398  Environment_Receivers(Environment_Receivers&& from) noexcept
2399  : Environment_Receivers() {
2400  *this = ::std::move(from);
2401  }
2402 
2403  inline Environment_Receivers& operator=(const Environment_Receivers& from) {
2404  CopyFrom(from);
2405  return *this;
2406  }
2407  inline Environment_Receivers& operator=(Environment_Receivers&& from) noexcept {
2408  if (GetArena() == from.GetArena()) {
2409  if (this != &from) InternalSwap(&from);
2410  } else {
2411  CopyFrom(from);
2412  }
2413  return *this;
2414  }
2415 
2416  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
2417  return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
2418  }
2419  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
2420  return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
2421  }
2422 
2423  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
2424  return GetDescriptor();
2425  }
2426  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
2427  return GetMetadataStatic().descriptor;
2428  }
2429  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
2430  return GetMetadataStatic().reflection;
2431  }
2432  static const Environment_Receivers& default_instance();
2433 
2434  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
2435  static inline const Environment_Receivers* internal_default_instance() {
2436  return reinterpret_cast<const Environment_Receivers*>(
2438  }
2439  static constexpr int kIndexInFileMessages =
2440  11;
2441 
2442  friend void swap(Environment_Receivers& a, Environment_Receivers& b) {
2443  a.Swap(&b);
2444  }
2445  inline void Swap(Environment_Receivers* other) {
2446  if (other == this) return;
2447  if (GetArena() == other->GetArena()) {
2448  InternalSwap(other);
2449  } else {
2450  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
2451  }
2452  }
2453  void UnsafeArenaSwap(Environment_Receivers* other) {
2454  if (other == this) return;
2455  GOOGLE_DCHECK(GetArena() == other->GetArena());
2456  InternalSwap(other);
2457  }
2458 
2459  // implements Message ----------------------------------------------
2460 
2461  inline Environment_Receivers* New() const final {
2462  return CreateMaybeMessage<Environment_Receivers>(nullptr);
2463  }
2464 
2465  Environment_Receivers* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
2466  return CreateMaybeMessage<Environment_Receivers>(arena);
2467  }
2468  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
2469  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
2470  void CopyFrom(const Environment_Receivers& from);
2471  void MergeFrom(const Environment_Receivers& from);
2472  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
2473  bool IsInitialized() const final;
2474 
2475  size_t ByteSizeLong() const final;
2476  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
2477  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
2478  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
2479  int GetCachedSize() const final { return _cached_size_.Get(); }
2480 
2481  private:
2482  inline void SharedCtor();
2483  inline void SharedDtor();
2484  void SetCachedSize(int size) const final;
2485  void InternalSwap(Environment_Receivers* other);
2486  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
2487  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
2488  return "netsim.bellhop.protobuf.Environment.Receivers";
2489  }
2490  protected:
2491  explicit Environment_Receivers(::PROTOBUF_NAMESPACE_ID::Arena* arena);
2492  private:
2493  static void ArenaDtor(void* object);
2494  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
2495  public:
2496 
2497  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
2498  private:
2499  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
2500  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_netsim_2facousticstoolbox_2fenvironment_2eproto);
2501  return ::descriptor_table_netsim_2facousticstoolbox_2fenvironment_2eproto.file_level_metadata[kIndexInFileMessages];
2502  }
2503 
2504  public:
2505 
2506  // nested types ----------------------------------------------------
2507 
2508  typedef Environment_Receivers_ReceiverPosition ReceiverPosition;
2509 
2510  // accessors -------------------------------------------------------
2511 
2512  enum : int {
2513  kFirstFieldNumber = 3,
2514  kLastFieldNumber = 4,
2515  kNumberInDepthFieldNumber = 1,
2516  kNumberInRangeFieldNumber = 2,
2517  };
2518  // optional .netsim.bellhop.protobuf.Environment.Receivers.ReceiverPosition first = 3 [(.goby.field) = {
2519  bool has_first() const;
2520  private:
2521  bool _internal_has_first() const;
2522  public:
2523  void clear_first();
2524  const ::netsim::bellhop::protobuf::Environment_Receivers_ReceiverPosition& first() const;
2525  ::netsim::bellhop::protobuf::Environment_Receivers_ReceiverPosition* release_first();
2526  ::netsim::bellhop::protobuf::Environment_Receivers_ReceiverPosition* mutable_first();
2527  void set_allocated_first(::netsim::bellhop::protobuf::Environment_Receivers_ReceiverPosition* first);
2528  private:
2529  const ::netsim::bellhop::protobuf::Environment_Receivers_ReceiverPosition& _internal_first() const;
2530  ::netsim::bellhop::protobuf::Environment_Receivers_ReceiverPosition* _internal_mutable_first();
2531  public:
2533  ::netsim::bellhop::protobuf::Environment_Receivers_ReceiverPosition* first);
2534  ::netsim::bellhop::protobuf::Environment_Receivers_ReceiverPosition* unsafe_arena_release_first();
2535 
2536  // optional .netsim.bellhop.protobuf.Environment.Receivers.ReceiverPosition last = 4 [(.goby.field) = {
2537  bool has_last() const;
2538  private:
2539  bool _internal_has_last() const;
2540  public:
2541  void clear_last();
2542  const ::netsim::bellhop::protobuf::Environment_Receivers_ReceiverPosition& last() const;
2543  ::netsim::bellhop::protobuf::Environment_Receivers_ReceiverPosition* release_last();
2544  ::netsim::bellhop::protobuf::Environment_Receivers_ReceiverPosition* mutable_last();
2545  void set_allocated_last(::netsim::bellhop::protobuf::Environment_Receivers_ReceiverPosition* last);
2546  private:
2547  const ::netsim::bellhop::protobuf::Environment_Receivers_ReceiverPosition& _internal_last() const;
2548  ::netsim::bellhop::protobuf::Environment_Receivers_ReceiverPosition* _internal_mutable_last();
2549  public:
2551  ::netsim::bellhop::protobuf::Environment_Receivers_ReceiverPosition* last);
2552  ::netsim::bellhop::protobuf::Environment_Receivers_ReceiverPosition* unsafe_arena_release_last();
2553 
2554  // optional uint32 number_in_depth = 1 [(.goby.field) = {
2555  bool has_number_in_depth() const;
2556  private:
2557  bool _internal_has_number_in_depth() const;
2558  public:
2560  ::PROTOBUF_NAMESPACE_ID::uint32 number_in_depth() const;
2561  void set_number_in_depth(::PROTOBUF_NAMESPACE_ID::uint32 value);
2562  private:
2563  ::PROTOBUF_NAMESPACE_ID::uint32 _internal_number_in_depth() const;
2564  void _internal_set_number_in_depth(::PROTOBUF_NAMESPACE_ID::uint32 value);
2565  public:
2566 
2567  // optional uint32 number_in_range = 2 [(.goby.field) = {
2568  bool has_number_in_range() const;
2569  private:
2570  bool _internal_has_number_in_range() const;
2571  public:
2573  ::PROTOBUF_NAMESPACE_ID::uint32 number_in_range() const;
2574  void set_number_in_range(::PROTOBUF_NAMESPACE_ID::uint32 value);
2575  private:
2576  ::PROTOBUF_NAMESPACE_ID::uint32 _internal_number_in_range() const;
2577  void _internal_set_number_in_range(::PROTOBUF_NAMESPACE_ID::uint32 value);
2578  public:
2579 
2580  // @@protoc_insertion_point(class_scope:netsim.bellhop.protobuf.Environment.Receivers)
2581  private:
2582  class _Internal;
2583 
2584  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
2585  typedef void InternalArenaConstructable_;
2586  typedef void DestructorSkippable_;
2587  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
2588  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
2589  ::netsim::bellhop::protobuf::Environment_Receivers_ReceiverPosition* first_;
2590  ::netsim::bellhop::protobuf::Environment_Receivers_ReceiverPosition* last_;
2591  ::PROTOBUF_NAMESPACE_ID::uint32 number_in_depth_;
2592  ::PROTOBUF_NAMESPACE_ID::uint32 number_in_range_;
2593  friend struct ::TableStruct_netsim_2facousticstoolbox_2fenvironment_2eproto;
2594 };
2595 // -------------------------------------------------------------------
2596 
2597 class Environment_Beams PROTOBUF_FINAL :
2598  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:netsim.bellhop.protobuf.Environment.Beams) */ {
2599  public:
2600  inline Environment_Beams() : Environment_Beams(nullptr) {};
2602 
2603  Environment_Beams(const Environment_Beams& from);
2604  Environment_Beams(Environment_Beams&& from) noexcept
2605  : Environment_Beams() {
2606  *this = ::std::move(from);
2607  }
2608 
2609  inline Environment_Beams& operator=(const Environment_Beams& from) {
2610  CopyFrom(from);
2611  return *this;
2612  }
2613  inline Environment_Beams& operator=(Environment_Beams&& from) noexcept {
2614  if (GetArena() == from.GetArena()) {
2615  if (this != &from) InternalSwap(&from);
2616  } else {
2617  CopyFrom(from);
2618  }
2619  return *this;
2620  }
2621 
2622  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
2623  return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
2624  }
2625  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
2626  return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
2627  }
2628 
2629  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
2630  return GetDescriptor();
2631  }
2632  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
2633  return GetMetadataStatic().descriptor;
2634  }
2635  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
2636  return GetMetadataStatic().reflection;
2637  }
2638  static const Environment_Beams& default_instance();
2639 
2640  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
2641  static inline const Environment_Beams* internal_default_instance() {
2642  return reinterpret_cast<const Environment_Beams*>(
2644  }
2645  static constexpr int kIndexInFileMessages =
2646  12;
2647 
2648  friend void swap(Environment_Beams& a, Environment_Beams& b) {
2649  a.Swap(&b);
2650  }
2651  inline void Swap(Environment_Beams* other) {
2652  if (other == this) return;
2653  if (GetArena() == other->GetArena()) {
2654  InternalSwap(other);
2655  } else {
2656  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
2657  }
2658  }
2659  void UnsafeArenaSwap(Environment_Beams* other) {
2660  if (other == this) return;
2661  GOOGLE_DCHECK(GetArena() == other->GetArena());
2662  InternalSwap(other);
2663  }
2664 
2665  // implements Message ----------------------------------------------
2666 
2667  inline Environment_Beams* New() const final {
2668  return CreateMaybeMessage<Environment_Beams>(nullptr);
2669  }
2670 
2671  Environment_Beams* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
2672  return CreateMaybeMessage<Environment_Beams>(arena);
2673  }
2674  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
2675  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
2676  void CopyFrom(const Environment_Beams& from);
2677  void MergeFrom(const Environment_Beams& from);
2678  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
2679  bool IsInitialized() const final;
2680 
2681  size_t ByteSizeLong() const final;
2682  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
2683  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
2684  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
2685  int GetCachedSize() const final { return _cached_size_.Get(); }
2686 
2687  private:
2688  inline void SharedCtor();
2689  inline void SharedDtor();
2690  void SetCachedSize(int size) const final;
2691  void InternalSwap(Environment_Beams* other);
2692  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
2693  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
2694  return "netsim.bellhop.protobuf.Environment.Beams";
2695  }
2696  protected:
2697  explicit Environment_Beams(::PROTOBUF_NAMESPACE_ID::Arena* arena);
2698  private:
2699  static void ArenaDtor(void* object);
2700  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
2701  public:
2702 
2703  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
2704  private:
2705  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
2706  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_netsim_2facousticstoolbox_2fenvironment_2eproto);
2707  return ::descriptor_table_netsim_2facousticstoolbox_2fenvironment_2eproto.file_level_metadata[kIndexInFileMessages];
2708  }
2709 
2710  public:
2711 
2712  // nested types ----------------------------------------------------
2713 
2715  static constexpr ApproximationType GEOMETRIC =
2717  static constexpr ApproximationType CARTESIAN =
2719  static constexpr ApproximationType RAY_CENTERED =
2721  static constexpr ApproximationType GAUSSIAN =
2723  static inline bool ApproximationType_IsValid(int value) {
2725  }
2726  static constexpr ApproximationType ApproximationType_MIN =
2728  static constexpr ApproximationType ApproximationType_MAX =
2730  static constexpr int ApproximationType_ARRAYSIZE =
2732  static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
2735  }
2736  template<typename T>
2737  static inline const std::string& ApproximationType_Name(T enum_t_value) {
2738  static_assert(::std::is_same<T, ApproximationType>::value ||
2739  ::std::is_integral<T>::value,
2740  "Incorrect type passed to function ApproximationType_Name.");
2741  return Environment_Beams_ApproximationType_Name(enum_t_value);
2742  }
2743  static inline bool ApproximationType_Parse(const std::string& name,
2744  ApproximationType* value) {
2745  return Environment_Beams_ApproximationType_Parse(name, value);
2746  }
2747 
2748  // accessors -------------------------------------------------------
2749 
2750  enum : int {
2751  kNumberFieldNumber = 4,
2752  kThetaMaxFieldNumber = 3,
2753  kApproximationTypeFieldNumber = 1,
2754  kThetaMinFieldNumber = 2,
2755  };
2756  // optional uint32 number = 4 [default = 0, (.goby.field) = {
2757  bool has_number() const;
2758  private:
2759  bool _internal_has_number() const;
2760  public:
2762  ::PROTOBUF_NAMESPACE_ID::uint32 number() const;
2763  void set_number(::PROTOBUF_NAMESPACE_ID::uint32 value);
2764  private:
2765  ::PROTOBUF_NAMESPACE_ID::uint32 _internal_number() const;
2766  void _internal_set_number(::PROTOBUF_NAMESPACE_ID::uint32 value);
2767  public:
2768 
2769  // optional int32 theta_max = 3 [default = 90, (.goby.field) = {
2770  bool has_theta_max() const;
2771  private:
2772  bool _internal_has_theta_max() const;
2773  public:
2775  ::PROTOBUF_NAMESPACE_ID::int32 theta_max() const;
2776  void set_theta_max(::PROTOBUF_NAMESPACE_ID::int32 value);
2777  private:
2778  ::PROTOBUF_NAMESPACE_ID::int32 _internal_theta_max() const;
2779  void _internal_set_theta_max(::PROTOBUF_NAMESPACE_ID::int32 value);
2780  public:
2781 
2782  // optional .netsim.bellhop.protobuf.Environment.Beams.ApproximationType approximation_type = 1 [(.goby.field) = {
2784  private:
2785  bool _internal_has_approximation_type() const;
2786  public:
2790  private:
2791  ::netsim::bellhop::protobuf::Environment_Beams_ApproximationType _internal_approximation_type() const;
2792  void _internal_set_approximation_type(::netsim::bellhop::protobuf::Environment_Beams_ApproximationType value);
2793  public:
2794 
2795  // optional int32 theta_min = 2 [default = -90, (.goby.field) = {
2796  bool has_theta_min() const;
2797  private:
2798  bool _internal_has_theta_min() const;
2799  public:
2801  ::PROTOBUF_NAMESPACE_ID::int32 theta_min() const;
2802  void set_theta_min(::PROTOBUF_NAMESPACE_ID::int32 value);
2803  private:
2804  ::PROTOBUF_NAMESPACE_ID::int32 _internal_theta_min() const;
2805  void _internal_set_theta_min(::PROTOBUF_NAMESPACE_ID::int32 value);
2806  public:
2807 
2808  // @@protoc_insertion_point(class_scope:netsim.bellhop.protobuf.Environment.Beams)
2809  private:
2810  class _Internal;
2811 
2812  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
2813  typedef void InternalArenaConstructable_;
2814  typedef void DestructorSkippable_;
2815  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
2816  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
2817  ::PROTOBUF_NAMESPACE_ID::uint32 number_;
2818  ::PROTOBUF_NAMESPACE_ID::int32 theta_max_;
2819  int approximation_type_;
2820  ::PROTOBUF_NAMESPACE_ID::int32 theta_min_;
2821  friend struct ::TableStruct_netsim_2facousticstoolbox_2fenvironment_2eproto;
2822 };
2823 // -------------------------------------------------------------------
2824 
2825 class Environment_AdaptiveInfo PROTOBUF_FINAL :
2826  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:netsim.bellhop.protobuf.Environment.AdaptiveInfo) */ {
2827  public:
2828  inline Environment_AdaptiveInfo() : Environment_AdaptiveInfo(nullptr) {};
2830 
2831  Environment_AdaptiveInfo(const Environment_AdaptiveInfo& from);
2832  Environment_AdaptiveInfo(Environment_AdaptiveInfo&& from) noexcept
2833  : Environment_AdaptiveInfo() {
2834  *this = ::std::move(from);
2835  }
2836 
2837  inline Environment_AdaptiveInfo& operator=(const Environment_AdaptiveInfo& from) {
2838  CopyFrom(from);
2839  return *this;
2840  }
2841  inline Environment_AdaptiveInfo& operator=(Environment_AdaptiveInfo&& from) noexcept {
2842  if (GetArena() == from.GetArena()) {
2843  if (this != &from) InternalSwap(&from);
2844  } else {
2845  CopyFrom(from);
2846  }
2847  return *this;
2848  }
2849 
2850  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
2851  return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
2852  }
2853  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
2854  return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
2855  }
2856 
2857  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
2858  return GetDescriptor();
2859  }
2860  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
2861  return GetMetadataStatic().descriptor;
2862  }
2863  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
2864  return GetMetadataStatic().reflection;
2865  }
2866  static const Environment_AdaptiveInfo& default_instance();
2867 
2868  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
2869  static inline const Environment_AdaptiveInfo* internal_default_instance() {
2870  return reinterpret_cast<const Environment_AdaptiveInfo*>(
2872  }
2873  static constexpr int kIndexInFileMessages =
2874  13;
2875 
2876  friend void swap(Environment_AdaptiveInfo& a, Environment_AdaptiveInfo& b) {
2877  a.Swap(&b);
2878  }
2879  inline void Swap(Environment_AdaptiveInfo* other) {
2880  if (other == this) return;
2881  if (GetArena() == other->GetArena()) {
2882  InternalSwap(other);
2883  } else {
2884  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
2885  }
2886  }
2887  void UnsafeArenaSwap(Environment_AdaptiveInfo* other) {
2888  if (other == this) return;
2889  GOOGLE_DCHECK(GetArena() == other->GetArena());
2890  InternalSwap(other);
2891  }
2892 
2893  // implements Message ----------------------------------------------
2894 
2895  inline Environment_AdaptiveInfo* New() const final {
2896  return CreateMaybeMessage<Environment_AdaptiveInfo>(nullptr);
2897  }
2898 
2899  Environment_AdaptiveInfo* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
2900  return CreateMaybeMessage<Environment_AdaptiveInfo>(arena);
2901  }
2902  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
2903  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
2904  void CopyFrom(const Environment_AdaptiveInfo& from);
2905  void MergeFrom(const Environment_AdaptiveInfo& from);
2906  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
2907  bool IsInitialized() const final;
2908 
2909  size_t ByteSizeLong() const final;
2910  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
2911  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
2912  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
2913  int GetCachedSize() const final { return _cached_size_.Get(); }
2914 
2915  private:
2916  inline void SharedCtor();
2917  inline void SharedDtor();
2918  void SetCachedSize(int size) const final;
2919  void InternalSwap(Environment_AdaptiveInfo* other);
2920  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
2921  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
2922  return "netsim.bellhop.protobuf.Environment.AdaptiveInfo";
2923  }
2924  protected:
2925  explicit Environment_AdaptiveInfo(::PROTOBUF_NAMESPACE_ID::Arena* arena);
2926  private:
2927  static void ArenaDtor(void* object);
2928  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
2929  public:
2930 
2931  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
2932  private:
2933  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
2934  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_netsim_2facousticstoolbox_2fenvironment_2eproto);
2935  return ::descriptor_table_netsim_2facousticstoolbox_2fenvironment_2eproto.file_level_metadata[kIndexInFileMessages];
2936  }
2937 
2938  public:
2939 
2940  // nested types ----------------------------------------------------
2941 
2942  // accessors -------------------------------------------------------
2943 
2944  enum : int {
2945  kContactFieldNumber = 1,
2946  kOwnshipFieldNumber = 2,
2947  kReadShdFieldNumber = 3,
2948  kFullShdMatrixFieldNumber = 10,
2949  kAutoReceiverRangesFieldNumber = 4,
2950  kAutoSourceDepthFieldNumber = 6,
2951  kLookAheadSecondsFieldNumber = 5,
2952  kAutoReceiverRangesDeltaFieldNumber = 7,
2953  };
2954  // optional string contact = 1 [(.goby.field) = {
2955  bool has_contact() const;
2956  private:
2957  bool _internal_has_contact() const;
2958  public:
2960  const std::string& contact() const;
2961  void set_contact(const std::string& value);
2962  void set_contact(std::string&& value);
2963  void set_contact(const char* value);
2964  void set_contact(const char* value, size_t size);
2965  std::string* mutable_contact();
2966  std::string* release_contact();
2967  void set_allocated_contact(std::string* contact);
2968  GOOGLE_PROTOBUF_RUNTIME_DEPRECATED("The unsafe_arena_ accessors for"
2969  " string fields are deprecated and will be removed in a"
2970  " future release.")
2971  std::string* unsafe_arena_release_contact();
2972  GOOGLE_PROTOBUF_RUNTIME_DEPRECATED("The unsafe_arena_ accessors for"
2973  " string fields are deprecated and will be removed in a"
2974  " future release.")
2975  void unsafe_arena_set_allocated_contact(
2976  std::string* contact);
2977  private:
2978  const std::string& _internal_contact() const;
2979  void _internal_set_contact(const std::string& value);
2980  std::string* _internal_mutable_contact();
2981  public:
2982 
2983  // optional string ownship = 2 [(.goby.field) = {
2984  bool has_ownship() const;
2985  private:
2986  bool _internal_has_ownship() const;
2987  public:
2988  void clear_ownship();
2989  const std::string& ownship() const;
2990  void set_ownship(const std::string& value);
2991  void set_ownship(std::string&& value);
2992  void set_ownship(const char* value);
2993  void set_ownship(const char* value, size_t size);
2994  std::string* mutable_ownship();
2995  std::string* release_ownship();
2996  void set_allocated_ownship(std::string* ownship);
2997  GOOGLE_PROTOBUF_RUNTIME_DEPRECATED("The unsafe_arena_ accessors for"
2998  " string fields are deprecated and will be removed in a"
2999  " future release.")
3000  std::string* unsafe_arena_release_ownship();
3001  GOOGLE_PROTOBUF_RUNTIME_DEPRECATED("The unsafe_arena_ accessors for"
3002  " string fields are deprecated and will be removed in a"
3003  " future release.")
3004  void unsafe_arena_set_allocated_ownship(
3005  std::string* ownship);
3006  private:
3007  const std::string& _internal_ownship() const;
3008  void _internal_set_ownship(const std::string& value);
3009  std::string* _internal_mutable_ownship();
3010  public:
3011 
3012  // optional bool read_shd = 3 [default = false, (.goby.field) = {
3013  bool has_read_shd() const;
3014  private:
3015  bool _internal_has_read_shd() const;
3016  public:
3017  void clear_read_shd();
3018  bool read_shd() const;
3019  void set_read_shd(bool value);
3020  private:
3021  bool _internal_read_shd() const;
3022  void _internal_set_read_shd(bool value);
3023  public:
3024 
3025  // optional bool full_shd_matrix = 10 [default = false, (.goby.field) = {
3026  bool has_full_shd_matrix() const;
3027  private:
3028  bool _internal_has_full_shd_matrix() const;
3029  public:
3030  void clear_full_shd_matrix();
3031  bool full_shd_matrix() const;
3032  void set_full_shd_matrix(bool value);
3033  private:
3034  bool _internal_full_shd_matrix() const;
3035  void _internal_set_full_shd_matrix(bool value);
3036  public:
3037 
3038  // optional bool auto_receiver_ranges = 4 [default = false, (.goby.field) = {
3039  bool has_auto_receiver_ranges() const;
3040  private:
3041  bool _internal_has_auto_receiver_ranges() const;
3042  public:
3043  void clear_auto_receiver_ranges();
3044  bool auto_receiver_ranges() const;
3045  void set_auto_receiver_ranges(bool value);
3046  private:
3047  bool _internal_auto_receiver_ranges() const;
3048  void _internal_set_auto_receiver_ranges(bool value);
3049  public:
3050 
3051  // optional bool auto_source_depth = 6 [default = false, (.goby.field) = {
3052  bool has_auto_source_depth() const;
3053  private:
3054  bool _internal_has_auto_source_depth() const;
3055  public:
3056  void clear_auto_source_depth();
3057  bool auto_source_depth() const;
3058  void set_auto_source_depth(bool value);
3059  private:
3060  bool _internal_auto_source_depth() const;
3061  void _internal_set_auto_source_depth(bool value);
3062  public:
3063 
3064  // optional uint32 look_ahead_seconds = 5 [default = 60, (.goby.field) = {
3065  bool has_look_ahead_seconds() const;
3066  private:
3067  bool _internal_has_look_ahead_seconds() const;
3068  public:
3069  void clear_look_ahead_seconds();
3070  ::PROTOBUF_NAMESPACE_ID::uint32 look_ahead_seconds() const;
3071  void set_look_ahead_seconds(::PROTOBUF_NAMESPACE_ID::uint32 value);
3072  private:
3073  ::PROTOBUF_NAMESPACE_ID::uint32 _internal_look_ahead_seconds() const;
3074  void _internal_set_look_ahead_seconds(::PROTOBUF_NAMESPACE_ID::uint32 value);
3075  public:
3076 
3077  // optional int32 auto_receiver_ranges_delta = 7 [default = 1, (.goby.field) = {
3078  bool has_auto_receiver_ranges_delta() const;
3079  private:
3080  bool _internal_has_auto_receiver_ranges_delta() const;
3081  public:
3082  void clear_auto_receiver_ranges_delta();
3083  ::PROTOBUF_NAMESPACE_ID::int32 auto_receiver_ranges_delta() const;
3084  void set_auto_receiver_ranges_delta(::PROTOBUF_NAMESPACE_ID::int32 value);
3085  private:
3086  ::PROTOBUF_NAMESPACE_ID::int32 _internal_auto_receiver_ranges_delta() const;
3087  void _internal_set_auto_receiver_ranges_delta(::PROTOBUF_NAMESPACE_ID::int32 value);
3088  public:
3089 
3090  // @@protoc_insertion_point(class_scope:netsim.bellhop.protobuf.Environment.AdaptiveInfo)
3091  private:
3092  class _Internal;
3093 
3094  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
3095  typedef void InternalArenaConstructable_;
3096  typedef void DestructorSkippable_;
3097  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
3098  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
3099  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr contact_;
3100  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr ownship_;
3101  bool read_shd_;
3102  bool full_shd_matrix_;
3103  bool auto_receiver_ranges_;
3104  bool auto_source_depth_;
3105  ::PROTOBUF_NAMESPACE_ID::uint32 look_ahead_seconds_;
3106  ::PROTOBUF_NAMESPACE_ID::int32 auto_receiver_ranges_delta_;
3108 };
3109 // -------------------------------------------------------------------
3110 
3112  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:netsim.bellhop.protobuf.Environment) */ {
3113  public:
3114  inline Environment() : Environment(nullptr) {};
3115  virtual ~Environment();
3116 
3117  Environment(const Environment& from);
3118  Environment(Environment&& from) noexcept
3119  : Environment() {
3120  *this = ::std::move(from);
3121  }
3122 
3123  inline Environment& operator=(const Environment& from) {
3124  CopyFrom(from);
3125  return *this;
3126  }
3127  inline Environment& operator=(Environment&& from) noexcept {
3128  if (GetArena() == from.GetArena()) {
3129  if (this != &from) InternalSwap(&from);
3130  } else {
3131  CopyFrom(from);
3132  }
3133  return *this;
3134  }
3135 
3136  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
3137  return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
3138  }
3139  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
3140  return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
3141  }
3142 
3143  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
3144  return GetDescriptor();
3145  }
3146  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
3147  return GetMetadataStatic().descriptor;
3148  }
3149  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
3150  return GetMetadataStatic().reflection;
3151  }
3153 
3154  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
3155  static inline const Environment* internal_default_instance() {
3156  return reinterpret_cast<const Environment*>(
3158  }
3159  static constexpr int kIndexInFileMessages =
3160  14;
3161 
3162  friend void swap(Environment& a, Environment& b) {
3163  a.Swap(&b);
3164  }
3165  inline void Swap(Environment* other) {
3166  if (other == this) return;
3167  if (GetArena() == other->GetArena()) {
3168  InternalSwap(other);
3169  } else {
3170  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
3171  }
3172  }
3174  if (other == this) return;
3175  GOOGLE_DCHECK(GetArena() == other->GetArena());
3176  InternalSwap(other);
3177  }
3178 
3179  // implements Message ----------------------------------------------
3180 
3181  inline Environment* New() const final {
3182  return CreateMaybeMessage<Environment>(nullptr);
3183  }
3184 
3185  Environment* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
3186  return CreateMaybeMessage<Environment>(arena);
3187  }
3188  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
3189  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
3190  void CopyFrom(const Environment& from);
3191  void MergeFrom(const Environment& from);
3192  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
3193  bool IsInitialized() const final;
3194 
3195  size_t ByteSizeLong() const final;
3196  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
3197  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
3198  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
3199  int GetCachedSize() const final { return _cached_size_.Get(); }
3200 
3201  private:
3202  inline void SharedCtor();
3203  inline void SharedDtor();
3204  void SetCachedSize(int size) const final;
3205  void InternalSwap(Environment* other);
3206  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
3207  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
3208  return "netsim.bellhop.protobuf.Environment";
3209  }
3210  protected:
3211  explicit Environment(::PROTOBUF_NAMESPACE_ID::Arena* arena);
3212  private:
3213  static void ArenaDtor(void* object);
3214  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
3215  public:
3216 
3217  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
3218  private:
3219  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
3220  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_netsim_2facousticstoolbox_2fenvironment_2eproto);
3221  return ::descriptor_table_netsim_2facousticstoolbox_2fenvironment_2eproto.file_level_metadata[kIndexInFileMessages];
3222  }
3223 
3224  public:
3225 
3226  // nested types ----------------------------------------------------
3227 
3228  typedef Environment_Output Output;
3229  typedef Environment_Medium Medium;
3230  typedef Environment_Surface Surface;
3231  typedef Environment_WaterColumn WaterColumn;
3232  typedef Environment_Bottom Bottom;
3233  typedef Environment_Sources Sources;
3234  typedef Environment_Receivers Receivers;
3235  typedef Environment_Beams Beams;
3236  typedef Environment_AdaptiveInfo AdaptiveInfo;
3237 
3238  // accessors -------------------------------------------------------
3239 
3240  enum : int {
3241  kWaterColumnFieldNumber = 5,
3242  kTitleFieldNumber = 1,
3243  kOutputFieldNumber = 3,
3244  kSurfaceFieldNumber = 4,
3245  kBottomFieldNumber = 6,
3246  kSourcesFieldNumber = 7,
3247  kReceiversFieldNumber = 8,
3248  kBeamsFieldNumber = 9,
3249  kAdaptiveInfoFieldNumber = 100,
3250  kFreqFieldNumber = 2,
3251  };
3252  // repeated .netsim.bellhop.protobuf.Environment.WaterColumn water_column = 5 [(.goby.field) = {
3253  int water_column_size() const;
3254  private:
3255  int _internal_water_column_size() const;
3256  public:
3258  ::netsim::bellhop::protobuf::Environment_WaterColumn* mutable_water_column(int index);
3259  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::netsim::bellhop::protobuf::Environment_WaterColumn >*
3261  private:
3262  const ::netsim::bellhop::protobuf::Environment_WaterColumn& _internal_water_column(int index) const;
3263  ::netsim::bellhop::protobuf::Environment_WaterColumn* _internal_add_water_column();
3264  public:
3265  const ::netsim::bellhop::protobuf::Environment_WaterColumn& water_column(int index) const;
3266  ::netsim::bellhop::protobuf::Environment_WaterColumn* add_water_column();
3267  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::netsim::bellhop::protobuf::Environment_WaterColumn >&
3268  water_column() const;
3269 
3270  // optional string title = 1 [default = "Environmental File", (.goby.field) = {
3271  bool has_title() const;
3272  private:
3273  bool _internal_has_title() const;
3274  public:
3275  void clear_title();
3276  const std::string& title() const;
3277  void set_title(const std::string& value);
3278  void set_title(std::string&& value);
3279  void set_title(const char* value);
3280  void set_title(const char* value, size_t size);
3281  std::string* mutable_title();
3282  std::string* release_title();
3283  void set_allocated_title(std::string* title);
3284  GOOGLE_PROTOBUF_RUNTIME_DEPRECATED("The unsafe_arena_ accessors for"
3285  " string fields are deprecated and will be removed in a"
3286  " future release.")
3287  std::string* unsafe_arena_release_title();
3288  GOOGLE_PROTOBUF_RUNTIME_DEPRECATED("The unsafe_arena_ accessors for"
3289  " string fields are deprecated and will be removed in a"
3290  " future release.")
3291  void unsafe_arena_set_allocated_title(
3292  std::string* title);
3293  private:
3294  const std::string& _internal_title() const;
3295  void _internal_set_title(const std::string& value);
3296  std::string* _internal_mutable_title();
3297  public:
3298 
3299  // optional .netsim.bellhop.protobuf.Environment.Output output = 3 [(.goby.field) = {
3300  bool has_output() const;
3301  private:
3302  bool _internal_has_output() const;
3303  public:
3304  void clear_output();
3305  const ::netsim::bellhop::protobuf::Environment_Output& output() const;
3306  ::netsim::bellhop::protobuf::Environment_Output* release_output();
3307  ::netsim::bellhop::protobuf::Environment_Output* mutable_output();
3308  void set_allocated_output(::netsim::bellhop::protobuf::Environment_Output* output);
3309  private:
3310  const ::netsim::bellhop::protobuf::Environment_Output& _internal_output() const;
3311  ::netsim::bellhop::protobuf::Environment_Output* _internal_mutable_output();
3312  public:
3313  void unsafe_arena_set_allocated_output(
3314  ::netsim::bellhop::protobuf::Environment_Output* output);
3315  ::netsim::bellhop::protobuf::Environment_Output* unsafe_arena_release_output();
3316 
3317  // optional .netsim.bellhop.protobuf.Environment.Surface surface = 4 [(.goby.field) = {
3318  bool has_surface() const;
3319  private:
3320  bool _internal_has_surface() const;
3321  public:
3322  void clear_surface();
3323  const ::netsim::bellhop::protobuf::Environment_Surface& surface() const;
3324  ::netsim::bellhop::protobuf::Environment_Surface* release_surface();
3325  ::netsim::bellhop::protobuf::Environment_Surface* mutable_surface();
3326  void set_allocated_surface(::netsim::bellhop::protobuf::Environment_Surface* surface);
3327  private:
3328  const ::netsim::bellhop::protobuf::Environment_Surface& _internal_surface() const;
3329  ::netsim::bellhop::protobuf::Environment_Surface* _internal_mutable_surface();
3330  public:
3331  void unsafe_arena_set_allocated_surface(
3332  ::netsim::bellhop::protobuf::Environment_Surface* surface);
3333  ::netsim::bellhop::protobuf::Environment_Surface* unsafe_arena_release_surface();
3334 
3335  // optional .netsim.bellhop.protobuf.Environment.Bottom bottom = 6 [(.goby.field) = {
3336  bool has_bottom() const;
3337  private:
3338  bool _internal_has_bottom() const;
3339  public:
3340  void clear_bottom();
3341  const ::netsim::bellhop::protobuf::Environment_Bottom& bottom() const;
3342  ::netsim::bellhop::protobuf::Environment_Bottom* release_bottom();
3343  ::netsim::bellhop::protobuf::Environment_Bottom* mutable_bottom();
3344  void set_allocated_bottom(::netsim::bellhop::protobuf::Environment_Bottom* bottom);
3345  private:
3346  const ::netsim::bellhop::protobuf::Environment_Bottom& _internal_bottom() const;
3347  ::netsim::bellhop::protobuf::Environment_Bottom* _internal_mutable_bottom();
3348  public:
3349  void unsafe_arena_set_allocated_bottom(
3350  ::netsim::bellhop::protobuf::Environment_Bottom* bottom);
3351  ::netsim::bellhop::protobuf::Environment_Bottom* unsafe_arena_release_bottom();
3352 
3353  // optional .netsim.bellhop.protobuf.Environment.Sources sources = 7 [(.goby.field) = {
3354  bool has_sources() const;
3355  private:
3356  bool _internal_has_sources() const;
3357  public:
3358  void clear_sources();
3359  const ::netsim::bellhop::protobuf::Environment_Sources& sources() const;
3360  ::netsim::bellhop::protobuf::Environment_Sources* release_sources();
3361  ::netsim::bellhop::protobuf::Environment_Sources* mutable_sources();
3362  void set_allocated_sources(::netsim::bellhop::protobuf::Environment_Sources* sources);
3363  private:
3364  const ::netsim::bellhop::protobuf::Environment_Sources& _internal_sources() const;
3365  ::netsim::bellhop::protobuf::Environment_Sources* _internal_mutable_sources();
3366  public:
3367  void unsafe_arena_set_allocated_sources(
3368  ::netsim::bellhop::protobuf::Environment_Sources* sources);
3369  ::netsim::bellhop::protobuf::Environment_Sources* unsafe_arena_release_sources();
3370 
3371  // optional .netsim.bellhop.protobuf.Environment.Receivers receivers = 8 [(.goby.field) = {
3372  bool has_receivers() const;
3373  private:
3374  bool _internal_has_receivers() const;
3375  public:
3376  void clear_receivers();
3377  const ::netsim::bellhop::protobuf::Environment_Receivers& receivers() const;
3378  ::netsim::bellhop::protobuf::Environment_Receivers* release_receivers();
3379  ::netsim::bellhop::protobuf::Environment_Receivers* mutable_receivers();
3380  void set_allocated_receivers(::netsim::bellhop::protobuf::Environment_Receivers* receivers);
3381  private:
3382  const ::netsim::bellhop::protobuf::Environment_Receivers& _internal_receivers() const;
3383  ::netsim::bellhop::protobuf::Environment_Receivers* _internal_mutable_receivers();
3384  public:
3385  void unsafe_arena_set_allocated_receivers(
3386  ::netsim::bellhop::protobuf::Environment_Receivers* receivers);
3387  ::netsim::bellhop::protobuf::Environment_Receivers* unsafe_arena_release_receivers();
3388 
3389  // optional .netsim.bellhop.protobuf.Environment.Beams beams = 9 [(.goby.field) = {
3390  bool has_beams() const;
3391  private:
3392  bool _internal_has_beams() const;
3393  public:
3394  void clear_beams();
3395  const ::netsim::bellhop::protobuf::Environment_Beams& beams() const;
3396  ::netsim::bellhop::protobuf::Environment_Beams* release_beams();
3397  ::netsim::bellhop::protobuf::Environment_Beams* mutable_beams();
3398  void set_allocated_beams(::netsim::bellhop::protobuf::Environment_Beams* beams);
3399  private:
3400  const ::netsim::bellhop::protobuf::Environment_Beams& _internal_beams() const;
3401  ::netsim::bellhop::protobuf::Environment_Beams* _internal_mutable_beams();
3402  public:
3403  void unsafe_arena_set_allocated_beams(
3404  ::netsim::bellhop::protobuf::Environment_Beams* beams);
3405  ::netsim::bellhop::protobuf::Environment_Beams* unsafe_arena_release_beams();
3406 
3407  // optional .netsim.bellhop.protobuf.Environment.AdaptiveInfo adaptive_info = 100 [(.goby.field) = {
3408  bool has_adaptive_info() const;
3409  private:
3410  bool _internal_has_adaptive_info() const;
3411  public:
3412  void clear_adaptive_info();
3413  const ::netsim::bellhop::protobuf::Environment_AdaptiveInfo& adaptive_info() const;
3414  ::netsim::bellhop::protobuf::Environment_AdaptiveInfo* release_adaptive_info();
3415  ::netsim::bellhop::protobuf::Environment_AdaptiveInfo* mutable_adaptive_info();
3416  void set_allocated_adaptive_info(::netsim::bellhop::protobuf::Environment_AdaptiveInfo* adaptive_info);
3417  private:
3418  const ::netsim::bellhop::protobuf::Environment_AdaptiveInfo& _internal_adaptive_info() const;
3419  ::netsim::bellhop::protobuf::Environment_AdaptiveInfo* _internal_mutable_adaptive_info();
3420  public:
3421  void unsafe_arena_set_allocated_adaptive_info(
3422  ::netsim::bellhop::protobuf::Environment_AdaptiveInfo* adaptive_info);
3423  ::netsim::bellhop::protobuf::Environment_AdaptiveInfo* unsafe_arena_release_adaptive_info();
3424 
3425  // optional uint32 freq = 2 [default = 25000, (.goby.field) = {
3426  bool has_freq() const;
3427  private:
3428  bool _internal_has_freq() const;
3429  public:
3430  void clear_freq();
3431  ::PROTOBUF_NAMESPACE_ID::uint32 freq() const;
3432  void set_freq(::PROTOBUF_NAMESPACE_ID::uint32 value);
3433  private:
3434  ::PROTOBUF_NAMESPACE_ID::uint32 _internal_freq() const;
3435  void _internal_set_freq(::PROTOBUF_NAMESPACE_ID::uint32 value);
3436  public:
3437 
3438  // @@protoc_insertion_point(class_scope:netsim.bellhop.protobuf.Environment)
3439  private:
3440  class _Internal;
3441 
3442  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
3443  typedef void InternalArenaConstructable_;
3444  typedef void DestructorSkippable_;
3445  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
3446  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
3447  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::netsim::bellhop::protobuf::Environment_WaterColumn > water_column_;
3448  public:
3449  static ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<std::string> _i_give_permission_to_break_this_code_default_title_;
3450  private:
3451  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr title_;
3452  ::netsim::bellhop::protobuf::Environment_Output* output_;
3453  ::netsim::bellhop::protobuf::Environment_Surface* surface_;
3454  ::netsim::bellhop::protobuf::Environment_Bottom* bottom_;
3455  ::netsim::bellhop::protobuf::Environment_Sources* sources_;
3456  ::netsim::bellhop::protobuf::Environment_Receivers* receivers_;
3457  ::netsim::bellhop::protobuf::Environment_Beams* beams_;
3458  ::netsim::bellhop::protobuf::Environment_AdaptiveInfo* adaptive_info_;
3459  ::PROTOBUF_NAMESPACE_ID::uint32 freq_;
3461 };
3462 // ===================================================================
3463 
3464 
3465 // ===================================================================
3466 
3467 #ifdef __GNUC__
3468  #pragma GCC diagnostic push
3469  #pragma GCC diagnostic ignored "-Wstrict-aliasing"
3470 #endif // __GNUC__
3471 // Environment_Output
3472 
3473 // optional .netsim.bellhop.protobuf.Environment.Output.OutputType type = 1 [default = INCOHERENT_PRESSURE, (.goby.field) = {
3474 inline bool Environment_Output::_internal_has_type() const {
3475  bool value = (_has_bits_[0] & 0x00000001u) != 0;
3476  return value;
3477 }
3478 inline bool Environment_Output::has_type() const {
3479  return _internal_has_type();
3480 }
3481 inline void Environment_Output::clear_type() {
3482  type_ = 5;
3483  _has_bits_[0] &= ~0x00000001u;
3484 }
3485 inline ::netsim::bellhop::protobuf::Environment_Output_OutputType Environment_Output::_internal_type() const {
3486  return static_cast< ::netsim::bellhop::protobuf::Environment_Output_OutputType >(type_);
3487 }
3489  // @@protoc_insertion_point(field_get:netsim.bellhop.protobuf.Environment.Output.type)
3490  return _internal_type();
3491 }
3492 inline void Environment_Output::_internal_set_type(::netsim::bellhop::protobuf::Environment_Output_OutputType value) {
3494  _has_bits_[0] |= 0x00000001u;
3495  type_ = value;
3496 }
3497 inline void Environment_Output::set_type(::netsim::bellhop::protobuf::Environment_Output_OutputType value) {
3498  _internal_set_type(value);
3499  // @@protoc_insertion_point(field_set:netsim.bellhop.protobuf.Environment.Output.type)
3500 }
3501 
3502 // -------------------------------------------------------------------
3503 
3504 // Environment_Medium_RCSample
3505 
3506 // optional double angle = 1 [(.goby.field) = {
3507 inline bool Environment_Medium_RCSample::_internal_has_angle() const {
3508  bool value = (_has_bits_[0] & 0x00000001u) != 0;
3509  return value;
3510 }
3511 inline bool Environment_Medium_RCSample::has_angle() const {
3512  return _internal_has_angle();
3513 }
3514 inline void Environment_Medium_RCSample::clear_angle() {
3515  angle_ = 0;
3516  _has_bits_[0] &= ~0x00000001u;
3517 }
3518 inline double Environment_Medium_RCSample::_internal_angle() const {
3519  return angle_;
3520 }
3521 inline double Environment_Medium_RCSample::angle() const {
3522  // @@protoc_insertion_point(field_get:netsim.bellhop.protobuf.Environment.Medium.RCSample.angle)
3523  return _internal_angle();
3524 }
3525 inline void Environment_Medium_RCSample::_internal_set_angle(double value) {
3526  _has_bits_[0] |= 0x00000001u;
3527  angle_ = value;
3528 }
3529 inline void Environment_Medium_RCSample::set_angle(double value) {
3530  _internal_set_angle(value);
3531  // @@protoc_insertion_point(field_set:netsim.bellhop.protobuf.Environment.Medium.RCSample.angle)
3532 }
3533 
3534 // optional double rc = 2 [(.goby.field) = {
3535 inline bool Environment_Medium_RCSample::_internal_has_rc() const {
3536  bool value = (_has_bits_[0] & 0x00000002u) != 0;
3537  return value;
3538 }
3539 inline bool Environment_Medium_RCSample::has_rc() const {
3540  return _internal_has_rc();
3541 }
3542 inline void Environment_Medium_RCSample::clear_rc() {
3543  rc_ = 0;
3544  _has_bits_[0] &= ~0x00000002u;
3545 }
3546 inline double Environment_Medium_RCSample::_internal_rc() const {
3547  return rc_;
3548 }
3549 inline double Environment_Medium_RCSample::rc() const {
3550  // @@protoc_insertion_point(field_get:netsim.bellhop.protobuf.Environment.Medium.RCSample.rc)
3551  return _internal_rc();
3552 }
3553 inline void Environment_Medium_RCSample::_internal_set_rc(double value) {
3554  _has_bits_[0] |= 0x00000002u;
3555  rc_ = value;
3556 }
3557 inline void Environment_Medium_RCSample::set_rc(double value) {
3558  _internal_set_rc(value);
3559  // @@protoc_insertion_point(field_set:netsim.bellhop.protobuf.Environment.Medium.RCSample.rc)
3560 }
3561 
3562 // optional double phase = 3 [(.goby.field) = {
3563 inline bool Environment_Medium_RCSample::_internal_has_phase() const {
3564  bool value = (_has_bits_[0] & 0x00000004u) != 0;
3565  return value;
3566 }
3567 inline bool Environment_Medium_RCSample::has_phase() const {
3568  return _internal_has_phase();
3569 }
3570 inline void Environment_Medium_RCSample::clear_phase() {
3571  phase_ = 0;
3572  _has_bits_[0] &= ~0x00000004u;
3573 }
3574 inline double Environment_Medium_RCSample::_internal_phase() const {
3575  return phase_;
3576 }
3577 inline double Environment_Medium_RCSample::phase() const {
3578  // @@protoc_insertion_point(field_get:netsim.bellhop.protobuf.Environment.Medium.RCSample.phase)
3579  return _internal_phase();
3580 }
3581 inline void Environment_Medium_RCSample::_internal_set_phase(double value) {
3582  _has_bits_[0] |= 0x00000004u;
3583  phase_ = value;
3584 }
3585 inline void Environment_Medium_RCSample::set_phase(double value) {
3586  _internal_set_phase(value);
3587  // @@protoc_insertion_point(field_set:netsim.bellhop.protobuf.Environment.Medium.RCSample.phase)
3588 }
3589 
3590 // -------------------------------------------------------------------
3591 
3592 // Environment_Medium_Attenuation
3593 
3594 // optional .netsim.bellhop.protobuf.Environment.Medium.Attenuation.Units units = 1 [(.goby.field) = {
3595 inline bool Environment_Medium_Attenuation::_internal_has_units() const {
3596  bool value = (_has_bits_[0] & 0x00000002u) != 0;
3597  return value;
3598 }
3599 inline bool Environment_Medium_Attenuation::has_units() const {
3600  return _internal_has_units();
3601 }
3602 inline void Environment_Medium_Attenuation::clear_units() {
3603  units_ = 1;
3604  _has_bits_[0] &= ~0x00000002u;
3605 }
3606 inline ::netsim::bellhop::protobuf::Environment_Medium_Attenuation_Units Environment_Medium_Attenuation::_internal_units() const {
3608 }
3609 inline ::netsim::bellhop::protobuf::Environment_Medium_Attenuation_Units Environment_Medium_Attenuation::units() const {
3610  // @@protoc_insertion_point(field_get:netsim.bellhop.protobuf.Environment.Medium.Attenuation.units)
3611  return _internal_units();
3612 }
3613 inline void Environment_Medium_Attenuation::_internal_set_units(::netsim::bellhop::protobuf::Environment_Medium_Attenuation_Units value) {
3615  _has_bits_[0] |= 0x00000002u;
3616  units_ = value;
3617 }
3618 inline void Environment_Medium_Attenuation::set_units(::netsim::bellhop::protobuf::Environment_Medium_Attenuation_Units value) {
3619  _internal_set_units(value);
3620  // @@protoc_insertion_point(field_set:netsim.bellhop.protobuf.Environment.Medium.Attenuation.units)
3621 }
3622 
3623 // optional double value = 2;
3624 inline bool Environment_Medium_Attenuation::_internal_has_value() const {
3625  bool value = (_has_bits_[0] & 0x00000001u) != 0;
3626  return value;
3627 }
3628 inline bool Environment_Medium_Attenuation::has_value() const {
3629  return _internal_has_value();
3630 }
3631 inline void Environment_Medium_Attenuation::clear_value() {
3632  value_ = 0;
3633  _has_bits_[0] &= ~0x00000001u;
3634 }
3635 inline double Environment_Medium_Attenuation::_internal_value() const {
3636  return value_;
3637 }
3638 inline double Environment_Medium_Attenuation::value() const {
3639  // @@protoc_insertion_point(field_get:netsim.bellhop.protobuf.Environment.Medium.Attenuation.value)
3640  return _internal_value();
3641 }
3642 inline void Environment_Medium_Attenuation::_internal_set_value(double value) {
3643  _has_bits_[0] |= 0x00000001u;
3644  value_ = value;
3645 }
3646 inline void Environment_Medium_Attenuation::set_value(double value) {
3647  _internal_set_value(value);
3648  // @@protoc_insertion_point(field_set:netsim.bellhop.protobuf.Environment.Medium.Attenuation.value)
3649 }
3650 
3651 // -------------------------------------------------------------------
3652 
3653 // Environment_Medium
3654 
3655 // optional .netsim.bellhop.protobuf.Environment.Medium.MediumType type = 1 [(.goby.field) = {
3656 inline bool Environment_Medium::_internal_has_type() const {
3657  bool value = (_has_bits_[0] & 0x00000020u) != 0;
3658  return value;
3659 }
3660 inline bool Environment_Medium::has_type() const {
3661  return _internal_has_type();
3662 }
3663 inline void Environment_Medium::clear_type() {
3664  type_ = 1;
3665  _has_bits_[0] &= ~0x00000020u;
3666 }
3667 inline ::netsim::bellhop::protobuf::Environment_Medium_MediumType Environment_Medium::_internal_type() const {
3668  return static_cast< ::netsim::bellhop::protobuf::Environment_Medium_MediumType >(type_);
3669 }
3671  // @@protoc_insertion_point(field_get:netsim.bellhop.protobuf.Environment.Medium.type)
3672  return _internal_type();
3673 }
3674 inline void Environment_Medium::_internal_set_type(::netsim::bellhop::protobuf::Environment_Medium_MediumType value) {
3676  _has_bits_[0] |= 0x00000020u;
3677  type_ = value;
3678 }
3679 inline void Environment_Medium::set_type(::netsim::bellhop::protobuf::Environment_Medium_MediumType value) {
3680  _internal_set_type(value);
3681  // @@protoc_insertion_point(field_set:netsim.bellhop.protobuf.Environment.Medium.type)
3682 }
3683 
3684 // optional .netsim.bellhop.protobuf.Environment.Medium.Attenuation attenuation = 2 [(.goby.field) = {
3685 inline bool Environment_Medium::_internal_has_attenuation() const {
3686  bool value = (_has_bits_[0] & 0x00000001u) != 0;
3687  PROTOBUF_ASSUME(!value || attenuation_ != nullptr);
3688  return value;
3689 }
3690 inline bool Environment_Medium::has_attenuation() const {
3691  return _internal_has_attenuation();
3692 }
3693 inline void Environment_Medium::clear_attenuation() {
3694  if (attenuation_ != nullptr) attenuation_->Clear();
3695  _has_bits_[0] &= ~0x00000001u;
3696 }
3697 inline const ::netsim::bellhop::protobuf::Environment_Medium_Attenuation& Environment_Medium::_internal_attenuation() const {
3698  const ::netsim::bellhop::protobuf::Environment_Medium_Attenuation* p = attenuation_;
3699  return p != nullptr ? *p : *reinterpret_cast<const ::netsim::bellhop::protobuf::Environment_Medium_Attenuation*>(
3701 }
3702 inline const ::netsim::bellhop::protobuf::Environment_Medium_Attenuation& Environment_Medium::attenuation() const {
3703  // @@protoc_insertion_point(field_get:netsim.bellhop.protobuf.Environment.Medium.attenuation)
3704  return _internal_attenuation();
3705 }
3706 inline void Environment_Medium::unsafe_arena_set_allocated_attenuation(
3707  ::netsim::bellhop::protobuf::Environment_Medium_Attenuation* attenuation) {
3708  if (GetArena() == nullptr) {
3709  delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(attenuation_);
3710  }
3711  attenuation_ = attenuation;
3712  if (attenuation) {
3713  _has_bits_[0] |= 0x00000001u;
3714  } else {
3715  _has_bits_[0] &= ~0x00000001u;
3716  }
3717  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:netsim.bellhop.protobuf.Environment.Medium.attenuation)
3718 }
3719 inline ::netsim::bellhop::protobuf::Environment_Medium_Attenuation* Environment_Medium::release_attenuation() {
3720  auto temp = unsafe_arena_release_attenuation();
3721  if (GetArena() != nullptr) {
3722  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
3723  }
3724  return temp;
3725 }
3726 inline ::netsim::bellhop::protobuf::Environment_Medium_Attenuation* Environment_Medium::unsafe_arena_release_attenuation() {
3727  // @@protoc_insertion_point(field_release:netsim.bellhop.protobuf.Environment.Medium.attenuation)
3728  _has_bits_[0] &= ~0x00000001u;
3729  ::netsim::bellhop::protobuf::Environment_Medium_Attenuation* temp = attenuation_;
3730  attenuation_ = nullptr;
3731  return temp;
3732 }
3733 inline ::netsim::bellhop::protobuf::Environment_Medium_Attenuation* Environment_Medium::_internal_mutable_attenuation() {
3734  _has_bits_[0] |= 0x00000001u;
3735  if (attenuation_ == nullptr) {
3736  auto* p = CreateMaybeMessage<::netsim::bellhop::protobuf::Environment_Medium_Attenuation>(GetArena());
3737  attenuation_ = p;
3738  }
3739  return attenuation_;
3740 }
3741 inline ::netsim::bellhop::protobuf::Environment_Medium_Attenuation* Environment_Medium::mutable_attenuation() {
3742  // @@protoc_insertion_point(field_mutable:netsim.bellhop.protobuf.Environment.Medium.attenuation)
3743  return _internal_mutable_attenuation();
3744 }
3745 inline void Environment_Medium::set_allocated_attenuation(::netsim::bellhop::protobuf::Environment_Medium_Attenuation* attenuation) {
3746  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
3747  if (message_arena == nullptr) {
3748  delete attenuation_;
3749  }
3750  if (attenuation) {
3751  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
3752  ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(attenuation);
3753  if (message_arena != submessage_arena) {
3754  attenuation = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
3755  message_arena, attenuation, submessage_arena);
3756  }
3757  _has_bits_[0] |= 0x00000001u;
3758  } else {
3759  _has_bits_[0] &= ~0x00000001u;
3760  }
3761  attenuation_ = attenuation;
3762  // @@protoc_insertion_point(field_set_allocated:netsim.bellhop.protobuf.Environment.Medium.attenuation)
3763 }
3764 
3765 // optional double cp = 3 [(.goby.field) = {
3766 inline bool Environment_Medium::_internal_has_cp() const {
3767  bool value = (_has_bits_[0] & 0x00000002u) != 0;
3768  return value;
3769 }
3770 inline bool Environment_Medium::has_cp() const {
3771  return _internal_has_cp();
3772 }
3773 inline void Environment_Medium::clear_cp() {
3774  cp_ = 0;
3775  _has_bits_[0] &= ~0x00000002u;
3776 }
3777 inline double Environment_Medium::_internal_cp() const {
3778  return cp_;
3779 }
3780 inline double Environment_Medium::cp() const {
3781  // @@protoc_insertion_point(field_get:netsim.bellhop.protobuf.Environment.Medium.cp)
3782  return _internal_cp();
3783 }
3784 inline void Environment_Medium::_internal_set_cp(double value) {
3785  _has_bits_[0] |= 0x00000002u;
3786  cp_ = value;
3787 }
3788 inline void Environment_Medium::set_cp(double value) {
3789  _internal_set_cp(value);
3790  // @@protoc_insertion_point(field_set:netsim.bellhop.protobuf.Environment.Medium.cp)
3791 }
3792 
3793 // optional double cs = 4 [(.goby.field) = {
3794 inline bool Environment_Medium::_internal_has_cs() const {
3795  bool value = (_has_bits_[0] & 0x00000004u) != 0;
3796  return value;
3797 }
3798 inline bool Environment_Medium::has_cs() const {
3799  return _internal_has_cs();
3800 }
3801 inline void Environment_Medium::clear_cs() {
3802  cs_ = 0;
3803  _has_bits_[0] &= ~0x00000004u;
3804 }
3805 inline double Environment_Medium::_internal_cs() const {
3806  return cs_;
3807 }
3808 inline double Environment_Medium::cs() const {
3809  // @@protoc_insertion_point(field_get:netsim.bellhop.protobuf.Environment.Medium.cs)
3810  return _internal_cs();
3811 }
3812 inline void Environment_Medium::_internal_set_cs(double value) {
3813  _has_bits_[0] |= 0x00000004u;
3814  cs_ = value;
3815 }
3816 inline void Environment_Medium::set_cs(double value) {
3817  _internal_set_cs(value);
3818  // @@protoc_insertion_point(field_set:netsim.bellhop.protobuf.Environment.Medium.cs)
3819 }
3820 
3821 // optional double density = 5 [(.goby.field) = {
3822 inline bool Environment_Medium::_internal_has_density() const {
3823  bool value = (_has_bits_[0] & 0x00000008u) != 0;
3824  return value;
3825 }
3826 inline bool Environment_Medium::has_density() const {
3827  return _internal_has_density();
3828 }
3829 inline void Environment_Medium::clear_density() {
3830  density_ = 0;
3831  _has_bits_[0] &= ~0x00000008u;
3832 }
3833 inline double Environment_Medium::_internal_density() const {
3834  return density_;
3835 }
3836 inline double Environment_Medium::density() const {
3837  // @@protoc_insertion_point(field_get:netsim.bellhop.protobuf.Environment.Medium.density)
3838  return _internal_density();
3839 }
3840 inline void Environment_Medium::_internal_set_density(double value) {
3841  _has_bits_[0] |= 0x00000008u;
3842  density_ = value;
3843 }
3844 inline void Environment_Medium::set_density(double value) {
3845  _internal_set_density(value);
3846  // @@protoc_insertion_point(field_set:netsim.bellhop.protobuf.Environment.Medium.density)
3847 }
3848 
3849 // optional double depth = 6 [(.goby.field) = {
3850 inline bool Environment_Medium::_internal_has_depth() const {
3851  bool value = (_has_bits_[0] & 0x00000010u) != 0;
3852  return value;
3853 }
3854 inline bool Environment_Medium::has_depth() const {
3855  return _internal_has_depth();
3856 }
3857 inline void Environment_Medium::clear_depth() {
3858  depth_ = 0;
3859  _has_bits_[0] &= ~0x00000010u;
3860 }
3861 inline double Environment_Medium::_internal_depth() const {
3862  return depth_;
3863 }
3864 inline double Environment_Medium::depth() const {
3865  // @@protoc_insertion_point(field_get:netsim.bellhop.protobuf.Environment.Medium.depth)
3866  return _internal_depth();
3867 }
3868 inline void Environment_Medium::_internal_set_depth(double value) {
3869  _has_bits_[0] |= 0x00000010u;
3870  depth_ = value;
3871 }
3872 inline void Environment_Medium::set_depth(double value) {
3873  _internal_set_depth(value);
3874  // @@protoc_insertion_point(field_set:netsim.bellhop.protobuf.Environment.Medium.depth)
3875 }
3876 
3877 // repeated .netsim.bellhop.protobuf.Environment.Medium.RCSample rc_sample = 7 [(.goby.field) = {
3878 inline int Environment_Medium::_internal_rc_sample_size() const {
3879  return rc_sample_.size();
3880 }
3881 inline int Environment_Medium::rc_sample_size() const {
3882  return _internal_rc_sample_size();
3883 }
3884 inline void Environment_Medium::clear_rc_sample() {
3885  rc_sample_.Clear();
3886 }
3887 inline ::netsim::bellhop::protobuf::Environment_Medium_RCSample* Environment_Medium::mutable_rc_sample(int index) {
3888  // @@protoc_insertion_point(field_mutable:netsim.bellhop.protobuf.Environment.Medium.rc_sample)
3889  return rc_sample_.Mutable(index);
3890 }
3891 inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::netsim::bellhop::protobuf::Environment_Medium_RCSample >*
3892 Environment_Medium::mutable_rc_sample() {
3893  // @@protoc_insertion_point(field_mutable_list:netsim.bellhop.protobuf.Environment.Medium.rc_sample)
3894  return &rc_sample_;
3895 }
3896 inline const ::netsim::bellhop::protobuf::Environment_Medium_RCSample& Environment_Medium::_internal_rc_sample(int index) const {
3897  return rc_sample_.Get(index);
3898 }
3899 inline const ::netsim::bellhop::protobuf::Environment_Medium_RCSample& Environment_Medium::rc_sample(int index) const {
3900  // @@protoc_insertion_point(field_get:netsim.bellhop.protobuf.Environment.Medium.rc_sample)
3901  return _internal_rc_sample(index);
3902 }
3903 inline ::netsim::bellhop::protobuf::Environment_Medium_RCSample* Environment_Medium::_internal_add_rc_sample() {
3904  return rc_sample_.Add();
3905 }
3906 inline ::netsim::bellhop::protobuf::Environment_Medium_RCSample* Environment_Medium::add_rc_sample() {
3907  // @@protoc_insertion_point(field_add:netsim.bellhop.protobuf.Environment.Medium.rc_sample)
3908  return _internal_add_rc_sample();
3909 }
3910 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::netsim::bellhop::protobuf::Environment_Medium_RCSample >&
3911 Environment_Medium::rc_sample() const {
3912  // @@protoc_insertion_point(field_list:netsim.bellhop.protobuf.Environment.Medium.rc_sample)
3913  return rc_sample_;
3914 }
3915 
3916 // -------------------------------------------------------------------
3917 
3918 // Environment_Surface
3919 
3920 // optional .netsim.bellhop.protobuf.Environment.Medium medium = 1;
3921 inline bool Environment_Surface::_internal_has_medium() const {
3922  bool value = (_has_bits_[0] & 0x00000001u) != 0;
3923  PROTOBUF_ASSUME(!value || medium_ != nullptr);
3924  return value;
3925 }
3926 inline bool Environment_Surface::has_medium() const {
3927  return _internal_has_medium();
3928 }
3929 inline void Environment_Surface::clear_medium() {
3930  if (medium_ != nullptr) medium_->Clear();
3931  _has_bits_[0] &= ~0x00000001u;
3932 }
3933 inline const ::netsim::bellhop::protobuf::Environment_Medium& Environment_Surface::_internal_medium() const {
3934  const ::netsim::bellhop::protobuf::Environment_Medium* p = medium_;
3935  return p != nullptr ? *p : *reinterpret_cast<const ::netsim::bellhop::protobuf::Environment_Medium*>(
3937 }
3938 inline const ::netsim::bellhop::protobuf::Environment_Medium& Environment_Surface::medium() const {
3939  // @@protoc_insertion_point(field_get:netsim.bellhop.protobuf.Environment.Surface.medium)
3940  return _internal_medium();
3941 }
3942 inline void Environment_Surface::unsafe_arena_set_allocated_medium(
3943  ::netsim::bellhop::protobuf::Environment_Medium* medium) {
3944  if (GetArena() == nullptr) {
3945  delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(medium_);
3946  }
3947  medium_ = medium;
3948  if (medium) {
3949  _has_bits_[0] |= 0x00000001u;
3950  } else {
3951  _has_bits_[0] &= ~0x00000001u;
3952  }
3953  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:netsim.bellhop.protobuf.Environment.Surface.medium)
3954 }
3955 inline ::netsim::bellhop::protobuf::Environment_Medium* Environment_Surface::release_medium() {
3956  auto temp = unsafe_arena_release_medium();
3957  if (GetArena() != nullptr) {
3958  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
3959  }
3960  return temp;
3961 }
3962 inline ::netsim::bellhop::protobuf::Environment_Medium* Environment_Surface::unsafe_arena_release_medium() {
3963  // @@protoc_insertion_point(field_release:netsim.bellhop.protobuf.Environment.Surface.medium)
3964  _has_bits_[0] &= ~0x00000001u;
3965  ::netsim::bellhop::protobuf::Environment_Medium* temp = medium_;
3966  medium_ = nullptr;
3967  return temp;
3968 }
3969 inline ::netsim::bellhop::protobuf::Environment_Medium* Environment_Surface::_internal_mutable_medium() {
3970  _has_bits_[0] |= 0x00000001u;
3971  if (medium_ == nullptr) {
3972  auto* p = CreateMaybeMessage<::netsim::bellhop::protobuf::Environment_Medium>(GetArena());
3973  medium_ = p;
3974  }
3975  return medium_;
3976 }
3977 inline ::netsim::bellhop::protobuf::Environment_Medium* Environment_Surface::mutable_medium() {
3978  // @@protoc_insertion_point(field_mutable:netsim.bellhop.protobuf.Environment.Surface.medium)
3979  return _internal_mutable_medium();
3980 }
3981 inline void Environment_Surface::set_allocated_medium(::netsim::bellhop::protobuf::Environment_Medium* medium) {
3982  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
3983  if (message_arena == nullptr) {
3984  delete medium_;
3985  }
3986  if (medium) {
3987  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
3988  ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(medium);
3989  if (message_arena != submessage_arena) {
3990  medium = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
3991  message_arena, medium, submessage_arena);
3992  }
3993  _has_bits_[0] |= 0x00000001u;
3994  } else {
3995  _has_bits_[0] &= ~0x00000001u;
3996  }
3997  medium_ = medium;
3998  // @@protoc_insertion_point(field_set_allocated:netsim.bellhop.protobuf.Environment.Surface.medium)
3999 }
4000 
4001 // -------------------------------------------------------------------
4002 
4003 // Environment_WaterColumn_SSPSample
4004 
4005 // optional double depth = 1 [(.goby.field) = {
4006 inline bool Environment_WaterColumn_SSPSample::_internal_has_depth() const {
4007  bool value = (_has_bits_[0] & 0x00000001u) != 0;
4008  return value;
4009 }
4010 inline bool Environment_WaterColumn_SSPSample::has_depth() const {
4011  return _internal_has_depth();
4012 }
4013 inline void Environment_WaterColumn_SSPSample::clear_depth() {
4014  depth_ = 0;
4015  _has_bits_[0] &= ~0x00000001u;
4016 }
4017 inline double Environment_WaterColumn_SSPSample::_internal_depth() const {
4018  return depth_;
4019 }
4020 inline double Environment_WaterColumn_SSPSample::depth() const {
4021  // @@protoc_insertion_point(field_get:netsim.bellhop.protobuf.Environment.WaterColumn.SSPSample.depth)
4022  return _internal_depth();
4023 }
4024 inline void Environment_WaterColumn_SSPSample::_internal_set_depth(double value) {
4025  _has_bits_[0] |= 0x00000001u;
4026  depth_ = value;
4027 }
4028 inline void Environment_WaterColumn_SSPSample::set_depth(double value) {
4029  _internal_set_depth(value);
4030  // @@protoc_insertion_point(field_set:netsim.bellhop.protobuf.Environment.WaterColumn.SSPSample.depth)
4031 }
4032 
4033 // optional double cp = 2 [(.goby.field) = {
4034 inline bool Environment_WaterColumn_SSPSample::_internal_has_cp() const {
4035  bool value = (_has_bits_[0] & 0x00000002u) != 0;
4036  return value;
4037 }
4038 inline bool Environment_WaterColumn_SSPSample::has_cp() const {
4039  return _internal_has_cp();
4040 }
4041 inline void Environment_WaterColumn_SSPSample::clear_cp() {
4042  cp_ = 0;
4043  _has_bits_[0] &= ~0x00000002u;
4044 }
4045 inline double Environment_WaterColumn_SSPSample::_internal_cp() const {
4046  return cp_;
4047 }
4048 inline double Environment_WaterColumn_SSPSample::cp() const {
4049  // @@protoc_insertion_point(field_get:netsim.bellhop.protobuf.Environment.WaterColumn.SSPSample.cp)
4050  return _internal_cp();
4051 }
4052 inline void Environment_WaterColumn_SSPSample::_internal_set_cp(double value) {
4053  _has_bits_[0] |= 0x00000002u;
4054  cp_ = value;
4055 }
4056 inline void Environment_WaterColumn_SSPSample::set_cp(double value) {
4057  _internal_set_cp(value);
4058  // @@protoc_insertion_point(field_set:netsim.bellhop.protobuf.Environment.WaterColumn.SSPSample.cp)
4059 }
4060 
4061 // repeated double eof = 3 [(.goby.field) = {
4062 inline int Environment_WaterColumn_SSPSample::_internal_eof_size() const {
4063  return eof_.size();
4064 }
4065 inline int Environment_WaterColumn_SSPSample::eof_size() const {
4066  return _internal_eof_size();
4067 }
4068 inline void Environment_WaterColumn_SSPSample::clear_eof() {
4069  eof_.Clear();
4070 }
4071 inline double Environment_WaterColumn_SSPSample::_internal_eof(int index) const {
4072  return eof_.Get(index);
4073 }
4074 inline double Environment_WaterColumn_SSPSample::eof(int index) const {
4075  // @@protoc_insertion_point(field_get:netsim.bellhop.protobuf.Environment.WaterColumn.SSPSample.eof)
4076  return _internal_eof(index);
4077 }
4078 inline void Environment_WaterColumn_SSPSample::set_eof(int index, double value) {
4079  eof_.Set(index, value);
4080  // @@protoc_insertion_point(field_set:netsim.bellhop.protobuf.Environment.WaterColumn.SSPSample.eof)
4081 }
4082 inline void Environment_WaterColumn_SSPSample::_internal_add_eof(double value) {
4083  eof_.Add(value);
4084 }
4085 inline void Environment_WaterColumn_SSPSample::add_eof(double value) {
4086  _internal_add_eof(value);
4087  // @@protoc_insertion_point(field_add:netsim.bellhop.protobuf.Environment.WaterColumn.SSPSample.eof)
4088 }
4089 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >&
4090 Environment_WaterColumn_SSPSample::_internal_eof() const {
4091  return eof_;
4092 }
4093 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >&
4094 Environment_WaterColumn_SSPSample::eof() const {
4095  // @@protoc_insertion_point(field_list:netsim.bellhop.protobuf.Environment.WaterColumn.SSPSample.eof)
4096  return _internal_eof();
4097 }
4098 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >*
4099 Environment_WaterColumn_SSPSample::_internal_mutable_eof() {
4100  return &eof_;
4101 }
4102 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >*
4103 Environment_WaterColumn_SSPSample::mutable_eof() {
4104  // @@protoc_insertion_point(field_mutable_list:netsim.bellhop.protobuf.Environment.WaterColumn.SSPSample.eof)
4105  return _internal_mutable_eof();
4106 }
4107 
4108 // -------------------------------------------------------------------
4109 
4110 // Environment_WaterColumn
4111 
4112 // optional .netsim.bellhop.protobuf.Environment.WaterColumn.SSPInterpolation interpolation_type = 1 [default = CUBIC_SPLINE, (.goby.field) = {
4113 inline bool Environment_WaterColumn::_internal_has_interpolation_type() const {
4114  bool value = (_has_bits_[0] & 0x00000004u) != 0;
4115  return value;
4116 }
4117 inline bool Environment_WaterColumn::has_interpolation_type() const {
4118  return _internal_has_interpolation_type();
4119 }
4120 inline void Environment_WaterColumn::clear_interpolation_type() {
4121  interpolation_type_ = 1;
4122  _has_bits_[0] &= ~0x00000004u;
4123 }
4124 inline ::netsim::bellhop::protobuf::Environment_WaterColumn_SSPInterpolation Environment_WaterColumn::_internal_interpolation_type() const {
4125  return static_cast< ::netsim::bellhop::protobuf::Environment_WaterColumn_SSPInterpolation >(interpolation_type_);
4126 }
4127 inline ::netsim::bellhop::protobuf::Environment_WaterColumn_SSPInterpolation Environment_WaterColumn::interpolation_type() const {
4128  // @@protoc_insertion_point(field_get:netsim.bellhop.protobuf.Environment.WaterColumn.interpolation_type)
4129  return _internal_interpolation_type();
4130 }
4131 inline void Environment_WaterColumn::_internal_set_interpolation_type(::netsim::bellhop::protobuf::Environment_WaterColumn_SSPInterpolation value) {
4133  _has_bits_[0] |= 0x00000004u;
4134  interpolation_type_ = value;
4135 }
4136 inline void Environment_WaterColumn::set_interpolation_type(::netsim::bellhop::protobuf::Environment_WaterColumn_SSPInterpolation value) {
4137  _internal_set_interpolation_type(value);
4138  // @@protoc_insertion_point(field_set:netsim.bellhop.protobuf.Environment.WaterColumn.interpolation_type)
4139 }
4140 
4141 // repeated double eof_coef = 2 [(.goby.field) = {
4142 inline int Environment_WaterColumn::_internal_eof_coef_size() const {
4143  return eof_coef_.size();
4144 }
4145 inline int Environment_WaterColumn::eof_coef_size() const {
4146  return _internal_eof_coef_size();
4147 }
4148 inline void Environment_WaterColumn::clear_eof_coef() {
4149  eof_coef_.Clear();
4150 }
4151 inline double Environment_WaterColumn::_internal_eof_coef(int index) const {
4152  return eof_coef_.Get(index);
4153 }
4154 inline double Environment_WaterColumn::eof_coef(int index) const {
4155  // @@protoc_insertion_point(field_get:netsim.bellhop.protobuf.Environment.WaterColumn.eof_coef)
4156  return _internal_eof_coef(index);
4157 }
4158 inline void Environment_WaterColumn::set_eof_coef(int index, double value) {
4159  eof_coef_.Set(index, value);
4160  // @@protoc_insertion_point(field_set:netsim.bellhop.protobuf.Environment.WaterColumn.eof_coef)
4161 }
4162 inline void Environment_WaterColumn::_internal_add_eof_coef(double value) {
4163  eof_coef_.Add(value);
4164 }
4165 inline void Environment_WaterColumn::add_eof_coef(double value) {
4166  _internal_add_eof_coef(value);
4167  // @@protoc_insertion_point(field_add:netsim.bellhop.protobuf.Environment.WaterColumn.eof_coef)
4168 }
4169 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >&
4170 Environment_WaterColumn::_internal_eof_coef() const {
4171  return eof_coef_;
4172 }
4173 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >&
4174 Environment_WaterColumn::eof_coef() const {
4175  // @@protoc_insertion_point(field_list:netsim.bellhop.protobuf.Environment.WaterColumn.eof_coef)
4176  return _internal_eof_coef();
4177 }
4178 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >*
4179 Environment_WaterColumn::_internal_mutable_eof_coef() {
4180  return &eof_coef_;
4181 }
4182 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >*
4183 Environment_WaterColumn::mutable_eof_coef() {
4184  // @@protoc_insertion_point(field_mutable_list:netsim.bellhop.protobuf.Environment.WaterColumn.eof_coef)
4185  return _internal_mutable_eof_coef();
4186 }
4187 
4188 // optional bool use_attenuation = 3 [default = true, (.goby.field) = {
4189 inline bool Environment_WaterColumn::_internal_has_use_attenuation() const {
4190  bool value = (_has_bits_[0] & 0x00000008u) != 0;
4191  return value;
4192 }
4193 inline bool Environment_WaterColumn::has_use_attenuation() const {
4194  return _internal_has_use_attenuation();
4195 }
4196 inline void Environment_WaterColumn::clear_use_attenuation() {
4197  use_attenuation_ = true;
4198  _has_bits_[0] &= ~0x00000008u;
4199 }
4200 inline bool Environment_WaterColumn::_internal_use_attenuation() const {
4201  return use_attenuation_;
4202 }
4203 inline bool Environment_WaterColumn::use_attenuation() const {
4204  // @@protoc_insertion_point(field_get:netsim.bellhop.protobuf.Environment.WaterColumn.use_attenuation)
4205  return _internal_use_attenuation();
4206 }
4207 inline void Environment_WaterColumn::_internal_set_use_attenuation(bool value) {
4208  _has_bits_[0] |= 0x00000008u;
4209  use_attenuation_ = value;
4210 }
4211 inline void Environment_WaterColumn::set_use_attenuation(bool value) {
4212  _internal_set_use_attenuation(value);
4213  // @@protoc_insertion_point(field_set:netsim.bellhop.protobuf.Environment.WaterColumn.use_attenuation)
4214 }
4215 
4216 // repeated .netsim.bellhop.protobuf.Environment.WaterColumn.SSPSample sample = 4;
4217 inline int Environment_WaterColumn::_internal_sample_size() const {
4218  return sample_.size();
4219 }
4220 inline int Environment_WaterColumn::sample_size() const {
4221  return _internal_sample_size();
4222 }
4223 inline void Environment_WaterColumn::clear_sample() {
4224  sample_.Clear();
4225 }
4226 inline ::netsim::bellhop::protobuf::Environment_WaterColumn_SSPSample* Environment_WaterColumn::mutable_sample(int index) {
4227  // @@protoc_insertion_point(field_mutable:netsim.bellhop.protobuf.Environment.WaterColumn.sample)
4228  return sample_.Mutable(index);
4229 }
4230 inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::netsim::bellhop::protobuf::Environment_WaterColumn_SSPSample >*
4231 Environment_WaterColumn::mutable_sample() {
4232  // @@protoc_insertion_point(field_mutable_list:netsim.bellhop.protobuf.Environment.WaterColumn.sample)
4233  return &sample_;
4234 }
4235 inline const ::netsim::bellhop::protobuf::Environment_WaterColumn_SSPSample& Environment_WaterColumn::_internal_sample(int index) const {
4236  return sample_.Get(index);
4237 }
4238 inline const ::netsim::bellhop::protobuf::Environment_WaterColumn_SSPSample& Environment_WaterColumn::sample(int index) const {
4239  // @@protoc_insertion_point(field_get:netsim.bellhop.protobuf.Environment.WaterColumn.sample)
4240  return _internal_sample(index);
4241 }
4242 inline ::netsim::bellhop::protobuf::Environment_WaterColumn_SSPSample* Environment_WaterColumn::_internal_add_sample() {
4243  return sample_.Add();
4244 }
4245 inline ::netsim::bellhop::protobuf::Environment_WaterColumn_SSPSample* Environment_WaterColumn::add_sample() {
4246  // @@protoc_insertion_point(field_add:netsim.bellhop.protobuf.Environment.WaterColumn.sample)
4247  return _internal_add_sample();
4248 }
4249 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::netsim::bellhop::protobuf::Environment_WaterColumn_SSPSample >&
4250 Environment_WaterColumn::sample() const {
4251  // @@protoc_insertion_point(field_list:netsim.bellhop.protobuf.Environment.WaterColumn.sample)
4252  return sample_;
4253 }
4254 
4255 // optional double range = 5 [default = 0, (.goby.field) = {
4256 inline bool Environment_WaterColumn::_internal_has_range() const {
4257  bool value = (_has_bits_[0] & 0x00000001u) != 0;
4258  return value;
4259 }
4260 inline bool Environment_WaterColumn::has_range() const {
4261  return _internal_has_range();
4262 }
4263 inline void Environment_WaterColumn::clear_range() {
4264  range_ = 0;
4265  _has_bits_[0] &= ~0x00000001u;
4266 }
4267 inline double Environment_WaterColumn::_internal_range() const {
4268  return range_;
4269 }
4270 inline double Environment_WaterColumn::range() const {
4271  // @@protoc_insertion_point(field_get:netsim.bellhop.protobuf.Environment.WaterColumn.range)
4272  return _internal_range();
4273 }
4274 inline void Environment_WaterColumn::_internal_set_range(double value) {
4275  _has_bits_[0] |= 0x00000001u;
4276  range_ = value;
4277 }
4278 inline void Environment_WaterColumn::set_range(double value) {
4279  _internal_set_range(value);
4280  // @@protoc_insertion_point(field_set:netsim.bellhop.protobuf.Environment.WaterColumn.range)
4281 }
4282 
4283 // optional double bathymetry = 6 [default = 0, (.goby.field) = {
4284 inline bool Environment_WaterColumn::_internal_has_bathymetry() const {
4285  bool value = (_has_bits_[0] & 0x00000002u) != 0;
4286  return value;
4287 }
4288 inline bool Environment_WaterColumn::has_bathymetry() const {
4289  return _internal_has_bathymetry();
4290 }
4291 inline void Environment_WaterColumn::clear_bathymetry() {
4292  bathymetry_ = 0;
4293  _has_bits_[0] &= ~0x00000002u;
4294 }
4295 inline double Environment_WaterColumn::_internal_bathymetry() const {
4296  return bathymetry_;
4297 }
4298 inline double Environment_WaterColumn::bathymetry() const {
4299  // @@protoc_insertion_point(field_get:netsim.bellhop.protobuf.Environment.WaterColumn.bathymetry)
4300  return _internal_bathymetry();
4301 }
4302 inline void Environment_WaterColumn::_internal_set_bathymetry(double value) {
4303  _has_bits_[0] |= 0x00000002u;
4304  bathymetry_ = value;
4305 }
4306 inline void Environment_WaterColumn::set_bathymetry(double value) {
4307  _internal_set_bathymetry(value);
4308  // @@protoc_insertion_point(field_set:netsim.bellhop.protobuf.Environment.WaterColumn.bathymetry)
4309 }
4310 
4311 // -------------------------------------------------------------------
4312 
4313 // Environment_Bottom
4314 
4315 // optional .netsim.bellhop.protobuf.Environment.Medium medium = 1;
4316 inline bool Environment_Bottom::_internal_has_medium() const {
4317  bool value = (_has_bits_[0] & 0x00000001u) != 0;
4318  PROTOBUF_ASSUME(!value || medium_ != nullptr);
4319  return value;
4320 }
4321 inline bool Environment_Bottom::has_medium() const {
4322  return _internal_has_medium();
4323 }
4324 inline void Environment_Bottom::clear_medium() {
4325  if (medium_ != nullptr) medium_->Clear();
4326  _has_bits_[0] &= ~0x00000001u;
4327 }
4328 inline const ::netsim::bellhop::protobuf::Environment_Medium& Environment_Bottom::_internal_medium() const {
4329  const ::netsim::bellhop::protobuf::Environment_Medium* p = medium_;
4330  return p != nullptr ? *p : *reinterpret_cast<const ::netsim::bellhop::protobuf::Environment_Medium*>(
4332 }
4333 inline const ::netsim::bellhop::protobuf::Environment_Medium& Environment_Bottom::medium() const {
4334  // @@protoc_insertion_point(field_get:netsim.bellhop.protobuf.Environment.Bottom.medium)
4335  return _internal_medium();
4336 }
4337 inline void Environment_Bottom::unsafe_arena_set_allocated_medium(
4338  ::netsim::bellhop::protobuf::Environment_Medium* medium) {
4339  if (GetArena() == nullptr) {
4340  delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(medium_);
4341  }
4342  medium_ = medium;
4343  if (medium) {
4344  _has_bits_[0] |= 0x00000001u;
4345  } else {
4346  _has_bits_[0] &= ~0x00000001u;
4347  }
4348  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:netsim.bellhop.protobuf.Environment.Bottom.medium)
4349 }
4350 inline ::netsim::bellhop::protobuf::Environment_Medium* Environment_Bottom::release_medium() {
4351  auto temp = unsafe_arena_release_medium();
4352  if (GetArena() != nullptr) {
4353  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
4354  }
4355  return temp;
4356 }
4357 inline ::netsim::bellhop::protobuf::Environment_Medium* Environment_Bottom::unsafe_arena_release_medium() {
4358  // @@protoc_insertion_point(field_release:netsim.bellhop.protobuf.Environment.Bottom.medium)
4359  _has_bits_[0] &= ~0x00000001u;
4360  ::netsim::bellhop::protobuf::Environment_Medium* temp = medium_;
4361  medium_ = nullptr;
4362  return temp;
4363 }
4364 inline ::netsim::bellhop::protobuf::Environment_Medium* Environment_Bottom::_internal_mutable_medium() {
4365  _has_bits_[0] |= 0x00000001u;
4366  if (medium_ == nullptr) {
4367  auto* p = CreateMaybeMessage<::netsim::bellhop::protobuf::Environment_Medium>(GetArena());
4368  medium_ = p;
4369  }
4370  return medium_;
4371 }
4372 inline ::netsim::bellhop::protobuf::Environment_Medium* Environment_Bottom::mutable_medium() {
4373  // @@protoc_insertion_point(field_mutable:netsim.bellhop.protobuf.Environment.Bottom.medium)
4374  return _internal_mutable_medium();
4375 }
4376 inline void Environment_Bottom::set_allocated_medium(::netsim::bellhop::protobuf::Environment_Medium* medium) {
4377  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
4378  if (message_arena == nullptr) {
4379  delete medium_;
4380  }
4381  if (medium) {
4382  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
4383  ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(medium);
4384  if (message_arena != submessage_arena) {
4385  medium = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
4386  message_arena, medium, submessage_arena);
4387  }
4388  _has_bits_[0] |= 0x00000001u;
4389  } else {
4390  _has_bits_[0] &= ~0x00000001u;
4391  }
4392  medium_ = medium;
4393  // @@protoc_insertion_point(field_set_allocated:netsim.bellhop.protobuf.Environment.Bottom.medium)
4394 }
4395 
4396 // -------------------------------------------------------------------
4397 
4398 // Environment_Sources_SourcePosition
4399 
4400 // optional double depth = 1;
4401 inline bool Environment_Sources_SourcePosition::_internal_has_depth() const {
4402  bool value = (_has_bits_[0] & 0x00000001u) != 0;
4403  return value;
4404 }
4405 inline bool Environment_Sources_SourcePosition::has_depth() const {
4406  return _internal_has_depth();
4407 }
4408 inline void Environment_Sources_SourcePosition::clear_depth() {
4409  depth_ = 0;
4410  _has_bits_[0] &= ~0x00000001u;
4411 }
4412 inline double Environment_Sources_SourcePosition::_internal_depth() const {
4413  return depth_;
4414 }
4415 inline double Environment_Sources_SourcePosition::depth() const {
4416  // @@protoc_insertion_point(field_get:netsim.bellhop.protobuf.Environment.Sources.SourcePosition.depth)
4417  return _internal_depth();
4418 }
4419 inline void Environment_Sources_SourcePosition::_internal_set_depth(double value) {
4420  _has_bits_[0] |= 0x00000001u;
4421  depth_ = value;
4422 }
4423 inline void Environment_Sources_SourcePosition::set_depth(double value) {
4424  _internal_set_depth(value);
4425  // @@protoc_insertion_point(field_set:netsim.bellhop.protobuf.Environment.Sources.SourcePosition.depth)
4426 }
4427 
4428 // -------------------------------------------------------------------
4429 
4430 // Environment_Sources
4431 
4432 // optional uint32 number_in_depth = 1 [(.goby.field) = {
4433 inline bool Environment_Sources::_internal_has_number_in_depth() const {
4434  bool value = (_has_bits_[0] & 0x00000004u) != 0;
4435  return value;
4436 }
4437 inline bool Environment_Sources::has_number_in_depth() const {
4438  return _internal_has_number_in_depth();
4439 }
4440 inline void Environment_Sources::clear_number_in_depth() {
4441  number_in_depth_ = 0u;
4442  _has_bits_[0] &= ~0x00000004u;
4443 }
4444 inline ::PROTOBUF_NAMESPACE_ID::uint32 Environment_Sources::_internal_number_in_depth() const {
4445  return number_in_depth_;
4446 }
4447 inline ::PROTOBUF_NAMESPACE_ID::uint32 Environment_Sources::number_in_depth() const {
4448  // @@protoc_insertion_point(field_get:netsim.bellhop.protobuf.Environment.Sources.number_in_depth)
4449  return _internal_number_in_depth();
4450 }
4451 inline void Environment_Sources::_internal_set_number_in_depth(::PROTOBUF_NAMESPACE_ID::uint32 value) {
4452  _has_bits_[0] |= 0x00000004u;
4453  number_in_depth_ = value;
4454 }
4455 inline void Environment_Sources::set_number_in_depth(::PROTOBUF_NAMESPACE_ID::uint32 value) {
4456  _internal_set_number_in_depth(value);
4457  // @@protoc_insertion_point(field_set:netsim.bellhop.protobuf.Environment.Sources.number_in_depth)
4458 }
4459 
4460 // optional .netsim.bellhop.protobuf.Environment.Sources.SourcePosition first = 2 [(.goby.field) = {
4461 inline bool Environment_Sources::_internal_has_first() const {
4462  bool value = (_has_bits_[0] & 0x00000001u) != 0;
4463  PROTOBUF_ASSUME(!value || first_ != nullptr);
4464  return value;
4465 }
4466 inline bool Environment_Sources::has_first() const {
4467  return _internal_has_first();
4468 }
4469 inline void Environment_Sources::clear_first() {
4470  if (first_ != nullptr) first_->Clear();
4471  _has_bits_[0] &= ~0x00000001u;
4472 }
4473 inline const ::netsim::bellhop::protobuf::Environment_Sources_SourcePosition& Environment_Sources::_internal_first() const {
4474  const ::netsim::bellhop::protobuf::Environment_Sources_SourcePosition* p = first_;
4475  return p != nullptr ? *p : *reinterpret_cast<const ::netsim::bellhop::protobuf::Environment_Sources_SourcePosition*>(
4477 }
4478 inline const ::netsim::bellhop::protobuf::Environment_Sources_SourcePosition& Environment_Sources::first() const {
4479  // @@protoc_insertion_point(field_get:netsim.bellhop.protobuf.Environment.Sources.first)
4480  return _internal_first();
4481 }
4482 inline void Environment_Sources::unsafe_arena_set_allocated_first(
4483  ::netsim::bellhop::protobuf::Environment_Sources_SourcePosition* first) {
4484  if (GetArena() == nullptr) {
4485  delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(first_);
4486  }
4487  first_ = first;
4488  if (first) {
4489  _has_bits_[0] |= 0x00000001u;
4490  } else {
4491  _has_bits_[0] &= ~0x00000001u;
4492  }
4493  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:netsim.bellhop.protobuf.Environment.Sources.first)
4494 }
4495 inline ::netsim::bellhop::protobuf::Environment_Sources_SourcePosition* Environment_Sources::release_first() {
4496  auto temp = unsafe_arena_release_first();
4497  if (GetArena() != nullptr) {
4498  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
4499  }
4500  return temp;
4501 }
4502 inline ::netsim::bellhop::protobuf::Environment_Sources_SourcePosition* Environment_Sources::unsafe_arena_release_first() {
4503  // @@protoc_insertion_point(field_release:netsim.bellhop.protobuf.Environment.Sources.first)
4504  _has_bits_[0] &= ~0x00000001u;
4505  ::netsim::bellhop::protobuf::Environment_Sources_SourcePosition* temp = first_;
4506  first_ = nullptr;
4507  return temp;
4508 }
4509 inline ::netsim::bellhop::protobuf::Environment_Sources_SourcePosition* Environment_Sources::_internal_mutable_first() {
4510  _has_bits_[0] |= 0x00000001u;
4511  if (first_ == nullptr) {
4512  auto* p = CreateMaybeMessage<::netsim::bellhop::protobuf::Environment_Sources_SourcePosition>(GetArena());
4513  first_ = p;
4514  }
4515  return first_;
4516 }
4517 inline ::netsim::bellhop::protobuf::Environment_Sources_SourcePosition* Environment_Sources::mutable_first() {
4518  // @@protoc_insertion_point(field_mutable:netsim.bellhop.protobuf.Environment.Sources.first)
4519  return _internal_mutable_first();
4520 }
4521 inline void Environment_Sources::set_allocated_first(::netsim::bellhop::protobuf::Environment_Sources_SourcePosition* first) {
4522  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
4523  if (message_arena == nullptr) {
4524  delete first_;
4525  }
4526  if (first) {
4527  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
4528  ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(first);
4529  if (message_arena != submessage_arena) {
4530  first = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
4531  message_arena, first, submessage_arena);
4532  }
4533  _has_bits_[0] |= 0x00000001u;
4534  } else {
4535  _has_bits_[0] &= ~0x00000001u;
4536  }
4537  first_ = first;
4538  // @@protoc_insertion_point(field_set_allocated:netsim.bellhop.protobuf.Environment.Sources.first)
4539 }
4540 
4541 // optional .netsim.bellhop.protobuf.Environment.Sources.SourcePosition last = 3 [(.goby.field) = {
4542 inline bool Environment_Sources::_internal_has_last() const {
4543  bool value = (_has_bits_[0] & 0x00000002u) != 0;
4544  PROTOBUF_ASSUME(!value || last_ != nullptr);
4545  return value;
4546 }
4547 inline bool Environment_Sources::has_last() const {
4548  return _internal_has_last();
4549 }
4550 inline void Environment_Sources::clear_last() {
4551  if (last_ != nullptr) last_->Clear();
4552  _has_bits_[0] &= ~0x00000002u;
4553 }
4554 inline const ::netsim::bellhop::protobuf::Environment_Sources_SourcePosition& Environment_Sources::_internal_last() const {
4555  const ::netsim::bellhop::protobuf::Environment_Sources_SourcePosition* p = last_;
4556  return p != nullptr ? *p : *reinterpret_cast<const ::netsim::bellhop::protobuf::Environment_Sources_SourcePosition*>(
4558 }
4559 inline const ::netsim::bellhop::protobuf::Environment_Sources_SourcePosition& Environment_Sources::last() const {
4560  // @@protoc_insertion_point(field_get:netsim.bellhop.protobuf.Environment.Sources.last)
4561  return _internal_last();
4562 }
4563 inline void Environment_Sources::unsafe_arena_set_allocated_last(
4564  ::netsim::bellhop::protobuf::Environment_Sources_SourcePosition* last) {
4565  if (GetArena() == nullptr) {
4566  delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(last_);
4567  }
4568  last_ = last;
4569  if (last) {
4570  _has_bits_[0] |= 0x00000002u;
4571  } else {
4572  _has_bits_[0] &= ~0x00000002u;
4573  }
4574  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:netsim.bellhop.protobuf.Environment.Sources.last)
4575 }
4576 inline ::netsim::bellhop::protobuf::Environment_Sources_SourcePosition* Environment_Sources::release_last() {
4577  auto temp = unsafe_arena_release_last();
4578  if (GetArena() != nullptr) {
4579  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
4580  }
4581  return temp;
4582 }
4583 inline ::netsim::bellhop::protobuf::Environment_Sources_SourcePosition* Environment_Sources::unsafe_arena_release_last() {
4584  // @@protoc_insertion_point(field_release:netsim.bellhop.protobuf.Environment.Sources.last)
4585  _has_bits_[0] &= ~0x00000002u;
4586  ::netsim::bellhop::protobuf::Environment_Sources_SourcePosition* temp = last_;
4587  last_ = nullptr;
4588  return temp;
4589 }
4590 inline ::netsim::bellhop::protobuf::Environment_Sources_SourcePosition* Environment_Sources::_internal_mutable_last() {
4591  _has_bits_[0] |= 0x00000002u;
4592  if (last_ == nullptr) {
4593  auto* p = CreateMaybeMessage<::netsim::bellhop::protobuf::Environment_Sources_SourcePosition>(GetArena());
4594  last_ = p;
4595  }
4596  return last_;
4597 }
4598 inline ::netsim::bellhop::protobuf::Environment_Sources_SourcePosition* Environment_Sources::mutable_last() {
4599  // @@protoc_insertion_point(field_mutable:netsim.bellhop.protobuf.Environment.Sources.last)
4600  return _internal_mutable_last();
4601 }
4602 inline void Environment_Sources::set_allocated_last(::netsim::bellhop::protobuf::Environment_Sources_SourcePosition* last) {
4603  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
4604  if (message_arena == nullptr) {
4605  delete last_;
4606  }
4607  if (last) {
4608  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
4609  ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(last);
4610  if (message_arena != submessage_arena) {
4611  last = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
4612  message_arena, last, submessage_arena);
4613  }
4614  _has_bits_[0] |= 0x00000002u;
4615  } else {
4616  _has_bits_[0] &= ~0x00000002u;
4617  }
4618  last_ = last;
4619  // @@protoc_insertion_point(field_set_allocated:netsim.bellhop.protobuf.Environment.Sources.last)
4620 }
4621 
4622 // -------------------------------------------------------------------
4623 
4624 // Environment_Receivers_ReceiverPosition
4625 
4626 // optional double depth = 1;
4627 inline bool Environment_Receivers_ReceiverPosition::_internal_has_depth() const {
4628  bool value = (_has_bits_[0] & 0x00000001u) != 0;
4629  return value;
4630 }
4631 inline bool Environment_Receivers_ReceiverPosition::has_depth() const {
4632  return _internal_has_depth();
4633 }
4634 inline void Environment_Receivers_ReceiverPosition::clear_depth() {
4635  depth_ = 0;
4636  _has_bits_[0] &= ~0x00000001u;
4637 }
4638 inline double Environment_Receivers_ReceiverPosition::_internal_depth() const {
4639  return depth_;
4640 }
4641 inline double Environment_Receivers_ReceiverPosition::depth() const {
4642  // @@protoc_insertion_point(field_get:netsim.bellhop.protobuf.Environment.Receivers.ReceiverPosition.depth)
4643  return _internal_depth();
4644 }
4645 inline void Environment_Receivers_ReceiverPosition::_internal_set_depth(double value) {
4646  _has_bits_[0] |= 0x00000001u;
4647  depth_ = value;
4648 }
4649 inline void Environment_Receivers_ReceiverPosition::set_depth(double value) {
4650  _internal_set_depth(value);
4651  // @@protoc_insertion_point(field_set:netsim.bellhop.protobuf.Environment.Receivers.ReceiverPosition.depth)
4652 }
4653 
4654 // optional double range = 2;
4655 inline bool Environment_Receivers_ReceiverPosition::_internal_has_range() const {
4656  bool value = (_has_bits_[0] & 0x00000002u) != 0;
4657  return value;
4658 }
4659 inline bool Environment_Receivers_ReceiverPosition::has_range() const {
4660  return _internal_has_range();
4661 }
4662 inline void Environment_Receivers_ReceiverPosition::clear_range() {
4663  range_ = 0;
4664  _has_bits_[0] &= ~0x00000002u;
4665 }
4666 inline double Environment_Receivers_ReceiverPosition::_internal_range() const {
4667  return range_;
4668 }
4669 inline double Environment_Receivers_ReceiverPosition::range() const {
4670  // @@protoc_insertion_point(field_get:netsim.bellhop.protobuf.Environment.Receivers.ReceiverPosition.range)
4671  return _internal_range();
4672 }
4673 inline void Environment_Receivers_ReceiverPosition::_internal_set_range(double value) {
4674  _has_bits_[0] |= 0x00000002u;
4675  range_ = value;
4676 }
4677 inline void Environment_Receivers_ReceiverPosition::set_range(double value) {
4678  _internal_set_range(value);
4679  // @@protoc_insertion_point(field_set:netsim.bellhop.protobuf.Environment.Receivers.ReceiverPosition.range)
4680 }
4681 
4682 // -------------------------------------------------------------------
4683 
4684 // Environment_Receivers
4685 
4686 // optional uint32 number_in_depth = 1 [(.goby.field) = {
4687 inline bool Environment_Receivers::_internal_has_number_in_depth() const {
4688  bool value = (_has_bits_[0] & 0x00000004u) != 0;
4689  return value;
4690 }
4691 inline bool Environment_Receivers::has_number_in_depth() const {
4692  return _internal_has_number_in_depth();
4693 }
4694 inline void Environment_Receivers::clear_number_in_depth() {
4695  number_in_depth_ = 0u;
4696  _has_bits_[0] &= ~0x00000004u;
4697 }
4698 inline ::PROTOBUF_NAMESPACE_ID::uint32 Environment_Receivers::_internal_number_in_depth() const {
4699  return number_in_depth_;
4700 }
4701 inline ::PROTOBUF_NAMESPACE_ID::uint32 Environment_Receivers::number_in_depth() const {
4702  // @@protoc_insertion_point(field_get:netsim.bellhop.protobuf.Environment.Receivers.number_in_depth)
4703  return _internal_number_in_depth();
4704 }
4705 inline void Environment_Receivers::_internal_set_number_in_depth(::PROTOBUF_NAMESPACE_ID::uint32 value) {
4706  _has_bits_[0] |= 0x00000004u;
4707  number_in_depth_ = value;
4708 }
4709 inline void Environment_Receivers::set_number_in_depth(::PROTOBUF_NAMESPACE_ID::uint32 value) {
4710  _internal_set_number_in_depth(value);
4711  // @@protoc_insertion_point(field_set:netsim.bellhop.protobuf.Environment.Receivers.number_in_depth)
4712 }
4713 
4714 // optional uint32 number_in_range = 2 [(.goby.field) = {
4715 inline bool Environment_Receivers::_internal_has_number_in_range() const {
4716  bool value = (_has_bits_[0] & 0x00000008u) != 0;
4717  return value;
4718 }
4719 inline bool Environment_Receivers::has_number_in_range() const {
4720  return _internal_has_number_in_range();
4721 }
4722 inline void Environment_Receivers::clear_number_in_range() {
4723  number_in_range_ = 0u;
4724  _has_bits_[0] &= ~0x00000008u;
4725 }
4726 inline ::PROTOBUF_NAMESPACE_ID::uint32 Environment_Receivers::_internal_number_in_range() const {
4727  return number_in_range_;
4728 }
4729 inline ::PROTOBUF_NAMESPACE_ID::uint32 Environment_Receivers::number_in_range() const {
4730  // @@protoc_insertion_point(field_get:netsim.bellhop.protobuf.Environment.Receivers.number_in_range)
4731  return _internal_number_in_range();
4732 }
4733 inline void Environment_Receivers::_internal_set_number_in_range(::PROTOBUF_NAMESPACE_ID::uint32 value) {
4734  _has_bits_[0] |= 0x00000008u;
4735  number_in_range_ = value;
4736 }
4737 inline void Environment_Receivers::set_number_in_range(::PROTOBUF_NAMESPACE_ID::uint32 value) {
4738  _internal_set_number_in_range(value);
4739  // @@protoc_insertion_point(field_set:netsim.bellhop.protobuf.Environment.Receivers.number_in_range)
4740 }
4741 
4742 // optional .netsim.bellhop.protobuf.Environment.Receivers.ReceiverPosition first = 3 [(.goby.field) = {
4743 inline bool Environment_Receivers::_internal_has_first() const {
4744  bool value = (_has_bits_[0] & 0x00000001u) != 0;
4745  PROTOBUF_ASSUME(!value || first_ != nullptr);
4746  return value;
4747 }
4748 inline bool Environment_Receivers::has_first() const {
4749  return _internal_has_first();
4750 }
4751 inline void Environment_Receivers::clear_first() {
4752  if (first_ != nullptr) first_->Clear();
4753  _has_bits_[0] &= ~0x00000001u;
4754 }
4755 inline const ::netsim::bellhop::protobuf::Environment_Receivers_ReceiverPosition& Environment_Receivers::_internal_first() const {
4756  const ::netsim::bellhop::protobuf::Environment_Receivers_ReceiverPosition* p = first_;
4757  return p != nullptr ? *p : *reinterpret_cast<const ::netsim::bellhop::protobuf::Environment_Receivers_ReceiverPosition*>(
4759 }
4760 inline const ::netsim::bellhop::protobuf::Environment_Receivers_ReceiverPosition& Environment_Receivers::first() const {
4761  // @@protoc_insertion_point(field_get:netsim.bellhop.protobuf.Environment.Receivers.first)
4762  return _internal_first();
4763 }
4764 inline void Environment_Receivers::unsafe_arena_set_allocated_first(
4765  ::netsim::bellhop::protobuf::Environment_Receivers_ReceiverPosition* first) {
4766  if (GetArena() == nullptr) {
4767  delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(first_);
4768  }
4769  first_ = first;
4770  if (first) {
4771  _has_bits_[0] |= 0x00000001u;
4772  } else {
4773  _has_bits_[0] &= ~0x00000001u;
4774  }
4775  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:netsim.bellhop.protobuf.Environment.Receivers.first)
4776 }
4777 inline ::netsim::bellhop::protobuf::Environment_Receivers_ReceiverPosition* Environment_Receivers::release_first() {
4778  auto temp = unsafe_arena_release_first();
4779  if (GetArena() != nullptr) {
4780  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
4781  }
4782  return temp;
4783 }
4784 inline ::netsim::bellhop::protobuf::Environment_Receivers_ReceiverPosition* Environment_Receivers::unsafe_arena_release_first() {
4785  // @@protoc_insertion_point(field_release:netsim.bellhop.protobuf.Environment.Receivers.first)
4786  _has_bits_[0] &= ~0x00000001u;
4787  ::netsim::bellhop::protobuf::Environment_Receivers_ReceiverPosition* temp = first_;
4788  first_ = nullptr;
4789  return temp;
4790 }
4791 inline ::netsim::bellhop::protobuf::Environment_Receivers_ReceiverPosition* Environment_Receivers::_internal_mutable_first() {
4792  _has_bits_[0] |= 0x00000001u;
4793  if (first_ == nullptr) {
4794  auto* p = CreateMaybeMessage<::netsim::bellhop::protobuf::Environment_Receivers_ReceiverPosition>(GetArena());
4795  first_ = p;
4796  }
4797  return first_;
4798 }
4799 inline ::netsim::bellhop::protobuf::Environment_Receivers_ReceiverPosition* Environment_Receivers::mutable_first() {
4800  // @@protoc_insertion_point(field_mutable:netsim.bellhop.protobuf.Environment.Receivers.first)
4801  return _internal_mutable_first();
4802 }
4803 inline void Environment_Receivers::set_allocated_first(::netsim::bellhop::protobuf::Environment_Receivers_ReceiverPosition* first) {
4804  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
4805  if (message_arena == nullptr) {
4806  delete first_;
4807  }
4808  if (first) {
4809  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
4810  ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(first);
4811  if (message_arena != submessage_arena) {
4812  first = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
4813  message_arena, first, submessage_arena);
4814  }
4815  _has_bits_[0] |= 0x00000001u;
4816  } else {
4817  _has_bits_[0] &= ~0x00000001u;
4818  }
4819  first_ = first;
4820  // @@protoc_insertion_point(field_set_allocated:netsim.bellhop.protobuf.Environment.Receivers.first)
4821 }
4822 
4823 // optional .netsim.bellhop.protobuf.Environment.Receivers.ReceiverPosition last = 4 [(.goby.field) = {
4824 inline bool Environment_Receivers::_internal_has_last() const {
4825  bool value = (_has_bits_[0] & 0x00000002u) != 0;
4826  PROTOBUF_ASSUME(!value || last_ != nullptr);
4827  return value;
4828 }
4829 inline bool Environment_Receivers::has_last() const {
4830  return _internal_has_last();
4831 }
4832 inline void Environment_Receivers::clear_last() {
4833  if (last_ != nullptr) last_->Clear();
4834  _has_bits_[0] &= ~0x00000002u;
4835 }
4836 inline const ::netsim::bellhop::protobuf::Environment_Receivers_ReceiverPosition& Environment_Receivers::_internal_last() const {
4837  const ::netsim::bellhop::protobuf::Environment_Receivers_ReceiverPosition* p = last_;
4838  return p != nullptr ? *p : *reinterpret_cast<const ::netsim::bellhop::protobuf::Environment_Receivers_ReceiverPosition*>(
4840 }
4841 inline const ::netsim::bellhop::protobuf::Environment_Receivers_ReceiverPosition& Environment_Receivers::last() const {
4842  // @@protoc_insertion_point(field_get:netsim.bellhop.protobuf.Environment.Receivers.last)
4843  return _internal_last();
4844 }
4845 inline void Environment_Receivers::unsafe_arena_set_allocated_last(
4846  ::netsim::bellhop::protobuf::Environment_Receivers_ReceiverPosition* last) {
4847  if (GetArena() == nullptr) {
4848  delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(last_);
4849  }
4850  last_ = last;
4851  if (last) {
4852  _has_bits_[0] |= 0x00000002u;
4853  } else {
4854  _has_bits_[0] &= ~0x00000002u;
4855  }
4856  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:netsim.bellhop.protobuf.Environment.Receivers.last)
4857 }
4858 inline ::netsim::bellhop::protobuf::Environment_Receivers_ReceiverPosition* Environment_Receivers::release_last() {
4859  auto temp = unsafe_arena_release_last();
4860  if (GetArena() != nullptr) {
4861  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
4862  }
4863  return temp;
4864 }
4865 inline ::netsim::bellhop::protobuf::Environment_Receivers_ReceiverPosition* Environment_Receivers::unsafe_arena_release_last() {
4866  // @@protoc_insertion_point(field_release:netsim.bellhop.protobuf.Environment.Receivers.last)
4867  _has_bits_[0] &= ~0x00000002u;
4868  ::netsim::bellhop::protobuf::Environment_Receivers_ReceiverPosition* temp = last_;
4869  last_ = nullptr;
4870  return temp;
4871 }
4872 inline ::netsim::bellhop::protobuf::Environment_Receivers_ReceiverPosition* Environment_Receivers::_internal_mutable_last() {
4873  _has_bits_[0] |= 0x00000002u;
4874  if (last_ == nullptr) {
4875  auto* p = CreateMaybeMessage<::netsim::bellhop::protobuf::Environment_Receivers_ReceiverPosition>(GetArena());
4876  last_ = p;
4877  }
4878  return last_;
4879 }
4880 inline ::netsim::bellhop::protobuf::Environment_Receivers_ReceiverPosition* Environment_Receivers::mutable_last() {
4881  // @@protoc_insertion_point(field_mutable:netsim.bellhop.protobuf.Environment.Receivers.last)
4882  return _internal_mutable_last();
4883 }
4884 inline void Environment_Receivers::set_allocated_last(::netsim::bellhop::protobuf::Environment_Receivers_ReceiverPosition* last) {
4885  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
4886  if (message_arena == nullptr) {
4887  delete last_;
4888  }
4889  if (last) {
4890  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
4891  ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(last);
4892  if (message_arena != submessage_arena) {
4893  last = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
4894  message_arena, last, submessage_arena);
4895  }
4896  _has_bits_[0] |= 0x00000002u;
4897  } else {
4898  _has_bits_[0] &= ~0x00000002u;
4899  }
4900  last_ = last;
4901  // @@protoc_insertion_point(field_set_allocated:netsim.bellhop.protobuf.Environment.Receivers.last)
4902 }
4903 
4904 // -------------------------------------------------------------------
4905 
4906 // Environment_Beams
4907 
4908 // optional .netsim.bellhop.protobuf.Environment.Beams.ApproximationType approximation_type = 1 [(.goby.field) = {
4909 inline bool Environment_Beams::_internal_has_approximation_type() const {
4910  bool value = (_has_bits_[0] & 0x00000004u) != 0;
4911  return value;
4912 }
4913 inline bool Environment_Beams::has_approximation_type() const {
4914  return _internal_has_approximation_type();
4915 }
4916 inline void Environment_Beams::clear_approximation_type() {
4917  approximation_type_ = 1;
4918  _has_bits_[0] &= ~0x00000004u;
4919 }
4920 inline ::netsim::bellhop::protobuf::Environment_Beams_ApproximationType Environment_Beams::_internal_approximation_type() const {
4921  return static_cast< ::netsim::bellhop::protobuf::Environment_Beams_ApproximationType >(approximation_type_);
4922 }
4923 inline ::netsim::bellhop::protobuf::Environment_Beams_ApproximationType Environment_Beams::approximation_type() const {
4924  // @@protoc_insertion_point(field_get:netsim.bellhop.protobuf.Environment.Beams.approximation_type)
4925  return _internal_approximation_type();
4926 }
4927 inline void Environment_Beams::_internal_set_approximation_type(::netsim::bellhop::protobuf::Environment_Beams_ApproximationType value) {
4929  _has_bits_[0] |= 0x00000004u;
4930  approximation_type_ = value;
4931 }
4932 inline void Environment_Beams::set_approximation_type(::netsim::bellhop::protobuf::Environment_Beams_ApproximationType value) {
4933  _internal_set_approximation_type(value);
4934  // @@protoc_insertion_point(field_set:netsim.bellhop.protobuf.Environment.Beams.approximation_type)
4935 }
4936 
4937 // optional int32 theta_min = 2 [default = -90, (.goby.field) = {
4938 inline bool Environment_Beams::_internal_has_theta_min() const {
4939  bool value = (_has_bits_[0] & 0x00000008u) != 0;
4940  return value;
4941 }
4942 inline bool Environment_Beams::has_theta_min() const {
4943  return _internal_has_theta_min();
4944 }
4945 inline void Environment_Beams::clear_theta_min() {
4946  theta_min_ = -90;
4947  _has_bits_[0] &= ~0x00000008u;
4948 }
4949 inline ::PROTOBUF_NAMESPACE_ID::int32 Environment_Beams::_internal_theta_min() const {
4950  return theta_min_;
4951 }
4952 inline ::PROTOBUF_NAMESPACE_ID::int32 Environment_Beams::theta_min() const {
4953  // @@protoc_insertion_point(field_get:netsim.bellhop.protobuf.Environment.Beams.theta_min)
4954  return _internal_theta_min();
4955 }
4956 inline void Environment_Beams::_internal_set_theta_min(::PROTOBUF_NAMESPACE_ID::int32 value) {
4957  _has_bits_[0] |= 0x00000008u;
4958  theta_min_ = value;
4959 }
4960 inline void Environment_Beams::set_theta_min(::PROTOBUF_NAMESPACE_ID::int32 value) {
4961  _internal_set_theta_min(value);
4962  // @@protoc_insertion_point(field_set:netsim.bellhop.protobuf.Environment.Beams.theta_min)
4963 }
4964 
4965 // optional int32 theta_max = 3 [default = 90, (.goby.field) = {
4966 inline bool Environment_Beams::_internal_has_theta_max() const {
4967  bool value = (_has_bits_[0] & 0x00000002u) != 0;
4968  return value;
4969 }
4970 inline bool Environment_Beams::has_theta_max() const {
4971  return _internal_has_theta_max();
4972 }
4973 inline void Environment_Beams::clear_theta_max() {
4974  theta_max_ = 90;
4975  _has_bits_[0] &= ~0x00000002u;
4976 }
4977 inline ::PROTOBUF_NAMESPACE_ID::int32 Environment_Beams::_internal_theta_max() const {
4978  return theta_max_;
4979 }
4980 inline ::PROTOBUF_NAMESPACE_ID::int32 Environment_Beams::theta_max() const {
4981  // @@protoc_insertion_point(field_get:netsim.bellhop.protobuf.Environment.Beams.theta_max)
4982  return _internal_theta_max();
4983 }
4984 inline void Environment_Beams::_internal_set_theta_max(::PROTOBUF_NAMESPACE_ID::int32 value) {
4985  _has_bits_[0] |= 0x00000002u;
4986  theta_max_ = value;
4987 }
4988 inline void Environment_Beams::set_theta_max(::PROTOBUF_NAMESPACE_ID::int32 value) {
4989  _internal_set_theta_max(value);
4990  // @@protoc_insertion_point(field_set:netsim.bellhop.protobuf.Environment.Beams.theta_max)
4991 }
4992 
4993 // optional uint32 number = 4 [default = 0, (.goby.field) = {
4994 inline bool Environment_Beams::_internal_has_number() const {
4995  bool value = (_has_bits_[0] & 0x00000001u) != 0;
4996  return value;
4997 }
4998 inline bool Environment_Beams::has_number() const {
4999  return _internal_has_number();
5000 }
5001 inline void Environment_Beams::clear_number() {
5002  number_ = 0u;
5003  _has_bits_[0] &= ~0x00000001u;
5004 }
5005 inline ::PROTOBUF_NAMESPACE_ID::uint32 Environment_Beams::_internal_number() const {
5006  return number_;
5007 }
5008 inline ::PROTOBUF_NAMESPACE_ID::uint32 Environment_Beams::number() const {
5009  // @@protoc_insertion_point(field_get:netsim.bellhop.protobuf.Environment.Beams.number)
5010  return _internal_number();
5011 }
5012 inline void Environment_Beams::_internal_set_number(::PROTOBUF_NAMESPACE_ID::uint32 value) {
5013  _has_bits_[0] |= 0x00000001u;
5014  number_ = value;
5015 }
5016 inline void Environment_Beams::set_number(::PROTOBUF_NAMESPACE_ID::uint32 value) {
5017  _internal_set_number(value);
5018  // @@protoc_insertion_point(field_set:netsim.bellhop.protobuf.Environment.Beams.number)
5019 }
5020 
5021 // -------------------------------------------------------------------
5022 
5023 // Environment_AdaptiveInfo
5024 
5025 // optional string contact = 1 [(.goby.field) = {
5026 inline bool Environment_AdaptiveInfo::_internal_has_contact() const {
5027  bool value = (_has_bits_[0] & 0x00000001u) != 0;
5028  return value;
5029 }
5030 inline bool Environment_AdaptiveInfo::has_contact() const {
5031  return _internal_has_contact();
5032 }
5033 inline void Environment_AdaptiveInfo::clear_contact() {
5034  contact_.ClearToEmpty(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
5035  _has_bits_[0] &= ~0x00000001u;
5036 }
5037 inline const std::string& Environment_AdaptiveInfo::contact() const {
5038  // @@protoc_insertion_point(field_get:netsim.bellhop.protobuf.Environment.AdaptiveInfo.contact)
5039  return _internal_contact();
5040 }
5041 inline void Environment_AdaptiveInfo::set_contact(const std::string& value) {
5042  _internal_set_contact(value);
5043  // @@protoc_insertion_point(field_set:netsim.bellhop.protobuf.Environment.AdaptiveInfo.contact)
5044 }
5045 inline std::string* Environment_AdaptiveInfo::mutable_contact() {
5046  // @@protoc_insertion_point(field_mutable:netsim.bellhop.protobuf.Environment.AdaptiveInfo.contact)
5047  return _internal_mutable_contact();
5048 }
5049 inline const std::string& Environment_AdaptiveInfo::_internal_contact() const {
5050  return contact_.Get();
5051 }
5052 inline void Environment_AdaptiveInfo::_internal_set_contact(const std::string& value) {
5053  _has_bits_[0] |= 0x00000001u;
5054  contact_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), value, GetArena());
5055 }
5056 inline void Environment_AdaptiveInfo::set_contact(std::string&& value) {
5057  _has_bits_[0] |= 0x00000001u;
5058  contact_.Set(
5059  &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::move(value), GetArena());
5060  // @@protoc_insertion_point(field_set_rvalue:netsim.bellhop.protobuf.Environment.AdaptiveInfo.contact)
5061 }
5062 inline void Environment_AdaptiveInfo::set_contact(const char* value) {
5063  GOOGLE_DCHECK(value != nullptr);
5064  _has_bits_[0] |= 0x00000001u;
5065  contact_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(value),
5066  GetArena());
5067  // @@protoc_insertion_point(field_set_char:netsim.bellhop.protobuf.Environment.AdaptiveInfo.contact)
5068 }
5069 inline void Environment_AdaptiveInfo::set_contact(const char* value,
5070  size_t size) {
5071  _has_bits_[0] |= 0x00000001u;
5072  contact_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(
5073  reinterpret_cast<const char*>(value), size), GetArena());
5074  // @@protoc_insertion_point(field_set_pointer:netsim.bellhop.protobuf.Environment.AdaptiveInfo.contact)
5075 }
5076 inline std::string* Environment_AdaptiveInfo::_internal_mutable_contact() {
5077  _has_bits_[0] |= 0x00000001u;
5078  return contact_.Mutable(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
5079 }
5080 inline std::string* Environment_AdaptiveInfo::release_contact() {
5081  // @@protoc_insertion_point(field_release:netsim.bellhop.protobuf.Environment.AdaptiveInfo.contact)
5082  if (!_internal_has_contact()) {
5083  return nullptr;
5084  }
5085  _has_bits_[0] &= ~0x00000001u;
5086  return contact_.ReleaseNonDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
5087 }
5088 inline void Environment_AdaptiveInfo::set_allocated_contact(std::string* contact) {
5089  if (contact != nullptr) {
5090  _has_bits_[0] |= 0x00000001u;
5091  } else {
5092  _has_bits_[0] &= ~0x00000001u;
5093  }
5094  contact_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), contact,
5095  GetArena());
5096  // @@protoc_insertion_point(field_set_allocated:netsim.bellhop.protobuf.Environment.AdaptiveInfo.contact)
5097 }
5098 inline std::string* Environment_AdaptiveInfo::unsafe_arena_release_contact() {
5099  // @@protoc_insertion_point(field_unsafe_arena_release:netsim.bellhop.protobuf.Environment.AdaptiveInfo.contact)
5100  GOOGLE_DCHECK(GetArena() != nullptr);
5101  _has_bits_[0] &= ~0x00000001u;
5102  return contact_.UnsafeArenaRelease(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
5103  GetArena());
5104 }
5105 inline void Environment_AdaptiveInfo::unsafe_arena_set_allocated_contact(
5106  std::string* contact) {
5107  GOOGLE_DCHECK(GetArena() != nullptr);
5108  if (contact != nullptr) {
5109  _has_bits_[0] |= 0x00000001u;
5110  } else {
5111  _has_bits_[0] &= ~0x00000001u;
5112  }
5113  contact_.UnsafeArenaSetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
5114  contact, GetArena());
5115  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:netsim.bellhop.protobuf.Environment.AdaptiveInfo.contact)
5116 }
5117 
5118 // optional string ownship = 2 [(.goby.field) = {
5119 inline bool Environment_AdaptiveInfo::_internal_has_ownship() const {
5120  bool value = (_has_bits_[0] & 0x00000002u) != 0;
5121  return value;
5122 }
5123 inline bool Environment_AdaptiveInfo::has_ownship() const {
5124  return _internal_has_ownship();
5125 }
5126 inline void Environment_AdaptiveInfo::clear_ownship() {
5127  ownship_.ClearToEmpty(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
5128  _has_bits_[0] &= ~0x00000002u;
5129 }
5130 inline const std::string& Environment_AdaptiveInfo::ownship() const {
5131  // @@protoc_insertion_point(field_get:netsim.bellhop.protobuf.Environment.AdaptiveInfo.ownship)
5132  return _internal_ownship();
5133 }
5134 inline void Environment_AdaptiveInfo::set_ownship(const std::string& value) {
5135  _internal_set_ownship(value);
5136  // @@protoc_insertion_point(field_set:netsim.bellhop.protobuf.Environment.AdaptiveInfo.ownship)
5137 }
5138 inline std::string* Environment_AdaptiveInfo::mutable_ownship() {
5139  // @@protoc_insertion_point(field_mutable:netsim.bellhop.protobuf.Environment.AdaptiveInfo.ownship)
5140  return _internal_mutable_ownship();
5141 }
5142 inline const std::string& Environment_AdaptiveInfo::_internal_ownship() const {
5143  return ownship_.Get();
5144 }
5145 inline void Environment_AdaptiveInfo::_internal_set_ownship(const std::string& value) {
5146  _has_bits_[0] |= 0x00000002u;
5147  ownship_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), value, GetArena());
5148 }
5149 inline void Environment_AdaptiveInfo::set_ownship(std::string&& value) {
5150  _has_bits_[0] |= 0x00000002u;
5151  ownship_.Set(
5152  &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::move(value), GetArena());
5153  // @@protoc_insertion_point(field_set_rvalue:netsim.bellhop.protobuf.Environment.AdaptiveInfo.ownship)
5154 }
5155 inline void Environment_AdaptiveInfo::set_ownship(const char* value) {
5156  GOOGLE_DCHECK(value != nullptr);
5157  _has_bits_[0] |= 0x00000002u;
5158  ownship_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(value),
5159  GetArena());
5160  // @@protoc_insertion_point(field_set_char:netsim.bellhop.protobuf.Environment.AdaptiveInfo.ownship)
5161 }
5162 inline void Environment_AdaptiveInfo::set_ownship(const char* value,
5163  size_t size) {
5164  _has_bits_[0] |= 0x00000002u;
5165  ownship_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(
5166  reinterpret_cast<const char*>(value), size), GetArena());
5167  // @@protoc_insertion_point(field_set_pointer:netsim.bellhop.protobuf.Environment.AdaptiveInfo.ownship)
5168 }
5169 inline std::string* Environment_AdaptiveInfo::_internal_mutable_ownship() {
5170  _has_bits_[0] |= 0x00000002u;
5171  return ownship_.Mutable(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
5172 }
5173 inline std::string* Environment_AdaptiveInfo::release_ownship() {
5174  // @@protoc_insertion_point(field_release:netsim.bellhop.protobuf.Environment.AdaptiveInfo.ownship)
5175  if (!_internal_has_ownship()) {
5176  return nullptr;
5177  }
5178  _has_bits_[0] &= ~0x00000002u;
5179  return ownship_.ReleaseNonDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
5180 }
5181 inline void Environment_AdaptiveInfo::set_allocated_ownship(std::string* ownship) {
5182  if (ownship != nullptr) {
5183  _has_bits_[0] |= 0x00000002u;
5184  } else {
5185  _has_bits_[0] &= ~0x00000002u;
5186  }
5187  ownship_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ownship,
5188  GetArena());
5189  // @@protoc_insertion_point(field_set_allocated:netsim.bellhop.protobuf.Environment.AdaptiveInfo.ownship)
5190 }
5191 inline std::string* Environment_AdaptiveInfo::unsafe_arena_release_ownship() {
5192  // @@protoc_insertion_point(field_unsafe_arena_release:netsim.bellhop.protobuf.Environment.AdaptiveInfo.ownship)
5193  GOOGLE_DCHECK(GetArena() != nullptr);
5194  _has_bits_[0] &= ~0x00000002u;
5195  return ownship_.UnsafeArenaRelease(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
5196  GetArena());
5197 }
5198 inline void Environment_AdaptiveInfo::unsafe_arena_set_allocated_ownship(
5199  std::string* ownship) {
5200  GOOGLE_DCHECK(GetArena() != nullptr);
5201  if (ownship != nullptr) {
5202  _has_bits_[0] |= 0x00000002u;
5203  } else {
5204  _has_bits_[0] &= ~0x00000002u;
5205  }
5206  ownship_.UnsafeArenaSetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
5207  ownship, GetArena());
5208  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:netsim.bellhop.protobuf.Environment.AdaptiveInfo.ownship)
5209 }
5210 
5211 // optional bool read_shd = 3 [default = false, (.goby.field) = {
5212 inline bool Environment_AdaptiveInfo::_internal_has_read_shd() const {
5213  bool value = (_has_bits_[0] & 0x00000004u) != 0;
5214  return value;
5215 }
5216 inline bool Environment_AdaptiveInfo::has_read_shd() const {
5217  return _internal_has_read_shd();
5218 }
5219 inline void Environment_AdaptiveInfo::clear_read_shd() {
5220  read_shd_ = false;
5221  _has_bits_[0] &= ~0x00000004u;
5222 }
5223 inline bool Environment_AdaptiveInfo::_internal_read_shd() const {
5224  return read_shd_;
5225 }
5226 inline bool Environment_AdaptiveInfo::read_shd() const {
5227  // @@protoc_insertion_point(field_get:netsim.bellhop.protobuf.Environment.AdaptiveInfo.read_shd)
5228  return _internal_read_shd();
5229 }
5230 inline void Environment_AdaptiveInfo::_internal_set_read_shd(bool value) {
5231  _has_bits_[0] |= 0x00000004u;
5232  read_shd_ = value;
5233 }
5234 inline void Environment_AdaptiveInfo::set_read_shd(bool value) {
5235  _internal_set_read_shd(value);
5236  // @@protoc_insertion_point(field_set:netsim.bellhop.protobuf.Environment.AdaptiveInfo.read_shd)
5237 }
5238 
5239 // optional bool full_shd_matrix = 10 [default = false, (.goby.field) = {
5240 inline bool Environment_AdaptiveInfo::_internal_has_full_shd_matrix() const {
5241  bool value = (_has_bits_[0] & 0x00000008u) != 0;
5242  return value;
5243 }
5244 inline bool Environment_AdaptiveInfo::has_full_shd_matrix() const {
5245  return _internal_has_full_shd_matrix();
5246 }
5247 inline void Environment_AdaptiveInfo::clear_full_shd_matrix() {
5248  full_shd_matrix_ = false;
5249  _has_bits_[0] &= ~0x00000008u;
5250 }
5251 inline bool Environment_AdaptiveInfo::_internal_full_shd_matrix() const {
5252  return full_shd_matrix_;
5253 }
5254 inline bool Environment_AdaptiveInfo::full_shd_matrix() const {
5255  // @@protoc_insertion_point(field_get:netsim.bellhop.protobuf.Environment.AdaptiveInfo.full_shd_matrix)
5256  return _internal_full_shd_matrix();
5257 }
5258 inline void Environment_AdaptiveInfo::_internal_set_full_shd_matrix(bool value) {
5259  _has_bits_[0] |= 0x00000008u;
5260  full_shd_matrix_ = value;
5261 }
5262 inline void Environment_AdaptiveInfo::set_full_shd_matrix(bool value) {
5263  _internal_set_full_shd_matrix(value);
5264  // @@protoc_insertion_point(field_set:netsim.bellhop.protobuf.Environment.AdaptiveInfo.full_shd_matrix)
5265 }
5266 
5267 // optional bool auto_receiver_ranges = 4 [default = false, (.goby.field) = {
5268 inline bool Environment_AdaptiveInfo::_internal_has_auto_receiver_ranges() const {
5269  bool value = (_has_bits_[0] & 0x00000010u) != 0;
5270  return value;
5271 }
5272 inline bool Environment_AdaptiveInfo::has_auto_receiver_ranges() const {
5273  return _internal_has_auto_receiver_ranges();
5274 }
5275 inline void Environment_AdaptiveInfo::clear_auto_receiver_ranges() {
5276  auto_receiver_ranges_ = false;
5277  _has_bits_[0] &= ~0x00000010u;
5278 }
5279 inline bool Environment_AdaptiveInfo::_internal_auto_receiver_ranges() const {
5280  return auto_receiver_ranges_;
5281 }
5282 inline bool Environment_AdaptiveInfo::auto_receiver_ranges() const {
5283  // @@protoc_insertion_point(field_get:netsim.bellhop.protobuf.Environment.AdaptiveInfo.auto_receiver_ranges)
5284  return _internal_auto_receiver_ranges();
5285 }
5286 inline void Environment_AdaptiveInfo::_internal_set_auto_receiver_ranges(bool value) {
5287  _has_bits_[0] |= 0x00000010u;
5288  auto_receiver_ranges_ = value;
5289 }
5290 inline void Environment_AdaptiveInfo::set_auto_receiver_ranges(bool value) {
5291  _internal_set_auto_receiver_ranges(value);
5292  // @@protoc_insertion_point(field_set:netsim.bellhop.protobuf.Environment.AdaptiveInfo.auto_receiver_ranges)
5293 }
5294 
5295 // optional int32 auto_receiver_ranges_delta = 7 [default = 1, (.goby.field) = {
5296 inline bool Environment_AdaptiveInfo::_internal_has_auto_receiver_ranges_delta() const {
5297  bool value = (_has_bits_[0] & 0x00000080u) != 0;
5298  return value;
5299 }
5300 inline bool Environment_AdaptiveInfo::has_auto_receiver_ranges_delta() const {
5301  return _internal_has_auto_receiver_ranges_delta();
5302 }
5303 inline void Environment_AdaptiveInfo::clear_auto_receiver_ranges_delta() {
5304  auto_receiver_ranges_delta_ = 1;
5305  _has_bits_[0] &= ~0x00000080u;
5306 }
5307 inline ::PROTOBUF_NAMESPACE_ID::int32 Environment_AdaptiveInfo::_internal_auto_receiver_ranges_delta() const {
5308  return auto_receiver_ranges_delta_;
5309 }
5310 inline ::PROTOBUF_NAMESPACE_ID::int32 Environment_AdaptiveInfo::auto_receiver_ranges_delta() const {
5311  // @@protoc_insertion_point(field_get:netsim.bellhop.protobuf.Environment.AdaptiveInfo.auto_receiver_ranges_delta)
5312  return _internal_auto_receiver_ranges_delta();
5313 }
5314 inline void Environment_AdaptiveInfo::_internal_set_auto_receiver_ranges_delta(::PROTOBUF_NAMESPACE_ID::int32 value) {
5315  _has_bits_[0] |= 0x00000080u;
5316  auto_receiver_ranges_delta_ = value;
5317 }
5318 inline void Environment_AdaptiveInfo::set_auto_receiver_ranges_delta(::PROTOBUF_NAMESPACE_ID::int32 value) {
5319  _internal_set_auto_receiver_ranges_delta(value);
5320  // @@protoc_insertion_point(field_set:netsim.bellhop.protobuf.Environment.AdaptiveInfo.auto_receiver_ranges_delta)
5321 }
5322 
5323 // optional uint32 look_ahead_seconds = 5 [default = 60, (.goby.field) = {
5324 inline bool Environment_AdaptiveInfo::_internal_has_look_ahead_seconds() const {
5325  bool value = (_has_bits_[0] & 0x00000040u) != 0;
5326  return value;
5327 }
5328 inline bool Environment_AdaptiveInfo::has_look_ahead_seconds() const {
5329  return _internal_has_look_ahead_seconds();
5330 }
5331 inline void Environment_AdaptiveInfo::clear_look_ahead_seconds() {
5332  look_ahead_seconds_ = 60u;
5333  _has_bits_[0] &= ~0x00000040u;
5334 }
5335 inline ::PROTOBUF_NAMESPACE_ID::uint32 Environment_AdaptiveInfo::_internal_look_ahead_seconds() const {
5336  return look_ahead_seconds_;
5337 }
5338 inline ::PROTOBUF_NAMESPACE_ID::uint32 Environment_AdaptiveInfo::look_ahead_seconds() const {
5339  // @@protoc_insertion_point(field_get:netsim.bellhop.protobuf.Environment.AdaptiveInfo.look_ahead_seconds)
5340  return _internal_look_ahead_seconds();
5341 }
5342 inline void Environment_AdaptiveInfo::_internal_set_look_ahead_seconds(::PROTOBUF_NAMESPACE_ID::uint32 value) {
5343  _has_bits_[0] |= 0x00000040u;
5344  look_ahead_seconds_ = value;
5345 }
5346 inline void Environment_AdaptiveInfo::set_look_ahead_seconds(::PROTOBUF_NAMESPACE_ID::uint32 value) {
5347  _internal_set_look_ahead_seconds(value);
5348  // @@protoc_insertion_point(field_set:netsim.bellhop.protobuf.Environment.AdaptiveInfo.look_ahead_seconds)
5349 }
5350 
5351 // optional bool auto_source_depth = 6 [default = false, (.goby.field) = {
5352 inline bool Environment_AdaptiveInfo::_internal_has_auto_source_depth() const {
5353  bool value = (_has_bits_[0] & 0x00000020u) != 0;
5354  return value;
5355 }
5356 inline bool Environment_AdaptiveInfo::has_auto_source_depth() const {
5357  return _internal_has_auto_source_depth();
5358 }
5359 inline void Environment_AdaptiveInfo::clear_auto_source_depth() {
5360  auto_source_depth_ = false;
5361  _has_bits_[0] &= ~0x00000020u;
5362 }
5363 inline bool Environment_AdaptiveInfo::_internal_auto_source_depth() const {
5364  return auto_source_depth_;
5365 }
5366 inline bool Environment_AdaptiveInfo::auto_source_depth() const {
5367  // @@protoc_insertion_point(field_get:netsim.bellhop.protobuf.Environment.AdaptiveInfo.auto_source_depth)
5368  return _internal_auto_source_depth();
5369 }
5370 inline void Environment_AdaptiveInfo::_internal_set_auto_source_depth(bool value) {
5371  _has_bits_[0] |= 0x00000020u;
5372  auto_source_depth_ = value;
5373 }
5374 inline void Environment_AdaptiveInfo::set_auto_source_depth(bool value) {
5375  _internal_set_auto_source_depth(value);
5376  // @@protoc_insertion_point(field_set:netsim.bellhop.protobuf.Environment.AdaptiveInfo.auto_source_depth)
5377 }
5378 
5379 // -------------------------------------------------------------------
5380 
5381 // Environment
5382 
5383 // optional string title = 1 [default = "Environmental File", (.goby.field) = {
5384 inline bool Environment::_internal_has_title() const {
5385  bool value = (_has_bits_[0] & 0x00000001u) != 0;
5386  return value;
5387 }
5388 inline bool Environment::has_title() const {
5389  return _internal_has_title();
5390 }
5391 inline void Environment::clear_title() {
5392  title_.ClearToDefault(&::netsim::bellhop::protobuf::Environment::_i_give_permission_to_break_this_code_default_title_.get(), GetArena());
5393  _has_bits_[0] &= ~0x00000001u;
5394 }
5395 inline const std::string& Environment::title() const {
5396  // @@protoc_insertion_point(field_get:netsim.bellhop.protobuf.Environment.title)
5397  return _internal_title();
5398 }
5399 inline void Environment::set_title(const std::string& value) {
5400  _internal_set_title(value);
5401  // @@protoc_insertion_point(field_set:netsim.bellhop.protobuf.Environment.title)
5402 }
5403 inline std::string* Environment::mutable_title() {
5404  // @@protoc_insertion_point(field_mutable:netsim.bellhop.protobuf.Environment.title)
5405  return _internal_mutable_title();
5406 }
5407 inline const std::string& Environment::_internal_title() const {
5408  return title_.Get();
5409 }
5410 inline void Environment::_internal_set_title(const std::string& value) {
5411  _has_bits_[0] |= 0x00000001u;
5412  title_.Set(&::netsim::bellhop::protobuf::Environment::_i_give_permission_to_break_this_code_default_title_.get(), value, GetArena());
5413 }
5414 inline void Environment::set_title(std::string&& value) {
5415  _has_bits_[0] |= 0x00000001u;
5416  title_.Set(
5417  &::netsim::bellhop::protobuf::Environment::_i_give_permission_to_break_this_code_default_title_.get(), ::std::move(value), GetArena());
5418  // @@protoc_insertion_point(field_set_rvalue:netsim.bellhop.protobuf.Environment.title)
5419 }
5420 inline void Environment::set_title(const char* value) {
5421  GOOGLE_DCHECK(value != nullptr);
5422  _has_bits_[0] |= 0x00000001u;
5423  title_.Set(&::netsim::bellhop::protobuf::Environment::_i_give_permission_to_break_this_code_default_title_.get(), ::std::string(value),
5424  GetArena());
5425  // @@protoc_insertion_point(field_set_char:netsim.bellhop.protobuf.Environment.title)
5426 }
5427 inline void Environment::set_title(const char* value,
5428  size_t size) {
5429  _has_bits_[0] |= 0x00000001u;
5430  title_.Set(&::netsim::bellhop::protobuf::Environment::_i_give_permission_to_break_this_code_default_title_.get(), ::std::string(
5431  reinterpret_cast<const char*>(value), size), GetArena());
5432  // @@protoc_insertion_point(field_set_pointer:netsim.bellhop.protobuf.Environment.title)
5433 }
5434 inline std::string* Environment::_internal_mutable_title() {
5435  _has_bits_[0] |= 0x00000001u;
5436  return title_.Mutable(&::netsim::bellhop::protobuf::Environment::_i_give_permission_to_break_this_code_default_title_.get(), GetArena());
5437 }
5438 inline std::string* Environment::release_title() {
5439  // @@protoc_insertion_point(field_release:netsim.bellhop.protobuf.Environment.title)
5440  if (!_internal_has_title()) {
5441  return nullptr;
5442  }
5443  _has_bits_[0] &= ~0x00000001u;
5444  return title_.ReleaseNonDefault(&::netsim::bellhop::protobuf::Environment::_i_give_permission_to_break_this_code_default_title_.get(), GetArena());
5445 }
5446 inline void Environment::set_allocated_title(std::string* title) {
5447  if (title != nullptr) {
5448  _has_bits_[0] |= 0x00000001u;
5449  } else {
5450  _has_bits_[0] &= ~0x00000001u;
5451  }
5452  title_.SetAllocated(&::netsim::bellhop::protobuf::Environment::_i_give_permission_to_break_this_code_default_title_.get(), title,
5453  GetArena());
5454  // @@protoc_insertion_point(field_set_allocated:netsim.bellhop.protobuf.Environment.title)
5455 }
5456 inline std::string* Environment::unsafe_arena_release_title() {
5457  // @@protoc_insertion_point(field_unsafe_arena_release:netsim.bellhop.protobuf.Environment.title)
5458  GOOGLE_DCHECK(GetArena() != nullptr);
5459  _has_bits_[0] &= ~0x00000001u;
5460  return title_.UnsafeArenaRelease(&::netsim::bellhop::protobuf::Environment::_i_give_permission_to_break_this_code_default_title_.get(),
5461  GetArena());
5462 }
5463 inline void Environment::unsafe_arena_set_allocated_title(
5464  std::string* title) {
5465  GOOGLE_DCHECK(GetArena() != nullptr);
5466  if (title != nullptr) {
5467  _has_bits_[0] |= 0x00000001u;
5468  } else {
5469  _has_bits_[0] &= ~0x00000001u;
5470  }
5471  title_.UnsafeArenaSetAllocated(&::netsim::bellhop::protobuf::Environment::_i_give_permission_to_break_this_code_default_title_.get(),
5472  title, GetArena());
5473  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:netsim.bellhop.protobuf.Environment.title)
5474 }
5475 
5476 // optional uint32 freq = 2 [default = 25000, (.goby.field) = {
5477 inline bool Environment::_internal_has_freq() const {
5478  bool value = (_has_bits_[0] & 0x00000100u) != 0;
5479  return value;
5480 }
5481 inline bool Environment::has_freq() const {
5482  return _internal_has_freq();
5483 }
5484 inline void Environment::clear_freq() {
5485  freq_ = 25000u;
5486  _has_bits_[0] &= ~0x00000100u;
5487 }
5488 inline ::PROTOBUF_NAMESPACE_ID::uint32 Environment::_internal_freq() const {
5489  return freq_;
5490 }
5491 inline ::PROTOBUF_NAMESPACE_ID::uint32 Environment::freq() const {
5492  // @@protoc_insertion_point(field_get:netsim.bellhop.protobuf.Environment.freq)
5493  return _internal_freq();
5494 }
5495 inline void Environment::_internal_set_freq(::PROTOBUF_NAMESPACE_ID::uint32 value) {
5496  _has_bits_[0] |= 0x00000100u;
5497  freq_ = value;
5498 }
5499 inline void Environment::set_freq(::PROTOBUF_NAMESPACE_ID::uint32 value) {
5500  _internal_set_freq(value);
5501  // @@protoc_insertion_point(field_set:netsim.bellhop.protobuf.Environment.freq)
5502 }
5503 
5504 // optional .netsim.bellhop.protobuf.Environment.Output output = 3 [(.goby.field) = {
5505 inline bool Environment::_internal_has_output() const {
5506  bool value = (_has_bits_[0] & 0x00000002u) != 0;
5507  PROTOBUF_ASSUME(!value || output_ != nullptr);
5508  return value;
5509 }
5510 inline bool Environment::has_output() const {
5511  return _internal_has_output();
5512 }
5513 inline void Environment::clear_output() {
5514  if (output_ != nullptr) output_->Clear();
5515  _has_bits_[0] &= ~0x00000002u;
5516 }
5517 inline const ::netsim::bellhop::protobuf::Environment_Output& Environment::_internal_output() const {
5518  const ::netsim::bellhop::protobuf::Environment_Output* p = output_;
5519  return p != nullptr ? *p : *reinterpret_cast<const ::netsim::bellhop::protobuf::Environment_Output*>(
5521 }
5522 inline const ::netsim::bellhop::protobuf::Environment_Output& Environment::output() const {
5523  // @@protoc_insertion_point(field_get:netsim.bellhop.protobuf.Environment.output)
5524  return _internal_output();
5525 }
5526 inline void Environment::unsafe_arena_set_allocated_output(
5527  ::netsim::bellhop::protobuf::Environment_Output* output) {
5528  if (GetArena() == nullptr) {
5529  delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(output_);
5530  }
5531  output_ = output;
5532  if (output) {
5533  _has_bits_[0] |= 0x00000002u;
5534  } else {
5535  _has_bits_[0] &= ~0x00000002u;
5536  }
5537  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:netsim.bellhop.protobuf.Environment.output)
5538 }
5539 inline ::netsim::bellhop::protobuf::Environment_Output* Environment::release_output() {
5540  auto temp = unsafe_arena_release_output();
5541  if (GetArena() != nullptr) {
5542  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
5543  }
5544  return temp;
5545 }
5546 inline ::netsim::bellhop::protobuf::Environment_Output* Environment::unsafe_arena_release_output() {
5547  // @@protoc_insertion_point(field_release:netsim.bellhop.protobuf.Environment.output)
5548  _has_bits_[0] &= ~0x00000002u;
5549  ::netsim::bellhop::protobuf::Environment_Output* temp = output_;
5550  output_ = nullptr;
5551  return temp;
5552 }
5553 inline ::netsim::bellhop::protobuf::Environment_Output* Environment::_internal_mutable_output() {
5554  _has_bits_[0] |= 0x00000002u;
5555  if (output_ == nullptr) {
5556  auto* p = CreateMaybeMessage<::netsim::bellhop::protobuf::Environment_Output>(GetArena());
5557  output_ = p;
5558  }
5559  return output_;
5560 }
5561 inline ::netsim::bellhop::protobuf::Environment_Output* Environment::mutable_output() {
5562  // @@protoc_insertion_point(field_mutable:netsim.bellhop.protobuf.Environment.output)
5563  return _internal_mutable_output();
5564 }
5565 inline void Environment::set_allocated_output(::netsim::bellhop::protobuf::Environment_Output* output) {
5566  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
5567  if (message_arena == nullptr) {
5568  delete output_;
5569  }
5570  if (output) {
5571  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
5572  ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(output);
5573  if (message_arena != submessage_arena) {
5574  output = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
5575  message_arena, output, submessage_arena);
5576  }
5577  _has_bits_[0] |= 0x00000002u;
5578  } else {
5579  _has_bits_[0] &= ~0x00000002u;
5580  }
5581  output_ = output;
5582  // @@protoc_insertion_point(field_set_allocated:netsim.bellhop.protobuf.Environment.output)
5583 }
5584 
5585 // optional .netsim.bellhop.protobuf.Environment.Surface surface = 4 [(.goby.field) = {
5586 inline bool Environment::_internal_has_surface() const {
5587  bool value = (_has_bits_[0] & 0x00000004u) != 0;
5588  PROTOBUF_ASSUME(!value || surface_ != nullptr);
5589  return value;
5590 }
5591 inline bool Environment::has_surface() const {
5592  return _internal_has_surface();
5593 }
5594 inline void Environment::clear_surface() {
5595  if (surface_ != nullptr) surface_->Clear();
5596  _has_bits_[0] &= ~0x00000004u;
5597 }
5598 inline const ::netsim::bellhop::protobuf::Environment_Surface& Environment::_internal_surface() const {
5599  const ::netsim::bellhop::protobuf::Environment_Surface* p = surface_;
5600  return p != nullptr ? *p : *reinterpret_cast<const ::netsim::bellhop::protobuf::Environment_Surface*>(
5602 }
5603 inline const ::netsim::bellhop::protobuf::Environment_Surface& Environment::surface() const {
5604  // @@protoc_insertion_point(field_get:netsim.bellhop.protobuf.Environment.surface)
5605  return _internal_surface();
5606 }
5607 inline void Environment::unsafe_arena_set_allocated_surface(
5608  ::netsim::bellhop::protobuf::Environment_Surface* surface) {
5609  if (GetArena() == nullptr) {
5610  delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(surface_);
5611  }
5612  surface_ = surface;
5613  if (surface) {
5614  _has_bits_[0] |= 0x00000004u;
5615  } else {
5616  _has_bits_[0] &= ~0x00000004u;
5617  }
5618  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:netsim.bellhop.protobuf.Environment.surface)
5619 }
5620 inline ::netsim::bellhop::protobuf::Environment_Surface* Environment::release_surface() {
5621  auto temp = unsafe_arena_release_surface();
5622  if (GetArena() != nullptr) {
5623  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
5624  }
5625  return temp;
5626 }
5627 inline ::netsim::bellhop::protobuf::Environment_Surface* Environment::unsafe_arena_release_surface() {
5628  // @@protoc_insertion_point(field_release:netsim.bellhop.protobuf.Environment.surface)
5629  _has_bits_[0] &= ~0x00000004u;
5630  ::netsim::bellhop::protobuf::Environment_Surface* temp = surface_;
5631  surface_ = nullptr;
5632  return temp;
5633 }
5634 inline ::netsim::bellhop::protobuf::Environment_Surface* Environment::_internal_mutable_surface() {
5635  _has_bits_[0] |= 0x00000004u;
5636  if (surface_ == nullptr) {
5637  auto* p = CreateMaybeMessage<::netsim::bellhop::protobuf::Environment_Surface>(GetArena());
5638  surface_ = p;
5639  }
5640  return surface_;
5641 }
5642 inline ::netsim::bellhop::protobuf::Environment_Surface* Environment::mutable_surface() {
5643  // @@protoc_insertion_point(field_mutable:netsim.bellhop.protobuf.Environment.surface)
5644  return _internal_mutable_surface();
5645 }
5646 inline void Environment::set_allocated_surface(::netsim::bellhop::protobuf::Environment_Surface* surface) {
5647  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
5648  if (message_arena == nullptr) {
5649  delete surface_;
5650  }
5651  if (surface) {
5652  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
5653  ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(surface);
5654  if (message_arena != submessage_arena) {
5655  surface = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
5656  message_arena, surface, submessage_arena);
5657  }
5658  _has_bits_[0] |= 0x00000004u;
5659  } else {
5660  _has_bits_[0] &= ~0x00000004u;
5661  }
5662  surface_ = surface;
5663  // @@protoc_insertion_point(field_set_allocated:netsim.bellhop.protobuf.Environment.surface)
5664 }
5665 
5666 // repeated .netsim.bellhop.protobuf.Environment.WaterColumn water_column = 5 [(.goby.field) = {
5667 inline int Environment::_internal_water_column_size() const {
5668  return water_column_.size();
5669 }
5670 inline int Environment::water_column_size() const {
5671  return _internal_water_column_size();
5672 }
5673 inline void Environment::clear_water_column() {
5674  water_column_.Clear();
5675 }
5676 inline ::netsim::bellhop::protobuf::Environment_WaterColumn* Environment::mutable_water_column(int index) {
5677  // @@protoc_insertion_point(field_mutable:netsim.bellhop.protobuf.Environment.water_column)
5678  return water_column_.Mutable(index);
5679 }
5680 inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::netsim::bellhop::protobuf::Environment_WaterColumn >*
5681 Environment::mutable_water_column() {
5682  // @@protoc_insertion_point(field_mutable_list:netsim.bellhop.protobuf.Environment.water_column)
5683  return &water_column_;
5684 }
5685 inline const ::netsim::bellhop::protobuf::Environment_WaterColumn& Environment::_internal_water_column(int index) const {
5686  return water_column_.Get(index);
5687 }
5688 inline const ::netsim::bellhop::protobuf::Environment_WaterColumn& Environment::water_column(int index) const {
5689  // @@protoc_insertion_point(field_get:netsim.bellhop.protobuf.Environment.water_column)
5690  return _internal_water_column(index);
5691 }
5692 inline ::netsim::bellhop::protobuf::Environment_WaterColumn* Environment::_internal_add_water_column() {
5693  return water_column_.Add();
5694 }
5695 inline ::netsim::bellhop::protobuf::Environment_WaterColumn* Environment::add_water_column() {
5696  // @@protoc_insertion_point(field_add:netsim.bellhop.protobuf.Environment.water_column)
5697  return _internal_add_water_column();
5698 }
5699 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::netsim::bellhop::protobuf::Environment_WaterColumn >&
5700 Environment::water_column() const {
5701  // @@protoc_insertion_point(field_list:netsim.bellhop.protobuf.Environment.water_column)
5702  return water_column_;
5703 }
5704 
5705 // optional .netsim.bellhop.protobuf.Environment.Bottom bottom = 6 [(.goby.field) = {
5706 inline bool Environment::_internal_has_bottom() const {
5707  bool value = (_has_bits_[0] & 0x00000008u) != 0;
5708  PROTOBUF_ASSUME(!value || bottom_ != nullptr);
5709  return value;
5710 }
5711 inline bool Environment::has_bottom() const {
5712  return _internal_has_bottom();
5713 }
5714 inline void Environment::clear_bottom() {
5715  if (bottom_ != nullptr) bottom_->Clear();
5716  _has_bits_[0] &= ~0x00000008u;
5717 }
5718 inline const ::netsim::bellhop::protobuf::Environment_Bottom& Environment::_internal_bottom() const {
5719  const ::netsim::bellhop::protobuf::Environment_Bottom* p = bottom_;
5720  return p != nullptr ? *p : *reinterpret_cast<const ::netsim::bellhop::protobuf::Environment_Bottom*>(
5722 }
5723 inline const ::netsim::bellhop::protobuf::Environment_Bottom& Environment::bottom() const {
5724  // @@protoc_insertion_point(field_get:netsim.bellhop.protobuf.Environment.bottom)
5725  return _internal_bottom();
5726 }
5727 inline void Environment::unsafe_arena_set_allocated_bottom(
5728  ::netsim::bellhop::protobuf::Environment_Bottom* bottom) {
5729  if (GetArena() == nullptr) {
5730  delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(bottom_);
5731  }
5732  bottom_ = bottom;
5733  if (bottom) {
5734  _has_bits_[0] |= 0x00000008u;
5735  } else {
5736  _has_bits_[0] &= ~0x00000008u;
5737  }
5738  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:netsim.bellhop.protobuf.Environment.bottom)
5739 }
5740 inline ::netsim::bellhop::protobuf::Environment_Bottom* Environment::release_bottom() {
5741  auto temp = unsafe_arena_release_bottom();
5742  if (GetArena() != nullptr) {
5743  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
5744  }
5745  return temp;
5746 }
5747 inline ::netsim::bellhop::protobuf::Environment_Bottom* Environment::unsafe_arena_release_bottom() {
5748  // @@protoc_insertion_point(field_release:netsim.bellhop.protobuf.Environment.bottom)
5749  _has_bits_[0] &= ~0x00000008u;
5750  ::netsim::bellhop::protobuf::Environment_Bottom* temp = bottom_;
5751  bottom_ = nullptr;
5752  return temp;
5753 }
5754 inline ::netsim::bellhop::protobuf::Environment_Bottom* Environment::_internal_mutable_bottom() {
5755  _has_bits_[0] |= 0x00000008u;
5756  if (bottom_ == nullptr) {
5757  auto* p = CreateMaybeMessage<::netsim::bellhop::protobuf::Environment_Bottom>(GetArena());
5758  bottom_ = p;
5759  }
5760  return bottom_;
5761 }
5762 inline ::netsim::bellhop::protobuf::Environment_Bottom* Environment::mutable_bottom() {
5763  // @@protoc_insertion_point(field_mutable:netsim.bellhop.protobuf.Environment.bottom)
5764  return _internal_mutable_bottom();
5765 }
5766 inline void Environment::set_allocated_bottom(::netsim::bellhop::protobuf::Environment_Bottom* bottom) {
5767  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
5768  if (message_arena == nullptr) {
5769  delete bottom_;
5770  }
5771  if (bottom) {
5772  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
5773  ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(bottom);
5774  if (message_arena != submessage_arena) {
5775  bottom = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
5776  message_arena, bottom, submessage_arena);
5777  }
5778  _has_bits_[0] |= 0x00000008u;
5779  } else {
5780  _has_bits_[0] &= ~0x00000008u;
5781  }
5782  bottom_ = bottom;
5783  // @@protoc_insertion_point(field_set_allocated:netsim.bellhop.protobuf.Environment.bottom)
5784 }
5785 
5786 // optional .netsim.bellhop.protobuf.Environment.Sources sources = 7 [(.goby.field) = {
5787 inline bool Environment::_internal_has_sources() const {
5788  bool value = (_has_bits_[0] & 0x00000010u) != 0;
5789  PROTOBUF_ASSUME(!value || sources_ != nullptr);
5790  return value;
5791 }
5792 inline bool Environment::has_sources() const {
5793  return _internal_has_sources();
5794 }
5795 inline void Environment::clear_sources() {
5796  if (sources_ != nullptr) sources_->Clear();
5797  _has_bits_[0] &= ~0x00000010u;
5798 }
5799 inline const ::netsim::bellhop::protobuf::Environment_Sources& Environment::_internal_sources() const {
5800  const ::netsim::bellhop::protobuf::Environment_Sources* p = sources_;
5801  return p != nullptr ? *p : *reinterpret_cast<const ::netsim::bellhop::protobuf::Environment_Sources*>(
5803 }
5804 inline const ::netsim::bellhop::protobuf::Environment_Sources& Environment::sources() const {
5805  // @@protoc_insertion_point(field_get:netsim.bellhop.protobuf.Environment.sources)
5806  return _internal_sources();
5807 }
5808 inline void Environment::unsafe_arena_set_allocated_sources(
5809  ::netsim::bellhop::protobuf::Environment_Sources* sources) {
5810  if (GetArena() == nullptr) {
5811  delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(sources_);
5812  }
5813  sources_ = sources;
5814  if (sources) {
5815  _has_bits_[0] |= 0x00000010u;
5816  } else {
5817  _has_bits_[0] &= ~0x00000010u;
5818  }
5819  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:netsim.bellhop.protobuf.Environment.sources)
5820 }
5821 inline ::netsim::bellhop::protobuf::Environment_Sources* Environment::release_sources() {
5822  auto temp = unsafe_arena_release_sources();
5823  if (GetArena() != nullptr) {
5824  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
5825  }
5826  return temp;
5827 }
5828 inline ::netsim::bellhop::protobuf::Environment_Sources* Environment::unsafe_arena_release_sources() {
5829  // @@protoc_insertion_point(field_release:netsim.bellhop.protobuf.Environment.sources)
5830  _has_bits_[0] &= ~0x00000010u;
5831  ::netsim::bellhop::protobuf::Environment_Sources* temp = sources_;
5832  sources_ = nullptr;
5833  return temp;
5834 }
5835 inline ::netsim::bellhop::protobuf::Environment_Sources* Environment::_internal_mutable_sources() {
5836  _has_bits_[0] |= 0x00000010u;
5837  if (sources_ == nullptr) {
5838  auto* p = CreateMaybeMessage<::netsim::bellhop::protobuf::Environment_Sources>(GetArena());
5839  sources_ = p;
5840  }
5841  return sources_;
5842 }
5843 inline ::netsim::bellhop::protobuf::Environment_Sources* Environment::mutable_sources() {
5844  // @@protoc_insertion_point(field_mutable:netsim.bellhop.protobuf.Environment.sources)
5845  return _internal_mutable_sources();
5846 }
5847 inline void Environment::set_allocated_sources(::netsim::bellhop::protobuf::Environment_Sources* sources) {
5848  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
5849  if (message_arena == nullptr) {
5850  delete sources_;
5851  }
5852  if (sources) {
5853  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
5854  ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(sources);
5855  if (message_arena != submessage_arena) {
5856  sources = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
5857  message_arena, sources, submessage_arena);
5858  }
5859  _has_bits_[0] |= 0x00000010u;
5860  } else {
5861  _has_bits_[0] &= ~0x00000010u;
5862  }
5863  sources_ = sources;
5864  // @@protoc_insertion_point(field_set_allocated:netsim.bellhop.protobuf.Environment.sources)
5865 }
5866 
5867 // optional .netsim.bellhop.protobuf.Environment.Receivers receivers = 8 [(.goby.field) = {
5868 inline bool Environment::_internal_has_receivers() const {
5869  bool value = (_has_bits_[0] & 0x00000020u) != 0;
5870  PROTOBUF_ASSUME(!value || receivers_ != nullptr);
5871  return value;
5872 }
5873 inline bool Environment::has_receivers() const {
5874  return _internal_has_receivers();
5875 }
5876 inline void Environment::clear_receivers() {
5877  if (receivers_ != nullptr) receivers_->Clear();
5878  _has_bits_[0] &= ~0x00000020u;
5879 }
5880 inline const ::netsim::bellhop::protobuf::Environment_Receivers& Environment::_internal_receivers() const {
5881  const ::netsim::bellhop::protobuf::Environment_Receivers* p = receivers_;
5882  return p != nullptr ? *p : *reinterpret_cast<const ::netsim::bellhop::protobuf::Environment_Receivers*>(
5884 }
5885 inline const ::netsim::bellhop::protobuf::Environment_Receivers& Environment::receivers() const {
5886  // @@protoc_insertion_point(field_get:netsim.bellhop.protobuf.Environment.receivers)
5887  return _internal_receivers();
5888 }
5889 inline void Environment::unsafe_arena_set_allocated_receivers(
5890  ::netsim::bellhop::protobuf::Environment_Receivers* receivers) {
5891  if (GetArena() == nullptr) {
5892  delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(receivers_);
5893  }
5894  receivers_ = receivers;
5895  if (receivers) {
5896  _has_bits_[0] |= 0x00000020u;
5897  } else {
5898  _has_bits_[0] &= ~0x00000020u;
5899  }
5900  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:netsim.bellhop.protobuf.Environment.receivers)
5901 }
5902 inline ::netsim::bellhop::protobuf::Environment_Receivers* Environment::release_receivers() {
5903  auto temp = unsafe_arena_release_receivers();
5904  if (GetArena() != nullptr) {
5905  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
5906  }
5907  return temp;
5908 }
5909 inline ::netsim::bellhop::protobuf::Environment_Receivers* Environment::unsafe_arena_release_receivers() {
5910  // @@protoc_insertion_point(field_release:netsim.bellhop.protobuf.Environment.receivers)
5911  _has_bits_[0] &= ~0x00000020u;
5912  ::netsim::bellhop::protobuf::Environment_Receivers* temp = receivers_;
5913  receivers_ = nullptr;
5914  return temp;
5915 }
5916 inline ::netsim::bellhop::protobuf::Environment_Receivers* Environment::_internal_mutable_receivers() {
5917  _has_bits_[0] |= 0x00000020u;
5918  if (receivers_ == nullptr) {
5919  auto* p = CreateMaybeMessage<::netsim::bellhop::protobuf::Environment_Receivers>(GetArena());
5920  receivers_ = p;
5921  }
5922  return receivers_;
5923 }
5924 inline ::netsim::bellhop::protobuf::Environment_Receivers* Environment::mutable_receivers() {
5925  // @@protoc_insertion_point(field_mutable:netsim.bellhop.protobuf.Environment.receivers)
5926  return _internal_mutable_receivers();
5927 }
5928 inline void Environment::set_allocated_receivers(::netsim::bellhop::protobuf::Environment_Receivers* receivers) {
5929  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
5930  if (message_arena == nullptr) {
5931  delete receivers_;
5932  }
5933  if (receivers) {
5934  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
5935  ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(receivers);
5936  if (message_arena != submessage_arena) {
5937  receivers = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
5938  message_arena, receivers, submessage_arena);
5939  }
5940  _has_bits_[0] |= 0x00000020u;
5941  } else {
5942  _has_bits_[0] &= ~0x00000020u;
5943  }
5944  receivers_ = receivers;
5945  // @@protoc_insertion_point(field_set_allocated:netsim.bellhop.protobuf.Environment.receivers)
5946 }
5947 
5948 // optional .netsim.bellhop.protobuf.Environment.Beams beams = 9 [(.goby.field) = {
5949 inline bool Environment::_internal_has_beams() const {
5950  bool value = (_has_bits_[0] & 0x00000040u) != 0;
5951  PROTOBUF_ASSUME(!value || beams_ != nullptr);
5952  return value;
5953 }
5954 inline bool Environment::has_beams() const {
5955  return _internal_has_beams();
5956 }
5957 inline void Environment::clear_beams() {
5958  if (beams_ != nullptr) beams_->Clear();
5959  _has_bits_[0] &= ~0x00000040u;
5960 }
5961 inline const ::netsim::bellhop::protobuf::Environment_Beams& Environment::_internal_beams() const {
5962  const ::netsim::bellhop::protobuf::Environment_Beams* p = beams_;
5963  return p != nullptr ? *p : *reinterpret_cast<const ::netsim::bellhop::protobuf::Environment_Beams*>(
5965 }
5966 inline const ::netsim::bellhop::protobuf::Environment_Beams& Environment::beams() const {
5967  // @@protoc_insertion_point(field_get:netsim.bellhop.protobuf.Environment.beams)
5968  return _internal_beams();
5969 }
5970 inline void Environment::unsafe_arena_set_allocated_beams(
5971  ::netsim::bellhop::protobuf::Environment_Beams* beams) {
5972  if (GetArena() == nullptr) {
5973  delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(beams_);
5974  }
5975  beams_ = beams;
5976  if (beams) {
5977  _has_bits_[0] |= 0x00000040u;
5978  } else {
5979  _has_bits_[0] &= ~0x00000040u;
5980  }
5981  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:netsim.bellhop.protobuf.Environment.beams)
5982 }
5983 inline ::netsim::bellhop::protobuf::Environment_Beams* Environment::release_beams() {
5984  auto temp = unsafe_arena_release_beams();
5985  if (GetArena() != nullptr) {
5986  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
5987  }
5988  return temp;
5989 }
5990 inline ::netsim::bellhop::protobuf::Environment_Beams* Environment::unsafe_arena_release_beams() {
5991  // @@protoc_insertion_point(field_release:netsim.bellhop.protobuf.Environment.beams)
5992  _has_bits_[0] &= ~0x00000040u;
5993  ::netsim::bellhop::protobuf::Environment_Beams* temp = beams_;
5994  beams_ = nullptr;
5995  return temp;
5996 }
5997 inline ::netsim::bellhop::protobuf::Environment_Beams* Environment::_internal_mutable_beams() {
5998  _has_bits_[0] |= 0x00000040u;
5999  if (beams_ == nullptr) {
6000  auto* p = CreateMaybeMessage<::netsim::bellhop::protobuf::Environment_Beams>(GetArena());
6001  beams_ = p;
6002  }
6003  return beams_;
6004 }
6005 inline ::netsim::bellhop::protobuf::Environment_Beams* Environment::mutable_beams() {
6006  // @@protoc_insertion_point(field_mutable:netsim.bellhop.protobuf.Environment.beams)
6007  return _internal_mutable_beams();
6008 }
6009 inline void Environment::set_allocated_beams(::netsim::bellhop::protobuf::Environment_Beams* beams) {
6010  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
6011  if (message_arena == nullptr) {
6012  delete beams_;
6013  }
6014  if (beams) {
6015  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
6016  ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(beams);
6017  if (message_arena != submessage_arena) {
6018  beams = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
6019  message_arena, beams, submessage_arena);
6020  }
6021  _has_bits_[0] |= 0x00000040u;
6022  } else {
6023  _has_bits_[0] &= ~0x00000040u;
6024  }
6025  beams_ = beams;
6026  // @@protoc_insertion_point(field_set_allocated:netsim.bellhop.protobuf.Environment.beams)
6027 }
6028 
6029 // optional .netsim.bellhop.protobuf.Environment.AdaptiveInfo adaptive_info = 100 [(.goby.field) = {
6030 inline bool Environment::_internal_has_adaptive_info() const {
6031  bool value = (_has_bits_[0] & 0x00000080u) != 0;
6032  PROTOBUF_ASSUME(!value || adaptive_info_ != nullptr);
6033  return value;
6034 }
6035 inline bool Environment::has_adaptive_info() const {
6036  return _internal_has_adaptive_info();
6037 }
6038 inline void Environment::clear_adaptive_info() {
6039  if (adaptive_info_ != nullptr) adaptive_info_->Clear();
6040  _has_bits_[0] &= ~0x00000080u;
6041 }
6042 inline const ::netsim::bellhop::protobuf::Environment_AdaptiveInfo& Environment::_internal_adaptive_info() const {
6043  const ::netsim::bellhop::protobuf::Environment_AdaptiveInfo* p = adaptive_info_;
6044  return p != nullptr ? *p : *reinterpret_cast<const ::netsim::bellhop::protobuf::Environment_AdaptiveInfo*>(
6046 }
6047 inline const ::netsim::bellhop::protobuf::Environment_AdaptiveInfo& Environment::adaptive_info() const {
6048  // @@protoc_insertion_point(field_get:netsim.bellhop.protobuf.Environment.adaptive_info)
6049  return _internal_adaptive_info();
6050 }
6051 inline void Environment::unsafe_arena_set_allocated_adaptive_info(
6052  ::netsim::bellhop::protobuf::Environment_AdaptiveInfo* adaptive_info) {
6053  if (GetArena() == nullptr) {
6054  delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(adaptive_info_);
6055  }
6056  adaptive_info_ = adaptive_info;
6057  if (adaptive_info) {
6058  _has_bits_[0] |= 0x00000080u;
6059  } else {
6060  _has_bits_[0] &= ~0x00000080u;
6061  }
6062  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:netsim.bellhop.protobuf.Environment.adaptive_info)
6063 }
6064 inline ::netsim::bellhop::protobuf::Environment_AdaptiveInfo* Environment::release_adaptive_info() {
6065  auto temp = unsafe_arena_release_adaptive_info();
6066  if (GetArena() != nullptr) {
6067  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
6068  }
6069  return temp;
6070 }
6071 inline ::netsim::bellhop::protobuf::Environment_AdaptiveInfo* Environment::unsafe_arena_release_adaptive_info() {
6072  // @@protoc_insertion_point(field_release:netsim.bellhop.protobuf.Environment.adaptive_info)
6073  _has_bits_[0] &= ~0x00000080u;
6074  ::netsim::bellhop::protobuf::Environment_AdaptiveInfo* temp = adaptive_info_;
6075  adaptive_info_ = nullptr;
6076  return temp;
6077 }
6078 inline ::netsim::bellhop::protobuf::Environment_AdaptiveInfo* Environment::_internal_mutable_adaptive_info() {
6079  _has_bits_[0] |= 0x00000080u;
6080  if (adaptive_info_ == nullptr) {
6081  auto* p = CreateMaybeMessage<::netsim::bellhop::protobuf::Environment_AdaptiveInfo>(GetArena());
6082  adaptive_info_ = p;
6083  }
6084  return adaptive_info_;
6085 }
6086 inline ::netsim::bellhop::protobuf::Environment_AdaptiveInfo* Environment::mutable_adaptive_info() {
6087  // @@protoc_insertion_point(field_mutable:netsim.bellhop.protobuf.Environment.adaptive_info)
6088  return _internal_mutable_adaptive_info();
6089 }
6090 inline void Environment::set_allocated_adaptive_info(::netsim::bellhop::protobuf::Environment_AdaptiveInfo* adaptive_info) {
6091  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
6092  if (message_arena == nullptr) {
6093  delete adaptive_info_;
6094  }
6095  if (adaptive_info) {
6096  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
6097  ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(adaptive_info);
6098  if (message_arena != submessage_arena) {
6099  adaptive_info = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
6100  message_arena, adaptive_info, submessage_arena);
6101  }
6102  _has_bits_[0] |= 0x00000080u;
6103  } else {
6104  _has_bits_[0] &= ~0x00000080u;
6105  }
6106  adaptive_info_ = adaptive_info;
6107  // @@protoc_insertion_point(field_set_allocated:netsim.bellhop.protobuf.Environment.adaptive_info)
6108 }
6109 
6110 #ifdef __GNUC__
6111  #pragma GCC diagnostic pop
6112 #endif // __GNUC__
6113 // -------------------------------------------------------------------
6114 
6115 // -------------------------------------------------------------------
6116 
6117 // -------------------------------------------------------------------
6118 
6119 // -------------------------------------------------------------------
6120 
6121 // -------------------------------------------------------------------
6122 
6123 // -------------------------------------------------------------------
6124 
6125 // -------------------------------------------------------------------
6126 
6127 // -------------------------------------------------------------------
6128 
6129 // -------------------------------------------------------------------
6130 
6131 // -------------------------------------------------------------------
6132 
6133 // -------------------------------------------------------------------
6134 
6135 // -------------------------------------------------------------------
6136 
6137 // -------------------------------------------------------------------
6138 
6139 // -------------------------------------------------------------------
6140 
6141 
6142 // @@protoc_insertion_point(namespace_scope)
6143 
6144 } // namespace protobuf
6145 } // namespace bellhop
6146 } // namespace netsim
6147 
6148 PROTOBUF_NAMESPACE_OPEN
6149 
6150 template <> struct is_proto_enum< ::netsim::bellhop::protobuf::Environment_Output_OutputType> : ::std::true_type {};
6151 template <>
6152 inline const EnumDescriptor* GetEnumDescriptor< ::netsim::bellhop::protobuf::Environment_Output_OutputType>() {
6154 }
6155 template <> struct is_proto_enum< ::netsim::bellhop::protobuf::Environment_Medium_Attenuation_Units> : ::std::true_type {};
6156 template <>
6157 inline const EnumDescriptor* GetEnumDescriptor< ::netsim::bellhop::protobuf::Environment_Medium_Attenuation_Units>() {
6159 }
6160 template <> struct is_proto_enum< ::netsim::bellhop::protobuf::Environment_Medium_MediumType> : ::std::true_type {};
6161 template <>
6162 inline const EnumDescriptor* GetEnumDescriptor< ::netsim::bellhop::protobuf::Environment_Medium_MediumType>() {
6164 }
6165 template <> struct is_proto_enum< ::netsim::bellhop::protobuf::Environment_WaterColumn_SSPInterpolation> : ::std::true_type {};
6166 template <>
6167 inline const EnumDescriptor* GetEnumDescriptor< ::netsim::bellhop::protobuf::Environment_WaterColumn_SSPInterpolation>() {
6169 }
6170 template <> struct is_proto_enum< ::netsim::bellhop::protobuf::Environment_Beams_ApproximationType> : ::std::true_type {};
6171 template <>
6172 inline const EnumDescriptor* GetEnumDescriptor< ::netsim::bellhop::protobuf::Environment_Beams_ApproximationType>() {
6174 }
6175 
6176 PROTOBUF_NAMESPACE_CLOSE
6177 
6178 // @@protoc_insertion_point(global_scope)
6179 
6180 #include <google/protobuf/port_undef.inc>
6181 #endif // GOOGLE_PROTOBUF_INCLUDED_GOOGLE_PROTOBUF_INCLUDED_netsim_2facousticstoolbox_2fenvironment_2eproto
::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::netsim::bellhop::protobuf::Environment_WaterColumn_SSPSample > * mutable_sample()
static const Environment_Sources * internal_default_instance()
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< double > & eof_coef() const
void Swap(Environment_Receivers *other)
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * SSPInterpolation_descriptor()
void UnsafeArenaSwap(Environment_Output *other)
void set_number_in_depth(::PROTOBUF_NAMESPACE_ID::uint32 value)
::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::netsim::bellhop::protobuf::Environment_Medium_RCSample > * mutable_rc_sample()
static const std::string & Units_Name(T enum_t_value)
void CopyFrom(const Environment_Medium_RCSample &from)
::netsim::bellhop::protobuf::Environment_Sources_SourcePosition * unsafe_arena_release_first()
Environment_AdaptiveInfo(::PROTOBUF_NAMESPACE_ID::Arena *arena)
Environment(::PROTOBUF_NAMESPACE_ID::Arena *arena)
Environment_Medium_RCSample(const Environment_Medium_RCSample &from)
::netsim::bellhop::protobuf::Environment_Medium_Attenuation * release_attenuation()
Environment_WaterColumn_SSPSample(const Environment_WaterColumn_SSPSample &from)
::netsim::bellhop::protobuf::Environment_WaterColumn * mutable_water_column(int index)
const ::netsim::bellhop::protobuf::Environment_Medium_RCSample & rc_sample(int index) const
void unsafe_arena_set_allocated_first(::netsim::bellhop::protobuf::Environment_Sources_SourcePosition *first)
friend void swap(Environment_Surface &a, Environment_Surface &b)
Environment_WaterColumn * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
void MergeFrom(const Environment_Receivers_ReceiverPosition &from)
void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message &from) final
Environment_AdaptiveInfo(const Environment_AdaptiveInfo &from)
Environment_Medium * New() const final
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
::netsim::bellhop::protobuf::Environment_WaterColumn * add_water_column()
Environment_Receivers * New() const final
friend void swap(Environment_Medium_RCSample &a, Environment_Medium_RCSample &b)
void set_contact(std::string &&value)
static const Environment_Bottom * internal_default_instance()
void CopyFrom(const Environment_Receivers_ReceiverPosition &from)
const ::netsim::bellhop::protobuf::Environment_Medium & medium() const
Environment * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Environment_Beams_ApproximationType ApproximationType
static bool OutputType_Parse(const std::string &name, OutputType *value)
Environment_Medium(::PROTOBUF_NAMESPACE_ID::Arena *arena)
static bool SSPInterpolation_IsValid(int value)
void unsafe_arena_set_allocated_last(::netsim::bellhop::protobuf::Environment_Sources_SourcePosition *last)
static const Environment_Medium & default_instance()
void set_allocated_first(::netsim::bellhop::protobuf::Environment_Sources_SourcePosition *first)
Environment_Output & operator=(Environment_Output &&from) noexcept
Environment_WaterColumn & operator=(Environment_WaterColumn &&from) noexcept
void MergeFrom(const Environment_Bottom &from)
void Swap(Environment_WaterColumn_SSPSample *other)
void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message &from) final
void CopyFrom(const Environment_WaterColumn_SSPSample &from)
::netsim::bellhop::protobuf::Environment_WaterColumn_SSPInterpolation interpolation_type() const
void CopyFrom(const Environment_Beams &from)
static const Environment_Receivers_ReceiverPosition * internal_default_instance()
Environment_Surface * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
void set_theta_max(::PROTOBUF_NAMESPACE_ID::int32 value)
void UnsafeArenaSwap(Environment_Medium *other)
Environment_Output(Environment_Output &&from) noexcept
Environment_Surface * New() const final
friend void swap(Environment_Medium_Attenuation &a, Environment_Medium_Attenuation &b)
::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::netsim::bellhop::protobuf::Environment_WaterColumn > * mutable_water_column()
void CopyFrom(const Environment_Output &from)
Environment_Receivers(::PROTOBUF_NAMESPACE_ID::Arena *arena)
::netsim::bellhop::protobuf::Environment_Medium_RCSample * add_rc_sample()
::netsim::bellhop::protobuf::Environment_Receivers_ReceiverPosition * release_first()
void CopyFrom(const Environment_Sources_SourcePosition &from)
::netsim::bellhop::protobuf::Environment_Medium_Attenuation * mutable_attenuation()
static const Environment_Beams & default_instance()
friend void swap(Environment_Medium &a, Environment_Medium &b)
void UnsafeArenaSwap(Environment_Receivers_ReceiverPosition *other)
const ::netsim::bellhop::protobuf::Environment_WaterColumn_SSPSample & sample(int index) const
::netsim::bellhop::protobuf::Environment_Sources_SourcePosition * release_first()
Environment_WaterColumn(const Environment_WaterColumn &from)
void Swap(Environment_Surface *other)
static const Environment_Receivers * internal_default_instance()
::netsim::bellhop::protobuf::Environment_Receivers_ReceiverPosition * unsafe_arena_release_last()
friend void swap(Environment_Beams &a, Environment_Beams &b)
::netsim::bellhop::protobuf::Environment_Medium_Attenuation * unsafe_arena_release_attenuation()
void set_number_in_range(::PROTOBUF_NAMESPACE_ID::uint32 value)
void set_allocated_last(::netsim::bellhop::protobuf::Environment_Receivers_ReceiverPosition *last)
Environment_Receivers_ReceiverPosition & operator=(const Environment_Receivers_ReceiverPosition &from)
void UnsafeArenaSwap(Environment_Medium_RCSample *other)
void UnsafeArenaSwap(Environment_Sources_SourcePosition *other)
Environment_Sources(const Environment_Sources &from)
void Swap(Environment_Medium_RCSample *other)
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * MediumType_descriptor()
Environment_Medium_RCSample * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Environment_Output * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
void MergeFrom(const Environment_WaterColumn &from)
Environment_Beams(::PROTOBUF_NAMESPACE_ID::Arena *arena)
Environment_Sources * New() const final
void set_allocated_title(std::string *title)
Environment_Medium_RCSample * New() const final
const ::netsim::bellhop::protobuf::Environment_Receivers_ReceiverPosition & first() const
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
::netsim::bellhop::protobuf::Environment_Receivers_ReceiverPosition * mutable_last()
Environment_Surface(const Environment_Surface &from)
Environment_Receivers_ReceiverPosition(::PROTOBUF_NAMESPACE_ID::Arena *arena)
void MergeFrom(const Environment_Medium_RCSample &from)
Environment_Output_OutputType OutputType
Environment_Receivers_ReceiverPosition * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
void set_contact(const char *value, size_t size)
Environment_WaterColumn(Environment_WaterColumn &&from) noexcept
static const Environment_Bottom & default_instance()
Environment_Medium_RCSample RCSample
void Swap(Environment_Medium_Attenuation *other)
Environment_Receivers(const Environment_Receivers &from)
friend void swap(Environment_Bottom &a, Environment_Bottom &b)
::PROTOBUF_NAMESPACE_ID::uint32 number() const
Environment_Receivers_ReceiverPosition & operator=(Environment_Receivers_ReceiverPosition &&from) noexcept
Environment_Bottom * New() const final
void Swap(Environment_AdaptiveInfo *other)
Environment_AdaptiveInfo & operator=(Environment_AdaptiveInfo &&from) noexcept
Environment_Sources(Environment_Sources &&from) noexcept
static const std::string & MediumType_Name(T enum_t_value)
Environment_Beams & operator=(Environment_Beams &&from) noexcept
void UnsafeArenaSwap(Environment_Receivers *other)
Environment_Medium_Attenuation Attenuation
Environment_Beams & operator=(const Environment_Beams &from)
static bool ApproximationType_IsValid(int value)
Environment_Sources_SourcePosition * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
void Swap(Environment_Output *other)
Environment_Receivers_ReceiverPosition ReceiverPosition
void MergeFrom(const Environment &from)
::netsim::bellhop::protobuf::Environment_Medium_Attenuation_Units units() const
Environment_Sources(::PROTOBUF_NAMESPACE_ID::Arena *arena)
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * Units_descriptor()
::PROTOBUF_NAMESPACE_ID::uint32 number_in_range() const
Environment_AdaptiveInfo * New() const final
Environment_Medium(Environment_Medium &&from) noexcept
inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet * mutable_unknown_fields()
friend void swap(Environment_Receivers_ReceiverPosition &a, Environment_Receivers_ReceiverPosition &b)
Environment_WaterColumn_SSPSample & operator=(Environment_WaterColumn_SSPSample &&from) noexcept
Environment_Receivers & operator=(Environment_Receivers &&from) noexcept
static const Environment & default_instance()
void unsafe_arena_set_allocated_last(::netsim::bellhop::protobuf::Environment_Receivers_ReceiverPosition *last)
void set_title(std::string &&value)
::PROTOBUF_NAMESPACE_ID::int32 theta_max() const
::netsim::bellhop::protobuf::Environment_Medium * mutable_medium()
::netsim::bellhop::protobuf::Environment_Sources_SourcePosition * release_last()
void Swap(Environment_WaterColumn *other)
Environment_Medium_RCSample & operator=(const Environment_Medium_RCSample &from)
Environment_Sources_SourcePosition * New() const final
static const Environment_Receivers_ReceiverPosition & default_instance()
Environment_Medium(const Environment_Medium &from)
Environment_WaterColumn_SSPSample SSPSample
static const Environment_WaterColumn & default_instance()
void Swap(Environment_Beams *other)
void MergeFrom(const Environment_Output &from)
Environment_Medium_Attenuation * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
static const Environment_Medium_Attenuation & default_instance()
friend void swap(Environment_Output &a, Environment_Output &b)
static const Environment_Medium_Attenuation * internal_default_instance()
Environment_Surface & operator=(Environment_Surface &&from) noexcept
Environment_WaterColumn & operator=(const Environment_WaterColumn &from)
static bool MediumType_Parse(const std::string &name, MediumType *value)
static bool Units_Parse(const std::string &name, Units *value)
void UnsafeArenaSwap(Environment_Beams *other)
::netsim::bellhop::protobuf::Environment_Medium_RCSample * mutable_rc_sample(int index)
::netsim::bellhop::protobuf::Environment_Medium * unsafe_arena_release_medium()
Environment & operator=(const Environment &from)
Environment_Medium_Attenuation & operator=(Environment_Medium_Attenuation &&from) noexcept
const ::netsim::bellhop::protobuf::Environment_Sources_SourcePosition & first() const
void set_theta_min(::PROTOBUF_NAMESPACE_ID::int32 value)
void Swap(Environment_Receivers_ReceiverPosition *other)
void set_allocated_attenuation(::netsim::bellhop::protobuf::Environment_Medium_Attenuation *attenuation)
Environment_AdaptiveInfo(Environment_AdaptiveInfo &&from) noexcept
static const Environment_Medium_RCSample * internal_default_instance()
void MergeFrom(const Environment_Beams &from)
void unsafe_arena_set_allocated_medium(::netsim::bellhop::protobuf::Environment_Medium *medium)
Environment_Medium * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
void MergeFrom(const Environment_AdaptiveInfo &from)
void unsafe_arena_set_allocated_first(::netsim::bellhop::protobuf::Environment_Receivers_ReceiverPosition *first)
::PROTOBUF_NAMESPACE_ID::int32 theta_min() const
friend void swap(Environment_AdaptiveInfo &a, Environment_AdaptiveInfo &b)
void set_eof(int index, double value)
friend void swap(Environment_Sources &a, Environment_Sources &b)
Environment_Sources_SourcePosition(Environment_Sources_SourcePosition &&from) noexcept
static const Environment_AdaptiveInfo * internal_default_instance()
static bool SSPInterpolation_Parse(const std::string &name, SSPInterpolation *value)
void set_allocated_medium(::netsim::bellhop::protobuf::Environment_Medium *medium)
static const Environment_WaterColumn * internal_default_instance()
static const std::string & SSPInterpolation_Name(T enum_t_value)
Environment_Sources * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
void CopyFrom(const Environment_AdaptiveInfo &from)
void Swap(Environment_Medium *other)
::netsim::bellhop::protobuf::Environment_Sources_SourcePosition * unsafe_arena_release_last()
static const Environment_AdaptiveInfo & default_instance()
const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet & unknown_fields() const
void UnsafeArenaSwap(Environment_Medium_Attenuation *other)
void set_eof_coef(int index, double value)
Environment_Beams * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Environment_Receivers_ReceiverPosition * New() const final
void UnsafeArenaSwap(Environment_AdaptiveInfo *other)
::netsim::bellhop::protobuf::Environment_Receivers_ReceiverPosition * unsafe_arena_release_first()
static const Environment_Medium * internal_default_instance()
const ::netsim::bellhop::protobuf::Environment_Sources_SourcePosition & last() const
Environment_WaterColumn_SSPSample(::PROTOBUF_NAMESPACE_ID::Arena *arena)
void UnsafeArenaSwap(Environment_Sources *other)
void Swap(Environment_Sources_SourcePosition *other)
Environment_Bottom(Environment_Bottom &&from) noexcept
static const Environment_WaterColumn_SSPSample & default_instance()
static const Environment_Sources_SourcePosition & default_instance()
Environment_Medium_Attenuation(Environment_Medium_Attenuation &&from) noexcept
Environment_Receivers_ReceiverPosition(const Environment_Receivers_ReceiverPosition &from)
Environment_WaterColumn_SSPSample * New() const final
::netsim::bellhop::protobuf::Environment_WaterColumn_SSPSample * add_sample()
static const std::string & OutputType_Name(T enum_t_value)
static const Environment_Output * internal_default_instance()
void MergeFrom(const Environment_Surface &from)
Environment_Output(const Environment_Output &from)
Environment_Sources_SourcePosition(::PROTOBUF_NAMESPACE_ID::Arena *arena)
void MergeFrom(const Environment_Sources &from)
void Swap(Environment_Bottom *other)
void CopyFrom(const Environment_Bottom &from)
Environment(const Environment &from)
void MergeFrom(const Environment_Medium &from)
static const Environment * internal_default_instance()
::netsim::bellhop::protobuf::Environment_WaterColumn_SSPSample * mutable_sample(int index)
static const Environment_Output & default_instance()
void MergeFrom(const Environment_WaterColumn_SSPSample &from)
friend void swap(Environment_Receivers &a, Environment_Receivers &b)
friend void swap(Environment_Sources_SourcePosition &a, Environment_Sources_SourcePosition &b)
static bool ApproximationType_Parse(const std::string &name, ApproximationType *value)
Environment_Bottom(const Environment_Bottom &from)
::PROTOBUF_NAMESPACE_ID::RepeatedField< double > * mutable_eof_coef()
Environment_Medium_RCSample & operator=(Environment_Medium_RCSample &&from) noexcept
Environment_Beams(Environment_Beams &&from) noexcept
void UnsafeArenaSwap(Environment_Bottom *other)
::netsim::bellhop::protobuf::Environment_Sources_SourcePosition * mutable_first()
Environment_Medium_Attenuation_Units Units
void set_units(::netsim::bellhop::protobuf::Environment_Medium_Attenuation_Units value)
Environment_Sources_SourcePosition & operator=(Environment_Sources_SourcePosition &&from) noexcept
::PROTOBUF_NAMESPACE_ID::uint32 number_in_depth() const
void MergeFrom(const Environment_Sources_SourcePosition &from)
Environment_Surface(Environment_Surface &&from) noexcept
void set_contact(const std::string &value)
Environment_WaterColumn_SSPSample(Environment_WaterColumn_SSPSample &&from) noexcept
Environment_Receivers & operator=(const Environment_Receivers &from)
Environment_WaterColumn_SSPSample * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Environment_Medium_MediumType MediumType
friend void swap(Environment &a, Environment &b)
Environment_WaterColumn * New() const final
Environment_Medium & operator=(Environment_Medium &&from) noexcept
void UnsafeArenaSwap(Environment_WaterColumn_SSPSample *other)
void MergeFrom(const Environment_Receivers &from)
void set_number(::PROTOBUF_NAMESPACE_ID::uint32 value)
Environment_Receivers * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Environment_Output * New() const final
friend void swap(Environment_WaterColumn &a, Environment_WaterColumn &b)
Environment_Receivers_ReceiverPosition(Environment_Receivers_ReceiverPosition &&from) noexcept
Environment_Medium_RCSample(Environment_Medium_RCSample &&from) noexcept
Environment_Medium_Attenuation(::PROTOBUF_NAMESPACE_ID::Arena *arena)
const ::netsim::bellhop::protobuf::Environment_Medium_Attenuation & attenuation() const
Environment_Sources & operator=(Environment_Sources &&from) noexcept
Environment_WaterColumn_SSPSample & operator=(const Environment_WaterColumn_SSPSample &from)
Environment_Medium_RCSample(::PROTOBUF_NAMESPACE_ID::Arena *arena)
void CopyFrom(const Environment_Medium &from)
::netsim::bellhop::protobuf::Environment_Medium * release_medium()
::netsim::bellhop::protobuf::Environment_Medium_MediumType type() const
friend void swap(Environment_WaterColumn_SSPSample &a, Environment_WaterColumn_SSPSample &b)
const ::netsim::bellhop::protobuf::Environment_Receivers_ReceiverPosition & last() const
void set_type(::netsim::bellhop::protobuf::Environment_Medium_MediumType value)
::netsim::bellhop::protobuf::Environment_Beams_ApproximationType approximation_type() const
Environment_Bottom(::PROTOBUF_NAMESPACE_ID::Arena *arena)
Environment_Medium & operator=(const Environment_Medium &from)
void CopyFrom(const Environment_Sources &from)
Environment_Sources & operator=(const Environment_Sources &from)
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
Environment_Bottom & operator=(const Environment_Bottom &from)
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< double > & eof() const
Environment_Bottom & operator=(Environment_Bottom &&from) noexcept
void set_approximation_type(::netsim::bellhop::protobuf::Environment_Beams_ApproximationType value)
Environment & operator=(Environment &&from) noexcept
Environment_Sources_SourcePosition(const Environment_Sources_SourcePosition &from)
void set_allocated_last(::netsim::bellhop::protobuf::Environment_Sources_SourcePosition *last)
::netsim::bellhop::protobuf::Environment_Receivers_ReceiverPosition * mutable_first()
Environment_Sources_SourcePosition & operator=(const Environment_Sources_SourcePosition &from)
Environment_Sources_SourcePosition SourcePosition
Environment_WaterColumn_SSPInterpolation SSPInterpolation
Environment_Beams(const Environment_Beams &from)
::PROTOBUF_NAMESPACE_ID::RepeatedField< double > * mutable_eof()
::netsim::bellhop::protobuf::Environment_Output_OutputType type() const
const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::netsim::bellhop::protobuf::Environment_WaterColumn > & water_column() const
static const std::string & ApproximationType_Name(T enum_t_value)
static const Environment_Surface * internal_default_instance()
Environment_Output(::PROTOBUF_NAMESPACE_ID::Arena *arena)
Environment_AdaptiveInfo * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
::netsim::bellhop::protobuf::Environment_Sources_SourcePosition * mutable_last()
Environment_Receivers(Environment_Receivers &&from) noexcept
void set_title(const std::string &value)
Environment_Bottom * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
void UnsafeArenaSwap(Environment_WaterColumn *other)
static const Environment_Medium_RCSample & default_instance()
::netsim::bellhop::protobuf::Environment_Receivers_ReceiverPosition * release_last()
void set_allocated_first(::netsim::bellhop::protobuf::Environment_Receivers_ReceiverPosition *first)
Environment_Surface(::PROTOBUF_NAMESPACE_ID::Arena *arena)
void CopyFrom(const Environment_WaterColumn &from)
Environment_Medium_Attenuation & operator=(const Environment_Medium_Attenuation &from)
const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::netsim::bellhop::protobuf::Environment_WaterColumn_SSPSample > & sample() const
void MergeFrom(const Environment_Medium_Attenuation &from)
void UnsafeArenaSwap(Environment_Surface *other)
void CopyFrom(const Environment_Surface &from)
static const Environment_Sources_SourcePosition * internal_default_instance()
void Swap(Environment_Sources *other)
void CopyFrom(const Environment_Medium_Attenuation &from)
const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::netsim::bellhop::protobuf::Environment_Medium_RCSample > & rc_sample() const
Environment(Environment &&from) noexcept
static const Environment_Surface & default_instance()
static const Environment_Receivers & default_instance()
void CopyFrom(const Environment_Receivers &from)
Environment_Medium_Attenuation(const Environment_Medium_Attenuation &from)
static const Environment_WaterColumn_SSPSample * internal_default_instance()
Environment_AdaptiveInfo & operator=(const Environment_AdaptiveInfo &from)
void CopyFrom(const Environment &from)
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * OutputType_descriptor()
void set_allocated_contact(std::string *contact)
void set_type(::netsim::bellhop::protobuf::Environment_Output_OutputType value)
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
void unsafe_arena_set_allocated_attenuation(::netsim::bellhop::protobuf::Environment_Medium_Attenuation *attenuation)
Environment_WaterColumn(::PROTOBUF_NAMESPACE_ID::Arena *arena)
Environment_Medium_Attenuation * New() const final
Environment_Surface & operator=(const Environment_Surface &from)
static const Environment_Sources & default_instance()
static const Environment_Beams * internal_default_instance()
void set_title(const char *value, size_t size)
Environment_Output & operator=(const Environment_Output &from)
const std::string & title() const
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * ApproximationType_descriptor()
Environment_Beams * New() const final
void set_interpolation_type(::netsim::bellhop::protobuf::Environment_WaterColumn_SSPInterpolation value)
const std::string & contact() const
const ::netsim::bellhop::protobuf::Environment_WaterColumn & water_column(int index) const
const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_netsim_2facousticstoolbox_2fenvironment_2eproto
Environment_BeamsDefaultTypeInternal _Environment_Beams_default_instance_
constexpr int Environment_Medium_MediumType_MediumType_ARRAYSIZE
Environment_ReceiversDefaultTypeInternal _Environment_Receivers_default_instance_
Environment_AdaptiveInfoDefaultTypeInternal _Environment_AdaptiveInfo_default_instance_
Environment_Sources_SourcePositionDefaultTypeInternal _Environment_Sources_SourcePosition_default_instance_
constexpr Environment_Output_OutputType Environment_Output_OutputType_OutputType_MAX
const std::string & Environment_Beams_ApproximationType_Name(T enum_t_value)
constexpr Environment_Beams_ApproximationType Environment_Beams_ApproximationType_ApproximationType_MIN
Environment_WaterColumn_SSPSampleDefaultTypeInternal _Environment_WaterColumn_SSPSample_default_instance_
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * Environment_Medium_MediumType_descriptor()
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * Environment_Output_OutputType_descriptor()
constexpr int Environment_Medium_Attenuation_Units_Units_ARRAYSIZE
Environment_OutputDefaultTypeInternal _Environment_Output_default_instance_
const std::string & Environment_Medium_MediumType_Name(T enum_t_value)
const std::string & Environment_WaterColumn_SSPInterpolation_Name(T enum_t_value)
const std::string & Environment_Output_OutputType_Name(T enum_t_value)
bool Environment_Medium_Attenuation_Units_Parse(const std::string &name, Environment_Medium_Attenuation_Units *value)
Environment_SurfaceDefaultTypeInternal _Environment_Surface_default_instance_
constexpr Environment_Medium_MediumType Environment_Medium_MediumType_MediumType_MIN
bool Environment_Beams_ApproximationType_Parse(const std::string &name, Environment_Beams_ApproximationType *value)
constexpr Environment_Output_OutputType Environment_Output_OutputType_OutputType_MIN
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * Environment_WaterColumn_SSPInterpolation_descriptor()
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * Environment_Medium_Attenuation_Units_descriptor()
Environment_WaterColumnDefaultTypeInternal _Environment_WaterColumn_default_instance_
constexpr Environment_Medium_Attenuation_Units Environment_Medium_Attenuation_Units_Units_MIN
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * Environment_Beams_ApproximationType_descriptor()
Environment_MediumDefaultTypeInternal _Environment_Medium_default_instance_
bool Environment_WaterColumn_SSPInterpolation_Parse(const std::string &name, Environment_WaterColumn_SSPInterpolation *value)
constexpr Environment_WaterColumn_SSPInterpolation Environment_WaterColumn_SSPInterpolation_SSPInterpolation_MAX
constexpr Environment_Medium_MediumType Environment_Medium_MediumType_MediumType_MAX
Environment_Medium_AttenuationDefaultTypeInternal _Environment_Medium_Attenuation_default_instance_
constexpr Environment_Beams_ApproximationType Environment_Beams_ApproximationType_ApproximationType_MAX
bool Environment_Medium_MediumType_IsValid(int value)
Environment_SourcesDefaultTypeInternal _Environment_Sources_default_instance_
const std::string & Environment_Medium_Attenuation_Units_Name(T enum_t_value)
bool Environment_Output_OutputType_IsValid(int value)
bool Environment_Medium_MediumType_Parse(const std::string &name, Environment_Medium_MediumType *value)
bool Environment_Output_OutputType_Parse(const std::string &name, Environment_Output_OutputType *value)
constexpr Environment_Medium_Attenuation_Units Environment_Medium_Attenuation_Units_Units_MAX
constexpr int Environment_Output_OutputType_OutputType_ARRAYSIZE
@ Environment_WaterColumn_SSPInterpolation_CUBIC_SPLINE
bool Environment_Medium_Attenuation_Units_IsValid(int value)
EnvironmentDefaultTypeInternal _Environment_default_instance_
Environment_BottomDefaultTypeInternal _Environment_Bottom_default_instance_
constexpr int Environment_WaterColumn_SSPInterpolation_SSPInterpolation_ARRAYSIZE
Environment_Medium_RCSampleDefaultTypeInternal _Environment_Medium_RCSample_default_instance_
bool Environment_WaterColumn_SSPInterpolation_IsValid(int value)
constexpr int Environment_Beams_ApproximationType_ApproximationType_ARRAYSIZE
@ Environment_Medium_Attenuation_Units_DB_PER_WAVELENGTH
@ Environment_Medium_MediumType_REFLECTION_COEFFICIENT
constexpr Environment_WaterColumn_SSPInterpolation Environment_WaterColumn_SSPInterpolation_SSPInterpolation_MIN
bool Environment_Beams_ApproximationType_IsValid(int value)
Environment_Receivers_ReceiverPositionDefaultTypeInternal _Environment_Receivers_ReceiverPosition_default_instance_
static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[]
static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[]
static const ::PROTOBUF_NAMESPACE_ID::internal::AuxillaryParseTableField aux[] PROTOBUF_SECTION_VARIABLE(protodesc_cold)
static const ::PROTOBUF_NAMESPACE_ID::uint32 offsets[]
static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTableField entries[] PROTOBUF_SECTION_VARIABLE(protodesc_cold)
static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[15] PROTOBUF_SECTION_VARIABLE(protodesc_cold)