Goby v2
node_status.pb.h
1 // Generated by the protocol buffer compiler. DO NOT EDIT!
2 // source: goby/moos/protobuf/node_status.proto
3 
4 #ifndef PROTOBUF_goby_2fmoos_2fprotobuf_2fnode_5fstatus_2eproto__INCLUDED
5 #define PROTOBUF_goby_2fmoos_2fprotobuf_2fnode_5fstatus_2eproto__INCLUDED
6 
7 #include <string>
8 
9 #include <google/protobuf/stubs/common.h>
10 
11 #if GOOGLE_PROTOBUF_VERSION < 2006000
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 2006001 < GOOGLE_PROTOBUF_MIN_PROTOC_VERSION
17 #error This file was generated by an older version of protoc which is
18 #error incompatible with your Protocol Buffer headers. Please
19 #error regenerate this file with a newer version of protoc.
20 #endif
21 
22 #include <google/protobuf/generated_message_util.h>
23 #include <google/protobuf/message.h>
24 #include <google/protobuf/repeated_field.h>
25 #include <google/protobuf/extension_set.h>
26 #include <google/protobuf/generated_enum_reflection.h>
27 #include <google/protobuf/unknown_field_set.h>
28 #include "dccl/option_extensions.pb.h"
29 #include <boost/units/quantity.hpp>
30 #include <boost/units/absolute.hpp>
31 #include <boost/units/dimensionless_type.hpp>
32 #include <boost/units/make_scaled_unit.hpp>
33 
34 #include <boost/units/systems/angle/degrees.hpp>
35 
36 #include <boost/units/systems/si.hpp>
37 // @@protoc_insertion_point(includes)
38 
39 namespace goby {
40 namespace moos {
41 namespace protobuf {
42 
43 // Internal implementation detail -- do not call these.
44 void protobuf_AddDesc_goby_2fmoos_2fprotobuf_2fnode_5fstatus_2eproto();
45 void protobuf_AssignDesc_goby_2fmoos_2fprotobuf_2fnode_5fstatus_2eproto();
46 void protobuf_ShutdownFile_goby_2fmoos_2fprotobuf_2fnode_5fstatus_2eproto();
47 
48 class NodeStatus;
49 class GeodeticCoordinate;
50 class CartesianCoordinate;
51 class EulerAngles;
52 
53 enum VehicleType {
54  UNKNOWN = 0,
55  AUV = 1,
56  USV = 2,
57  SHIP = 3,
58  GLIDER = 4,
59  TARGET = 5,
60  BUOY = 6,
61  OTHER = -1
62 };
63 bool VehicleType_IsValid(int value);
64 const VehicleType VehicleType_MIN = OTHER;
65 const VehicleType VehicleType_MAX = BUOY;
66 const int VehicleType_ARRAYSIZE = VehicleType_MAX + 1;
67 
68 const ::google::protobuf::EnumDescriptor* VehicleType_descriptor();
69 inline const ::std::string& VehicleType_Name(VehicleType value) {
70  return ::google::protobuf::internal::NameOfEnum(
71  VehicleType_descriptor(), value);
72 }
73 inline bool VehicleType_Parse(
74  const ::std::string& name, VehicleType* value) {
75  return ::google::protobuf::internal::ParseNamedEnum<VehicleType>(
76  VehicleType_descriptor(), name, value);
77 }
78 enum SourceSensor {
79  SOURCE_UNKNOWN = 0,
80  GPS = 1,
81  DEAD_RECKONING = 2,
82  INERTIAL_MEASUREMENT_UNIT = 3,
83  PRESSURE_SENSOR = 4,
84  COMPASS = 5,
85  SIMULATION = 6
86 };
87 bool SourceSensor_IsValid(int value);
88 const SourceSensor SourceSensor_MIN = SOURCE_UNKNOWN;
89 const SourceSensor SourceSensor_MAX = SIMULATION;
90 const int SourceSensor_ARRAYSIZE = SourceSensor_MAX + 1;
91 
92 const ::google::protobuf::EnumDescriptor* SourceSensor_descriptor();
93 inline const ::std::string& SourceSensor_Name(SourceSensor value) {
94  return ::google::protobuf::internal::NameOfEnum(
95  SourceSensor_descriptor(), value);
96 }
97 inline bool SourceSensor_Parse(
98  const ::std::string& name, SourceSensor* value) {
99  return ::google::protobuf::internal::ParseNamedEnum<SourceSensor>(
100  SourceSensor_descriptor(), name, value);
101 }
102 // ===================================================================
103 
104 class NodeStatus : public ::google::protobuf::Message {
105  public:
106  NodeStatus();
107  virtual ~NodeStatus();
108 
109  NodeStatus(const NodeStatus& from);
110 
111  inline NodeStatus& operator=(const NodeStatus& from) {
112  CopyFrom(from);
113  return *this;
114  }
115 
116  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
117  return _unknown_fields_;
118  }
119 
120  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
121  return &_unknown_fields_;
122  }
123 
124  static const ::google::protobuf::Descriptor* descriptor();
125  static const NodeStatus& default_instance();
126 
127  void Swap(NodeStatus* other);
128 
129  // implements Message ----------------------------------------------
130 
131  NodeStatus* New() const;
132  void CopyFrom(const ::google::protobuf::Message& from);
133  void MergeFrom(const ::google::protobuf::Message& from);
134  void CopyFrom(const NodeStatus& from);
135  void MergeFrom(const NodeStatus& from);
136  void Clear();
137  bool IsInitialized() const;
138 
139  int ByteSize() const;
140  bool MergePartialFromCodedStream(
141  ::google::protobuf::io::CodedInputStream* input);
142  void SerializeWithCachedSizes(
143  ::google::protobuf::io::CodedOutputStream* output) const;
144  ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
145  int GetCachedSize() const { return _cached_size_; }
146  private:
147  void SharedCtor();
148  void SharedDtor();
149  void SetCachedSize(int size) const;
150  public:
151  ::google::protobuf::Metadata GetMetadata() const;
152 
153  // nested types ----------------------------------------------------
154 
155  // accessors -------------------------------------------------------
156 
157  // required double time = 1;
158  inline bool has_time() const;
159  inline void clear_time();
160  static const int kTimeFieldNumber = 1;
161  inline double time() const;
162  inline void set_time(double value);
163 
164  // optional string name = 2;
165  inline bool has_name() const;
166  inline void clear_name();
167  static const int kNameFieldNumber = 2;
168  inline const ::std::string& name() const;
169  inline void set_name(const ::std::string& value);
170  inline void set_name(const char* value);
171  inline void set_name(const char* value, size_t size);
172  inline ::std::string* mutable_name();
173  inline ::std::string* release_name();
174  inline void set_allocated_name(::std::string* name);
175 
176  // optional uint32 modem_id = 12;
177  inline bool has_modem_id() const;
178  inline void clear_modem_id();
179  static const int kModemIdFieldNumber = 12;
180  inline ::google::protobuf::uint32 modem_id() const;
181  inline void set_modem_id(::google::protobuf::uint32 value);
182 
183  // optional .goby.moos.protobuf.VehicleType type = 3;
184  inline bool has_type() const;
185  inline void clear_type();
186  static const int kTypeFieldNumber = 3;
187  inline ::goby::moos::protobuf::VehicleType type() const;
188  inline void set_type(::goby::moos::protobuf::VehicleType value);
189 
190  // required .goby.moos.protobuf.GeodeticCoordinate global_fix = 4;
191  inline bool has_global_fix() const;
192  inline void clear_global_fix();
193  static const int kGlobalFixFieldNumber = 4;
194  inline const ::goby::moos::protobuf::GeodeticCoordinate& global_fix() const;
195  inline ::goby::moos::protobuf::GeodeticCoordinate* mutable_global_fix();
196  inline ::goby::moos::protobuf::GeodeticCoordinate* release_global_fix();
197  inline void set_allocated_global_fix(::goby::moos::protobuf::GeodeticCoordinate* global_fix);
198 
199  // required .goby.moos.protobuf.CartesianCoordinate local_fix = 5;
200  inline bool has_local_fix() const;
201  inline void clear_local_fix();
202  static const int kLocalFixFieldNumber = 5;
203  inline const ::goby::moos::protobuf::CartesianCoordinate& local_fix() const;
204  inline ::goby::moos::protobuf::CartesianCoordinate* mutable_local_fix();
205  inline ::goby::moos::protobuf::CartesianCoordinate* release_local_fix();
206  inline void set_allocated_local_fix(::goby::moos::protobuf::CartesianCoordinate* local_fix);
207 
208  // required .goby.moos.protobuf.EulerAngles pose = 7;
209  inline bool has_pose() const;
210  inline void clear_pose();
211  static const int kPoseFieldNumber = 7;
212  inline const ::goby::moos::protobuf::EulerAngles& pose() const;
213  inline ::goby::moos::protobuf::EulerAngles* mutable_pose();
214  inline ::goby::moos::protobuf::EulerAngles* release_pose();
215  inline void set_allocated_pose(::goby::moos::protobuf::EulerAngles* pose);
216 
217  // required double speed = 8;
218  inline bool has_speed() const;
219  inline void clear_speed();
220  static const int kSpeedFieldNumber = 8;
221  inline double speed() const;
222  inline void set_speed(double value);
223 
224  // optional .goby.moos.protobuf.SourceSensor speed_source = 9 [default = SOURCE_UNKNOWN];
225  inline bool has_speed_source() const;
226  inline void clear_speed_source();
227  static const int kSpeedSourceFieldNumber = 9;
228  inline ::goby::moos::protobuf::SourceSensor speed_source() const;
229  inline void set_speed_source(::goby::moos::protobuf::SourceSensor value);
230 
231  // optional double speed_time_lag = 11;
232  inline bool has_speed_time_lag() const;
233  inline void clear_speed_time_lag();
234  static const int kSpeedTimeLagFieldNumber = 11;
235  inline double speed_time_lag() const;
236  inline void set_speed_time_lag(double value);
237 
238  enum DCCLParameters { DCCL_ID = 20, DCCL_MAX_BYTES = 32 };
239  typedef boost::units::time_dimension time_dimension;
240 
241  typedef boost::units::unit<time_dimension,boost::units::si::system> time_unit;
242 
243  template<typename Quantity >
244  void set_time_with_units(Quantity value_w_units)
245  { set_time(boost::units::quantity<time_unit,double >(value_w_units).value() ); };
246 
247  template<typename Quantity >
248  Quantity time_with_units() const
249  { return Quantity(time() * time_unit()); };
250 
251  boost::units::quantity< time_unit,double > time_with_units() const
252  { return time_with_units<boost::units::quantity< time_unit,double > >(); };
253 
254  typedef boost::mpl::divides<boost::units::length_dimension,boost::units::time_dimension>::type speed_dimension;
255 
256  typedef boost::units::unit<speed_dimension,boost::units::si::system> speed_unit;
257 
258  template<typename Quantity >
259  void set_speed_with_units(Quantity value_w_units)
260  { set_speed(boost::units::quantity<speed_unit,double >(value_w_units).value() ); };
261 
262  template<typename Quantity >
263  Quantity speed_with_units() const
264  { return Quantity(speed() * speed_unit()); };
265 
266  boost::units::quantity< speed_unit,double > speed_with_units() const
267  { return speed_with_units<boost::units::quantity< speed_unit,double > >(); };
268 
269  typedef boost::units::time_dimension speed_time_lag_dimension;
270 
271  typedef boost::units::unit<speed_time_lag_dimension,boost::units::si::system> speed_time_lag_unit;
272 
273  template<typename Quantity >
274  void set_speed_time_lag_with_units(Quantity value_w_units)
275  { set_speed_time_lag(boost::units::quantity<speed_time_lag_unit,double >(value_w_units).value() ); };
276 
277  template<typename Quantity >
278  Quantity speed_time_lag_with_units() const
279  { return Quantity(speed_time_lag() * speed_time_lag_unit()); };
280 
281  boost::units::quantity< speed_time_lag_unit,double > speed_time_lag_with_units() const
282  { return speed_time_lag_with_units<boost::units::quantity< speed_time_lag_unit,double > >(); };
283 
284  // @@protoc_insertion_point(class_scope:goby.moos.protobuf.NodeStatus)
285  private:
286  inline void set_has_time();
287  inline void clear_has_time();
288  inline void set_has_name();
289  inline void clear_has_name();
290  inline void set_has_modem_id();
291  inline void clear_has_modem_id();
292  inline void set_has_type();
293  inline void clear_has_type();
294  inline void set_has_global_fix();
295  inline void clear_has_global_fix();
296  inline void set_has_local_fix();
297  inline void clear_has_local_fix();
298  inline void set_has_pose();
299  inline void clear_has_pose();
300  inline void set_has_speed();
301  inline void clear_has_speed();
302  inline void set_has_speed_source();
303  inline void clear_has_speed_source();
304  inline void set_has_speed_time_lag();
305  inline void clear_has_speed_time_lag();
306 
307  ::google::protobuf::UnknownFieldSet _unknown_fields_;
308 
309  ::google::protobuf::uint32 _has_bits_[1];
310  mutable int _cached_size_;
311  double time_;
312  ::std::string* name_;
313  ::google::protobuf::uint32 modem_id_;
314  int type_;
318  double speed_;
319  double speed_time_lag_;
320  int speed_source_;
321  friend void protobuf_AddDesc_goby_2fmoos_2fprotobuf_2fnode_5fstatus_2eproto();
322  friend void protobuf_AssignDesc_goby_2fmoos_2fprotobuf_2fnode_5fstatus_2eproto();
323  friend void protobuf_ShutdownFile_goby_2fmoos_2fprotobuf_2fnode_5fstatus_2eproto();
324 
325  void InitAsDefaultInstance();
326  static NodeStatus* default_instance_;
327 };
328 // -------------------------------------------------------------------
329 
330 class GeodeticCoordinate : public ::google::protobuf::Message {
331  public:
333  virtual ~GeodeticCoordinate();
334 
336 
337  inline GeodeticCoordinate& operator=(const GeodeticCoordinate& from) {
338  CopyFrom(from);
339  return *this;
340  }
341 
342  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
343  return _unknown_fields_;
344  }
345 
346  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
347  return &_unknown_fields_;
348  }
349 
350  static const ::google::protobuf::Descriptor* descriptor();
351  static const GeodeticCoordinate& default_instance();
352 
353  void Swap(GeodeticCoordinate* other);
354 
355  // implements Message ----------------------------------------------
356 
357  GeodeticCoordinate* New() const;
358  void CopyFrom(const ::google::protobuf::Message& from);
359  void MergeFrom(const ::google::protobuf::Message& from);
360  void CopyFrom(const GeodeticCoordinate& from);
361  void MergeFrom(const GeodeticCoordinate& from);
362  void Clear();
363  bool IsInitialized() const;
364 
365  int ByteSize() const;
366  bool MergePartialFromCodedStream(
367  ::google::protobuf::io::CodedInputStream* input);
368  void SerializeWithCachedSizes(
369  ::google::protobuf::io::CodedOutputStream* output) const;
370  ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
371  int GetCachedSize() const { return _cached_size_; }
372  private:
373  void SharedCtor();
374  void SharedDtor();
375  void SetCachedSize(int size) const;
376  public:
377  ::google::protobuf::Metadata GetMetadata() const;
378 
379  // nested types ----------------------------------------------------
380 
381  // accessors -------------------------------------------------------
382 
383  // optional double lat = 1;
384  inline bool has_lat() const;
385  inline void clear_lat();
386  static const int kLatFieldNumber = 1;
387  inline double lat() const;
388  inline void set_lat(double value);
389 
390  // optional double lon = 2;
391  inline bool has_lon() const;
392  inline void clear_lon();
393  static const int kLonFieldNumber = 2;
394  inline double lon() const;
395  inline void set_lon(double value);
396 
397  // optional double depth = 3 [default = 0];
398  inline bool has_depth() const;
399  inline void clear_depth();
400  static const int kDepthFieldNumber = 3;
401  inline double depth() const;
402  inline void set_depth(double value);
403 
404  // optional double altitude = 4;
405  inline bool has_altitude() const;
406  inline void clear_altitude();
407  static const int kAltitudeFieldNumber = 4;
408  inline double altitude() const;
409  inline void set_altitude(double value);
410 
411  // optional .goby.moos.protobuf.SourceSensor lat_source = 5 [default = SOURCE_UNKNOWN];
412  inline bool has_lat_source() const;
413  inline void clear_lat_source();
414  static const int kLatSourceFieldNumber = 5;
415  inline ::goby::moos::protobuf::SourceSensor lat_source() const;
416  inline void set_lat_source(::goby::moos::protobuf::SourceSensor value);
417 
418  // optional .goby.moos.protobuf.SourceSensor lon_source = 6 [default = SOURCE_UNKNOWN];
419  inline bool has_lon_source() const;
420  inline void clear_lon_source();
421  static const int kLonSourceFieldNumber = 6;
422  inline ::goby::moos::protobuf::SourceSensor lon_source() const;
423  inline void set_lon_source(::goby::moos::protobuf::SourceSensor value);
424 
425  // optional .goby.moos.protobuf.SourceSensor depth_source = 7 [default = SOURCE_UNKNOWN];
426  inline bool has_depth_source() const;
427  inline void clear_depth_source();
428  static const int kDepthSourceFieldNumber = 7;
429  inline ::goby::moos::protobuf::SourceSensor depth_source() const;
430  inline void set_depth_source(::goby::moos::protobuf::SourceSensor value);
431 
432  // optional .goby.moos.protobuf.SourceSensor altitude_source = 8 [default = SOURCE_UNKNOWN];
433  inline bool has_altitude_source() const;
434  inline void clear_altitude_source();
435  static const int kAltitudeSourceFieldNumber = 8;
436  inline ::goby::moos::protobuf::SourceSensor altitude_source() const;
437  inline void set_altitude_source(::goby::moos::protobuf::SourceSensor value);
438 
439  // optional double lat_time_lag = 9;
440  inline bool has_lat_time_lag() const;
441  inline void clear_lat_time_lag();
442  static const int kLatTimeLagFieldNumber = 9;
443  inline double lat_time_lag() const;
444  inline void set_lat_time_lag(double value);
445 
446  // optional double lon_time_lag = 10;
447  inline bool has_lon_time_lag() const;
448  inline void clear_lon_time_lag();
449  static const int kLonTimeLagFieldNumber = 10;
450  inline double lon_time_lag() const;
451  inline void set_lon_time_lag(double value);
452 
453  // optional double depth_time_lag = 11;
454  inline bool has_depth_time_lag() const;
455  inline void clear_depth_time_lag();
456  static const int kDepthTimeLagFieldNumber = 11;
457  inline double depth_time_lag() const;
458  inline void set_depth_time_lag(double value);
459 
460  // optional double altitude_time_lag = 12;
461  inline bool has_altitude_time_lag() const;
462  inline void clear_altitude_time_lag();
463  static const int kAltitudeTimeLagFieldNumber = 12;
464  inline double altitude_time_lag() const;
465  inline void set_altitude_time_lag(double value);
466 
467  typedef boost::units::plane_angle_dimension lat_dimension;
468 
469  typedef boost::units::unit<lat_dimension,boost::units::degree::system> lat_unit;
470 
471  template<typename Quantity >
472  void set_lat_with_units(Quantity value_w_units)
473  { set_lat(boost::units::quantity<lat_unit,double >(value_w_units).value() ); };
474 
475  template<typename Quantity >
476  Quantity lat_with_units() const
477  { return Quantity(lat() * lat_unit()); };
478 
479  boost::units::quantity< lat_unit,double > lat_with_units() const
480  { return lat_with_units<boost::units::quantity< lat_unit,double > >(); };
481 
482  typedef boost::units::plane_angle_dimension lon_dimension;
483 
484  typedef boost::units::unit<lon_dimension,boost::units::degree::system> lon_unit;
485 
486  template<typename Quantity >
487  void set_lon_with_units(Quantity value_w_units)
488  { set_lon(boost::units::quantity<lon_unit,double >(value_w_units).value() ); };
489 
490  template<typename Quantity >
491  Quantity lon_with_units() const
492  { return Quantity(lon() * lon_unit()); };
493 
494  boost::units::quantity< lon_unit,double > lon_with_units() const
495  { return lon_with_units<boost::units::quantity< lon_unit,double > >(); };
496 
497  typedef boost::units::length_dimension depth_dimension;
498 
499  typedef boost::units::unit<depth_dimension,boost::units::si::system> depth_unit;
500 
501  template<typename Quantity >
502  void set_depth_with_units(Quantity value_w_units)
503  { set_depth(boost::units::quantity<depth_unit,double >(value_w_units).value() ); };
504 
505  template<typename Quantity >
506  Quantity depth_with_units() const
507  { return Quantity(depth() * depth_unit()); };
508 
509  boost::units::quantity< depth_unit,double > depth_with_units() const
510  { return depth_with_units<boost::units::quantity< depth_unit,double > >(); };
511 
512  typedef boost::units::length_dimension altitude_dimension;
513 
514  typedef boost::units::unit<altitude_dimension,boost::units::si::system> altitude_unit;
515 
516  template<typename Quantity >
517  void set_altitude_with_units(Quantity value_w_units)
518  { set_altitude(boost::units::quantity<altitude_unit,double >(value_w_units).value() ); };
519 
520  template<typename Quantity >
521  Quantity altitude_with_units() const
522  { return Quantity(altitude() * altitude_unit()); };
523 
524  boost::units::quantity< altitude_unit,double > altitude_with_units() const
525  { return altitude_with_units<boost::units::quantity< altitude_unit,double > >(); };
526 
527  typedef boost::units::time_dimension lat_time_lag_dimension;
528 
529  typedef boost::units::unit<lat_time_lag_dimension,boost::units::si::system> lat_time_lag_unit;
530 
531  template<typename Quantity >
532  void set_lat_time_lag_with_units(Quantity value_w_units)
533  { set_lat_time_lag(boost::units::quantity<lat_time_lag_unit,double >(value_w_units).value() ); };
534 
535  template<typename Quantity >
536  Quantity lat_time_lag_with_units() const
537  { return Quantity(lat_time_lag() * lat_time_lag_unit()); };
538 
539  boost::units::quantity< lat_time_lag_unit,double > lat_time_lag_with_units() const
540  { return lat_time_lag_with_units<boost::units::quantity< lat_time_lag_unit,double > >(); };
541 
542  typedef boost::units::time_dimension lon_time_lag_dimension;
543 
544  typedef boost::units::unit<lon_time_lag_dimension,boost::units::si::system> lon_time_lag_unit;
545 
546  template<typename Quantity >
547  void set_lon_time_lag_with_units(Quantity value_w_units)
548  { set_lon_time_lag(boost::units::quantity<lon_time_lag_unit,double >(value_w_units).value() ); };
549 
550  template<typename Quantity >
551  Quantity lon_time_lag_with_units() const
552  { return Quantity(lon_time_lag() * lon_time_lag_unit()); };
553 
554  boost::units::quantity< lon_time_lag_unit,double > lon_time_lag_with_units() const
555  { return lon_time_lag_with_units<boost::units::quantity< lon_time_lag_unit,double > >(); };
556 
557  typedef boost::units::time_dimension depth_time_lag_dimension;
558 
559  typedef boost::units::unit<depth_time_lag_dimension,boost::units::si::system> depth_time_lag_unit;
560 
561  template<typename Quantity >
562  void set_depth_time_lag_with_units(Quantity value_w_units)
563  { set_depth_time_lag(boost::units::quantity<depth_time_lag_unit,double >(value_w_units).value() ); };
564 
565  template<typename Quantity >
566  Quantity depth_time_lag_with_units() const
567  { return Quantity(depth_time_lag() * depth_time_lag_unit()); };
568 
569  boost::units::quantity< depth_time_lag_unit,double > depth_time_lag_with_units() const
570  { return depth_time_lag_with_units<boost::units::quantity< depth_time_lag_unit,double > >(); };
571 
572  typedef boost::units::time_dimension altitude_time_lag_dimension;
573 
574  typedef boost::units::unit<altitude_time_lag_dimension,boost::units::si::system> altitude_time_lag_unit;
575 
576  template<typename Quantity >
577  void set_altitude_time_lag_with_units(Quantity value_w_units)
578  { set_altitude_time_lag(boost::units::quantity<altitude_time_lag_unit,double >(value_w_units).value() ); };
579 
580  template<typename Quantity >
581  Quantity altitude_time_lag_with_units() const
582  { return Quantity(altitude_time_lag() * altitude_time_lag_unit()); };
583 
584  boost::units::quantity< altitude_time_lag_unit,double > altitude_time_lag_with_units() const
585  { return altitude_time_lag_with_units<boost::units::quantity< altitude_time_lag_unit,double > >(); };
586 
587  // @@protoc_insertion_point(class_scope:goby.moos.protobuf.GeodeticCoordinate)
588  private:
589  inline void set_has_lat();
590  inline void clear_has_lat();
591  inline void set_has_lon();
592  inline void clear_has_lon();
593  inline void set_has_depth();
594  inline void clear_has_depth();
595  inline void set_has_altitude();
596  inline void clear_has_altitude();
597  inline void set_has_lat_source();
598  inline void clear_has_lat_source();
599  inline void set_has_lon_source();
600  inline void clear_has_lon_source();
601  inline void set_has_depth_source();
602  inline void clear_has_depth_source();
603  inline void set_has_altitude_source();
604  inline void clear_has_altitude_source();
605  inline void set_has_lat_time_lag();
606  inline void clear_has_lat_time_lag();
607  inline void set_has_lon_time_lag();
608  inline void clear_has_lon_time_lag();
609  inline void set_has_depth_time_lag();
610  inline void clear_has_depth_time_lag();
611  inline void set_has_altitude_time_lag();
612  inline void clear_has_altitude_time_lag();
613 
614  ::google::protobuf::UnknownFieldSet _unknown_fields_;
615 
616  ::google::protobuf::uint32 _has_bits_[1];
617  mutable int _cached_size_;
618  double lat_;
619  double lon_;
620  double depth_;
621  double altitude_;
622  int lat_source_;
623  int lon_source_;
624  int depth_source_;
625  int altitude_source_;
626  double lat_time_lag_;
627  double lon_time_lag_;
628  double depth_time_lag_;
629  double altitude_time_lag_;
630  friend void protobuf_AddDesc_goby_2fmoos_2fprotobuf_2fnode_5fstatus_2eproto();
631  friend void protobuf_AssignDesc_goby_2fmoos_2fprotobuf_2fnode_5fstatus_2eproto();
632  friend void protobuf_ShutdownFile_goby_2fmoos_2fprotobuf_2fnode_5fstatus_2eproto();
633 
634  void InitAsDefaultInstance();
635  static GeodeticCoordinate* default_instance_;
636 };
637 // -------------------------------------------------------------------
638 
639 class CartesianCoordinate : public ::google::protobuf::Message {
640  public:
642  virtual ~CartesianCoordinate();
643 
645 
646  inline CartesianCoordinate& operator=(const CartesianCoordinate& from) {
647  CopyFrom(from);
648  return *this;
649  }
650 
651  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
652  return _unknown_fields_;
653  }
654 
655  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
656  return &_unknown_fields_;
657  }
658 
659  static const ::google::protobuf::Descriptor* descriptor();
660  static const CartesianCoordinate& default_instance();
661 
662  void Swap(CartesianCoordinate* other);
663 
664  // implements Message ----------------------------------------------
665 
666  CartesianCoordinate* New() const;
667  void CopyFrom(const ::google::protobuf::Message& from);
668  void MergeFrom(const ::google::protobuf::Message& from);
669  void CopyFrom(const CartesianCoordinate& from);
670  void MergeFrom(const CartesianCoordinate& from);
671  void Clear();
672  bool IsInitialized() const;
673 
674  int ByteSize() const;
675  bool MergePartialFromCodedStream(
676  ::google::protobuf::io::CodedInputStream* input);
677  void SerializeWithCachedSizes(
678  ::google::protobuf::io::CodedOutputStream* output) const;
679  ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
680  int GetCachedSize() const { return _cached_size_; }
681  private:
682  void SharedCtor();
683  void SharedDtor();
684  void SetCachedSize(int size) const;
685  public:
686  ::google::protobuf::Metadata GetMetadata() const;
687 
688  // nested types ----------------------------------------------------
689 
690  // accessors -------------------------------------------------------
691 
692  // required double x = 1;
693  inline bool has_x() const;
694  inline void clear_x();
695  static const int kXFieldNumber = 1;
696  inline double x() const;
697  inline void set_x(double value);
698 
699  // required double y = 2;
700  inline bool has_y() const;
701  inline void clear_y();
702  static const int kYFieldNumber = 2;
703  inline double y() const;
704  inline void set_y(double value);
705 
706  // optional double z = 3 [default = 0];
707  inline bool has_z() const;
708  inline void clear_z();
709  static const int kZFieldNumber = 3;
710  inline double z() const;
711  inline void set_z(double value);
712 
713  typedef boost::units::length_dimension x_dimension;
714 
715  typedef boost::units::unit<x_dimension,boost::units::si::system> x_unit;
716 
717  template<typename Quantity >
718  void set_x_with_units(Quantity value_w_units)
719  { set_x(boost::units::quantity<x_unit,double >(value_w_units).value() ); };
720 
721  template<typename Quantity >
722  Quantity x_with_units() const
723  { return Quantity(x() * x_unit()); };
724 
725  boost::units::quantity< x_unit,double > x_with_units() const
726  { return x_with_units<boost::units::quantity< x_unit,double > >(); };
727 
728  typedef boost::units::length_dimension y_dimension;
729 
730  typedef boost::units::unit<y_dimension,boost::units::si::system> y_unit;
731 
732  template<typename Quantity >
733  void set_y_with_units(Quantity value_w_units)
734  { set_y(boost::units::quantity<y_unit,double >(value_w_units).value() ); };
735 
736  template<typename Quantity >
737  Quantity y_with_units() const
738  { return Quantity(y() * y_unit()); };
739 
740  boost::units::quantity< y_unit,double > y_with_units() const
741  { return y_with_units<boost::units::quantity< y_unit,double > >(); };
742 
743  typedef boost::units::length_dimension z_dimension;
744 
745  typedef boost::units::unit<z_dimension,boost::units::si::system> z_unit;
746 
747  template<typename Quantity >
748  void set_z_with_units(Quantity value_w_units)
749  { set_z(boost::units::quantity<z_unit,double >(value_w_units).value() ); };
750 
751  template<typename Quantity >
752  Quantity z_with_units() const
753  { return Quantity(z() * z_unit()); };
754 
755  boost::units::quantity< z_unit,double > z_with_units() const
756  { return z_with_units<boost::units::quantity< z_unit,double > >(); };
757 
758  // @@protoc_insertion_point(class_scope:goby.moos.protobuf.CartesianCoordinate)
759  private:
760  inline void set_has_x();
761  inline void clear_has_x();
762  inline void set_has_y();
763  inline void clear_has_y();
764  inline void set_has_z();
765  inline void clear_has_z();
766 
767  ::google::protobuf::UnknownFieldSet _unknown_fields_;
768 
769  ::google::protobuf::uint32 _has_bits_[1];
770  mutable int _cached_size_;
771  double x_;
772  double y_;
773  double z_;
774  friend void protobuf_AddDesc_goby_2fmoos_2fprotobuf_2fnode_5fstatus_2eproto();
775  friend void protobuf_AssignDesc_goby_2fmoos_2fprotobuf_2fnode_5fstatus_2eproto();
776  friend void protobuf_ShutdownFile_goby_2fmoos_2fprotobuf_2fnode_5fstatus_2eproto();
777 
778  void InitAsDefaultInstance();
779  static CartesianCoordinate* default_instance_;
780 };
781 // -------------------------------------------------------------------
782 
783 class EulerAngles : public ::google::protobuf::Message {
784  public:
785  EulerAngles();
786  virtual ~EulerAngles();
787 
788  EulerAngles(const EulerAngles& from);
789 
790  inline EulerAngles& operator=(const EulerAngles& from) {
791  CopyFrom(from);
792  return *this;
793  }
794 
795  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
796  return _unknown_fields_;
797  }
798 
799  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
800  return &_unknown_fields_;
801  }
802 
803  static const ::google::protobuf::Descriptor* descriptor();
804  static const EulerAngles& default_instance();
805 
806  void Swap(EulerAngles* other);
807 
808  // implements Message ----------------------------------------------
809 
810  EulerAngles* New() const;
811  void CopyFrom(const ::google::protobuf::Message& from);
812  void MergeFrom(const ::google::protobuf::Message& from);
813  void CopyFrom(const EulerAngles& from);
814  void MergeFrom(const EulerAngles& from);
815  void Clear();
816  bool IsInitialized() const;
817 
818  int ByteSize() const;
819  bool MergePartialFromCodedStream(
820  ::google::protobuf::io::CodedInputStream* input);
821  void SerializeWithCachedSizes(
822  ::google::protobuf::io::CodedOutputStream* output) const;
823  ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
824  int GetCachedSize() const { return _cached_size_; }
825  private:
826  void SharedCtor();
827  void SharedDtor();
828  void SetCachedSize(int size) const;
829  public:
830  ::google::protobuf::Metadata GetMetadata() const;
831 
832  // nested types ----------------------------------------------------
833 
834  // accessors -------------------------------------------------------
835 
836  // optional double roll = 1;
837  inline bool has_roll() const;
838  inline void clear_roll();
839  static const int kRollFieldNumber = 1;
840  inline double roll() const;
841  inline void set_roll(double value);
842 
843  // optional double pitch = 2;
844  inline bool has_pitch() const;
845  inline void clear_pitch();
846  static const int kPitchFieldNumber = 2;
847  inline double pitch() const;
848  inline void set_pitch(double value);
849 
850  // optional double heading = 3;
851  inline bool has_heading() const;
852  inline void clear_heading();
853  static const int kHeadingFieldNumber = 3;
854  inline double heading() const;
855  inline void set_heading(double value);
856 
857  // optional double roll_rate = 4;
858  inline bool has_roll_rate() const;
859  inline void clear_roll_rate();
860  static const int kRollRateFieldNumber = 4;
861  inline double roll_rate() const;
862  inline void set_roll_rate(double value);
863 
864  // optional double pitch_rate = 5;
865  inline bool has_pitch_rate() const;
866  inline void clear_pitch_rate();
867  static const int kPitchRateFieldNumber = 5;
868  inline double pitch_rate() const;
869  inline void set_pitch_rate(double value);
870 
871  // optional double heading_rate = 6;
872  inline bool has_heading_rate() const;
873  inline void clear_heading_rate();
874  static const int kHeadingRateFieldNumber = 6;
875  inline double heading_rate() const;
876  inline void set_heading_rate(double value);
877 
878  // optional .goby.moos.protobuf.SourceSensor roll_source = 10 [default = SOURCE_UNKNOWN];
879  inline bool has_roll_source() const;
880  inline void clear_roll_source();
881  static const int kRollSourceFieldNumber = 10;
882  inline ::goby::moos::protobuf::SourceSensor roll_source() const;
883  inline void set_roll_source(::goby::moos::protobuf::SourceSensor value);
884 
885  // optional .goby.moos.protobuf.SourceSensor pitch_source = 11 [default = SOURCE_UNKNOWN];
886  inline bool has_pitch_source() const;
887  inline void clear_pitch_source();
888  static const int kPitchSourceFieldNumber = 11;
889  inline ::goby::moos::protobuf::SourceSensor pitch_source() const;
890  inline void set_pitch_source(::goby::moos::protobuf::SourceSensor value);
891 
892  // optional .goby.moos.protobuf.SourceSensor heading_source = 12 [default = SOURCE_UNKNOWN];
893  inline bool has_heading_source() const;
894  inline void clear_heading_source();
895  static const int kHeadingSourceFieldNumber = 12;
896  inline ::goby::moos::protobuf::SourceSensor heading_source() const;
897  inline void set_heading_source(::goby::moos::protobuf::SourceSensor value);
898 
899  // optional .goby.moos.protobuf.SourceSensor roll_rate_source = 13 [default = SOURCE_UNKNOWN];
900  inline bool has_roll_rate_source() const;
901  inline void clear_roll_rate_source();
902  static const int kRollRateSourceFieldNumber = 13;
903  inline ::goby::moos::protobuf::SourceSensor roll_rate_source() const;
904  inline void set_roll_rate_source(::goby::moos::protobuf::SourceSensor value);
905 
906  // optional .goby.moos.protobuf.SourceSensor pitch_rate_source = 14 [default = SOURCE_UNKNOWN];
907  inline bool has_pitch_rate_source() const;
908  inline void clear_pitch_rate_source();
909  static const int kPitchRateSourceFieldNumber = 14;
910  inline ::goby::moos::protobuf::SourceSensor pitch_rate_source() const;
911  inline void set_pitch_rate_source(::goby::moos::protobuf::SourceSensor value);
912 
913  // optional .goby.moos.protobuf.SourceSensor heading_rate_source = 15 [default = SOURCE_UNKNOWN];
914  inline bool has_heading_rate_source() const;
915  inline void clear_heading_rate_source();
916  static const int kHeadingRateSourceFieldNumber = 15;
917  inline ::goby::moos::protobuf::SourceSensor heading_rate_source() const;
918  inline void set_heading_rate_source(::goby::moos::protobuf::SourceSensor value);
919 
920  // optional double roll_time_lag = 20;
921  inline bool has_roll_time_lag() const;
922  inline void clear_roll_time_lag();
923  static const int kRollTimeLagFieldNumber = 20;
924  inline double roll_time_lag() const;
925  inline void set_roll_time_lag(double value);
926 
927  // optional double pitch_time_lag = 21;
928  inline bool has_pitch_time_lag() const;
929  inline void clear_pitch_time_lag();
930  static const int kPitchTimeLagFieldNumber = 21;
931  inline double pitch_time_lag() const;
932  inline void set_pitch_time_lag(double value);
933 
934  // optional double heading_time_lag = 22;
935  inline bool has_heading_time_lag() const;
936  inline void clear_heading_time_lag();
937  static const int kHeadingTimeLagFieldNumber = 22;
938  inline double heading_time_lag() const;
939  inline void set_heading_time_lag(double value);
940 
941  // optional double roll_rate_time_lag = 23;
942  inline bool has_roll_rate_time_lag() const;
943  inline void clear_roll_rate_time_lag();
944  static const int kRollRateTimeLagFieldNumber = 23;
945  inline double roll_rate_time_lag() const;
946  inline void set_roll_rate_time_lag(double value);
947 
948  // optional double pitch_rate_time_lag = 24;
949  inline bool has_pitch_rate_time_lag() const;
950  inline void clear_pitch_rate_time_lag();
951  static const int kPitchRateTimeLagFieldNumber = 24;
952  inline double pitch_rate_time_lag() const;
953  inline void set_pitch_rate_time_lag(double value);
954 
955  // optional double heading_rate_time_lag = 25;
956  inline bool has_heading_rate_time_lag() const;
957  inline void clear_heading_rate_time_lag();
958  static const int kHeadingRateTimeLagFieldNumber = 25;
959  inline double heading_rate_time_lag() const;
960  inline void set_heading_rate_time_lag(double value);
961 
962  typedef boost::units::plane_angle_dimension roll_dimension;
963 
964  typedef boost::units::unit<roll_dimension,boost::units::degree::system> roll_unit;
965 
966  template<typename Quantity >
967  void set_roll_with_units(Quantity value_w_units)
968  { set_roll(boost::units::quantity<roll_unit,double >(value_w_units).value() ); };
969 
970  template<typename Quantity >
971  Quantity roll_with_units() const
972  { return Quantity(roll() * roll_unit()); };
973 
974  boost::units::quantity< roll_unit,double > roll_with_units() const
975  { return roll_with_units<boost::units::quantity< roll_unit,double > >(); };
976 
977  typedef boost::units::plane_angle_dimension pitch_dimension;
978 
979  typedef boost::units::unit<pitch_dimension,boost::units::degree::system> pitch_unit;
980 
981  template<typename Quantity >
982  void set_pitch_with_units(Quantity value_w_units)
983  { set_pitch(boost::units::quantity<pitch_unit,double >(value_w_units).value() ); };
984 
985  template<typename Quantity >
986  Quantity pitch_with_units() const
987  { return Quantity(pitch() * pitch_unit()); };
988 
989  boost::units::quantity< pitch_unit,double > pitch_with_units() const
990  { return pitch_with_units<boost::units::quantity< pitch_unit,double > >(); };
991 
992  typedef boost::units::plane_angle_dimension heading_dimension;
993 
994  typedef boost::units::unit<heading_dimension,boost::units::degree::system> heading_unit;
995 
996  template<typename Quantity >
997  void set_heading_with_units(Quantity value_w_units)
998  { set_heading(boost::units::quantity<heading_unit,double >(value_w_units).value() ); };
999 
1000  template<typename Quantity >
1001  Quantity heading_with_units() const
1002  { return Quantity(heading() * heading_unit()); };
1003 
1004  boost::units::quantity< heading_unit,double > heading_with_units() const
1005  { return heading_with_units<boost::units::quantity< heading_unit,double > >(); };
1006 
1007  typedef boost::mpl::divides<boost::units::plane_angle_dimension,boost::units::time_dimension>::type roll_rate_dimension;
1008 
1009  typedef boost::units::unit<roll_rate_dimension,boost::units::degree::system> roll_rate_unit;
1010 
1011  template<typename Quantity >
1012  void set_roll_rate_with_units(Quantity value_w_units)
1013  { set_roll_rate(boost::units::quantity<roll_rate_unit,double >(value_w_units).value() ); };
1014 
1015  template<typename Quantity >
1016  Quantity roll_rate_with_units() const
1017  { return Quantity(roll_rate() * roll_rate_unit()); };
1018 
1019  boost::units::quantity< roll_rate_unit,double > roll_rate_with_units() const
1020  { return roll_rate_with_units<boost::units::quantity< roll_rate_unit,double > >(); };
1021 
1022  typedef boost::mpl::divides<boost::units::plane_angle_dimension,boost::units::time_dimension>::type pitch_rate_dimension;
1023 
1024  typedef boost::units::unit<pitch_rate_dimension,boost::units::degree::system> pitch_rate_unit;
1025 
1026  template<typename Quantity >
1027  void set_pitch_rate_with_units(Quantity value_w_units)
1028  { set_pitch_rate(boost::units::quantity<pitch_rate_unit,double >(value_w_units).value() ); };
1029 
1030  template<typename Quantity >
1031  Quantity pitch_rate_with_units() const
1032  { return Quantity(pitch_rate() * pitch_rate_unit()); };
1033 
1034  boost::units::quantity< pitch_rate_unit,double > pitch_rate_with_units() const
1035  { return pitch_rate_with_units<boost::units::quantity< pitch_rate_unit,double > >(); };
1036 
1037  typedef boost::mpl::divides<boost::units::plane_angle_dimension,boost::units::time_dimension>::type heading_rate_dimension;
1038 
1039  typedef boost::units::unit<heading_rate_dimension,boost::units::degree::system> heading_rate_unit;
1040 
1041  template<typename Quantity >
1042  void set_heading_rate_with_units(Quantity value_w_units)
1043  { set_heading_rate(boost::units::quantity<heading_rate_unit,double >(value_w_units).value() ); };
1044 
1045  template<typename Quantity >
1046  Quantity heading_rate_with_units() const
1047  { return Quantity(heading_rate() * heading_rate_unit()); };
1048 
1049  boost::units::quantity< heading_rate_unit,double > heading_rate_with_units() const
1050  { return heading_rate_with_units<boost::units::quantity< heading_rate_unit,double > >(); };
1051 
1052  typedef boost::units::time_dimension roll_time_lag_dimension;
1053 
1054  typedef boost::units::unit<roll_time_lag_dimension,boost::units::si::system> roll_time_lag_unit;
1055 
1056  template<typename Quantity >
1057  void set_roll_time_lag_with_units(Quantity value_w_units)
1058  { set_roll_time_lag(boost::units::quantity<roll_time_lag_unit,double >(value_w_units).value() ); };
1059 
1060  template<typename Quantity >
1061  Quantity roll_time_lag_with_units() const
1062  { return Quantity(roll_time_lag() * roll_time_lag_unit()); };
1063 
1064  boost::units::quantity< roll_time_lag_unit,double > roll_time_lag_with_units() const
1065  { return roll_time_lag_with_units<boost::units::quantity< roll_time_lag_unit,double > >(); };
1066 
1067  typedef boost::units::time_dimension pitch_time_lag_dimension;
1068 
1069  typedef boost::units::unit<pitch_time_lag_dimension,boost::units::si::system> pitch_time_lag_unit;
1070 
1071  template<typename Quantity >
1072  void set_pitch_time_lag_with_units(Quantity value_w_units)
1073  { set_pitch_time_lag(boost::units::quantity<pitch_time_lag_unit,double >(value_w_units).value() ); };
1074 
1075  template<typename Quantity >
1076  Quantity pitch_time_lag_with_units() const
1077  { return Quantity(pitch_time_lag() * pitch_time_lag_unit()); };
1078 
1079  boost::units::quantity< pitch_time_lag_unit,double > pitch_time_lag_with_units() const
1080  { return pitch_time_lag_with_units<boost::units::quantity< pitch_time_lag_unit,double > >(); };
1081 
1082  typedef boost::units::time_dimension heading_time_lag_dimension;
1083 
1084  typedef boost::units::unit<heading_time_lag_dimension,boost::units::si::system> heading_time_lag_unit;
1085 
1086  template<typename Quantity >
1087  void set_heading_time_lag_with_units(Quantity value_w_units)
1088  { set_heading_time_lag(boost::units::quantity<heading_time_lag_unit,double >(value_w_units).value() ); };
1089 
1090  template<typename Quantity >
1091  Quantity heading_time_lag_with_units() const
1092  { return Quantity(heading_time_lag() * heading_time_lag_unit()); };
1093 
1094  boost::units::quantity< heading_time_lag_unit,double > heading_time_lag_with_units() const
1095  { return heading_time_lag_with_units<boost::units::quantity< heading_time_lag_unit,double > >(); };
1096 
1097  typedef boost::units::time_dimension roll_rate_time_lag_dimension;
1098 
1099  typedef boost::units::unit<roll_rate_time_lag_dimension,boost::units::si::system> roll_rate_time_lag_unit;
1100 
1101  template<typename Quantity >
1102  void set_roll_rate_time_lag_with_units(Quantity value_w_units)
1103  { set_roll_rate_time_lag(boost::units::quantity<roll_rate_time_lag_unit,double >(value_w_units).value() ); };
1104 
1105  template<typename Quantity >
1106  Quantity roll_rate_time_lag_with_units() const
1107  { return Quantity(roll_rate_time_lag() * roll_rate_time_lag_unit()); };
1108 
1109  boost::units::quantity< roll_rate_time_lag_unit,double > roll_rate_time_lag_with_units() const
1110  { return roll_rate_time_lag_with_units<boost::units::quantity< roll_rate_time_lag_unit,double > >(); };
1111 
1112  typedef boost::units::time_dimension pitch_rate_time_lag_dimension;
1113 
1114  typedef boost::units::unit<pitch_rate_time_lag_dimension,boost::units::si::system> pitch_rate_time_lag_unit;
1115 
1116  template<typename Quantity >
1117  void set_pitch_rate_time_lag_with_units(Quantity value_w_units)
1118  { set_pitch_rate_time_lag(boost::units::quantity<pitch_rate_time_lag_unit,double >(value_w_units).value() ); };
1119 
1120  template<typename Quantity >
1121  Quantity pitch_rate_time_lag_with_units() const
1122  { return Quantity(pitch_rate_time_lag() * pitch_rate_time_lag_unit()); };
1123 
1124  boost::units::quantity< pitch_rate_time_lag_unit,double > pitch_rate_time_lag_with_units() const
1125  { return pitch_rate_time_lag_with_units<boost::units::quantity< pitch_rate_time_lag_unit,double > >(); };
1126 
1127  typedef boost::units::time_dimension heading_rate_time_lag_dimension;
1128 
1129  typedef boost::units::unit<heading_rate_time_lag_dimension,boost::units::si::system> heading_rate_time_lag_unit;
1130 
1131  template<typename Quantity >
1132  void set_heading_rate_time_lag_with_units(Quantity value_w_units)
1133  { set_heading_rate_time_lag(boost::units::quantity<heading_rate_time_lag_unit,double >(value_w_units).value() ); };
1134 
1135  template<typename Quantity >
1136  Quantity heading_rate_time_lag_with_units() const
1137  { return Quantity(heading_rate_time_lag() * heading_rate_time_lag_unit()); };
1138 
1139  boost::units::quantity< heading_rate_time_lag_unit,double > heading_rate_time_lag_with_units() const
1140  { return heading_rate_time_lag_with_units<boost::units::quantity< heading_rate_time_lag_unit,double > >(); };
1141 
1142  // @@protoc_insertion_point(class_scope:goby.moos.protobuf.EulerAngles)
1143  private:
1144  inline void set_has_roll();
1145  inline void clear_has_roll();
1146  inline void set_has_pitch();
1147  inline void clear_has_pitch();
1148  inline void set_has_heading();
1149  inline void clear_has_heading();
1150  inline void set_has_roll_rate();
1151  inline void clear_has_roll_rate();
1152  inline void set_has_pitch_rate();
1153  inline void clear_has_pitch_rate();
1154  inline void set_has_heading_rate();
1155  inline void clear_has_heading_rate();
1156  inline void set_has_roll_source();
1157  inline void clear_has_roll_source();
1158  inline void set_has_pitch_source();
1159  inline void clear_has_pitch_source();
1160  inline void set_has_heading_source();
1161  inline void clear_has_heading_source();
1162  inline void set_has_roll_rate_source();
1163  inline void clear_has_roll_rate_source();
1164  inline void set_has_pitch_rate_source();
1165  inline void clear_has_pitch_rate_source();
1166  inline void set_has_heading_rate_source();
1167  inline void clear_has_heading_rate_source();
1168  inline void set_has_roll_time_lag();
1169  inline void clear_has_roll_time_lag();
1170  inline void set_has_pitch_time_lag();
1171  inline void clear_has_pitch_time_lag();
1172  inline void set_has_heading_time_lag();
1173  inline void clear_has_heading_time_lag();
1174  inline void set_has_roll_rate_time_lag();
1175  inline void clear_has_roll_rate_time_lag();
1176  inline void set_has_pitch_rate_time_lag();
1177  inline void clear_has_pitch_rate_time_lag();
1178  inline void set_has_heading_rate_time_lag();
1179  inline void clear_has_heading_rate_time_lag();
1180 
1181  ::google::protobuf::UnknownFieldSet _unknown_fields_;
1182 
1183  ::google::protobuf::uint32 _has_bits_[1];
1184  mutable int _cached_size_;
1185  double roll_;
1186  double pitch_;
1187  double heading_;
1188  double roll_rate_;
1189  double pitch_rate_;
1190  double heading_rate_;
1191  int roll_source_;
1192  int pitch_source_;
1193  int heading_source_;
1194  int roll_rate_source_;
1195  int pitch_rate_source_;
1196  int heading_rate_source_;
1197  double roll_time_lag_;
1198  double pitch_time_lag_;
1199  double heading_time_lag_;
1200  double roll_rate_time_lag_;
1201  double pitch_rate_time_lag_;
1202  double heading_rate_time_lag_;
1203  friend void protobuf_AddDesc_goby_2fmoos_2fprotobuf_2fnode_5fstatus_2eproto();
1204  friend void protobuf_AssignDesc_goby_2fmoos_2fprotobuf_2fnode_5fstatus_2eproto();
1205  friend void protobuf_ShutdownFile_goby_2fmoos_2fprotobuf_2fnode_5fstatus_2eproto();
1206 
1207  void InitAsDefaultInstance();
1208  static EulerAngles* default_instance_;
1209 };
1210 // ===================================================================
1211 
1212 
1213 // ===================================================================
1214 
1215 // NodeStatus
1216 
1217 // required double time = 1;
1218 inline bool NodeStatus::has_time() const {
1219  return (_has_bits_[0] & 0x00000001u) != 0;
1220 }
1221 inline void NodeStatus::set_has_time() {
1222  _has_bits_[0] |= 0x00000001u;
1223 }
1224 inline void NodeStatus::clear_has_time() {
1225  _has_bits_[0] &= ~0x00000001u;
1226 }
1227 inline void NodeStatus::clear_time() {
1228  time_ = 0;
1229  clear_has_time();
1230 }
1231 inline double NodeStatus::time() const {
1232  // @@protoc_insertion_point(field_get:goby.moos.protobuf.NodeStatus.time)
1233  return time_;
1234 }
1235 inline void NodeStatus::set_time(double value) {
1236  set_has_time();
1237  time_ = value;
1238  // @@protoc_insertion_point(field_set:goby.moos.protobuf.NodeStatus.time)
1239 }
1240 
1241 // optional string name = 2;
1242 inline bool NodeStatus::has_name() const {
1243  return (_has_bits_[0] & 0x00000002u) != 0;
1244 }
1245 inline void NodeStatus::set_has_name() {
1246  _has_bits_[0] |= 0x00000002u;
1247 }
1248 inline void NodeStatus::clear_has_name() {
1249  _has_bits_[0] &= ~0x00000002u;
1250 }
1251 inline void NodeStatus::clear_name() {
1252  if (name_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
1253  name_->clear();
1254  }
1255  clear_has_name();
1256 }
1257 inline const ::std::string& NodeStatus::name() const {
1258  // @@protoc_insertion_point(field_get:goby.moos.protobuf.NodeStatus.name)
1259  return *name_;
1260 }
1261 inline void NodeStatus::set_name(const ::std::string& value) {
1262  set_has_name();
1263  if (name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
1264  name_ = new ::std::string;
1265  }
1266  name_->assign(value);
1267  // @@protoc_insertion_point(field_set:goby.moos.protobuf.NodeStatus.name)
1268 }
1269 inline void NodeStatus::set_name(const char* value) {
1270  set_has_name();
1271  if (name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
1272  name_ = new ::std::string;
1273  }
1274  name_->assign(value);
1275  // @@protoc_insertion_point(field_set_char:goby.moos.protobuf.NodeStatus.name)
1276 }
1277 inline void NodeStatus::set_name(const char* value, size_t size) {
1278  set_has_name();
1279  if (name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
1280  name_ = new ::std::string;
1281  }
1282  name_->assign(reinterpret_cast<const char*>(value), size);
1283  // @@protoc_insertion_point(field_set_pointer:goby.moos.protobuf.NodeStatus.name)
1284 }
1285 inline ::std::string* NodeStatus::mutable_name() {
1286  set_has_name();
1287  if (name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
1288  name_ = new ::std::string;
1289  }
1290  // @@protoc_insertion_point(field_mutable:goby.moos.protobuf.NodeStatus.name)
1291  return name_;
1292 }
1293 inline ::std::string* NodeStatus::release_name() {
1294  clear_has_name();
1295  if (name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
1296  return NULL;
1297  } else {
1298  ::std::string* temp = name_;
1299  name_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
1300  return temp;
1301  }
1302 }
1303 inline void NodeStatus::set_allocated_name(::std::string* name) {
1304  if (name_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
1305  delete name_;
1306  }
1307  if (name) {
1308  set_has_name();
1309  name_ = name;
1310  } else {
1311  clear_has_name();
1312  name_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
1313  }
1314  // @@protoc_insertion_point(field_set_allocated:goby.moos.protobuf.NodeStatus.name)
1315 }
1316 
1317 // optional uint32 modem_id = 12;
1318 inline bool NodeStatus::has_modem_id() const {
1319  return (_has_bits_[0] & 0x00000004u) != 0;
1320 }
1321 inline void NodeStatus::set_has_modem_id() {
1322  _has_bits_[0] |= 0x00000004u;
1323 }
1324 inline void NodeStatus::clear_has_modem_id() {
1325  _has_bits_[0] &= ~0x00000004u;
1326 }
1327 inline void NodeStatus::clear_modem_id() {
1328  modem_id_ = 0u;
1329  clear_has_modem_id();
1330 }
1331 inline ::google::protobuf::uint32 NodeStatus::modem_id() const {
1332  // @@protoc_insertion_point(field_get:goby.moos.protobuf.NodeStatus.modem_id)
1333  return modem_id_;
1334 }
1335 inline void NodeStatus::set_modem_id(::google::protobuf::uint32 value) {
1336  set_has_modem_id();
1337  modem_id_ = value;
1338  // @@protoc_insertion_point(field_set:goby.moos.protobuf.NodeStatus.modem_id)
1339 }
1340 
1341 // optional .goby.moos.protobuf.VehicleType type = 3;
1342 inline bool NodeStatus::has_type() const {
1343  return (_has_bits_[0] & 0x00000008u) != 0;
1344 }
1345 inline void NodeStatus::set_has_type() {
1346  _has_bits_[0] |= 0x00000008u;
1347 }
1348 inline void NodeStatus::clear_has_type() {
1349  _has_bits_[0] &= ~0x00000008u;
1350 }
1351 inline void NodeStatus::clear_type() {
1352  type_ = 0;
1353  clear_has_type();
1354 }
1355 inline ::goby::moos::protobuf::VehicleType NodeStatus::type() const {
1356  // @@protoc_insertion_point(field_get:goby.moos.protobuf.NodeStatus.type)
1357  return static_cast< ::goby::moos::protobuf::VehicleType >(type_);
1358 }
1359 inline void NodeStatus::set_type(::goby::moos::protobuf::VehicleType value) {
1360  assert(::goby::moos::protobuf::VehicleType_IsValid(value));
1361  set_has_type();
1362  type_ = value;
1363  // @@protoc_insertion_point(field_set:goby.moos.protobuf.NodeStatus.type)
1364 }
1365 
1366 // required .goby.moos.protobuf.GeodeticCoordinate global_fix = 4;
1367 inline bool NodeStatus::has_global_fix() const {
1368  return (_has_bits_[0] & 0x00000010u) != 0;
1369 }
1370 inline void NodeStatus::set_has_global_fix() {
1371  _has_bits_[0] |= 0x00000010u;
1372 }
1373 inline void NodeStatus::clear_has_global_fix() {
1374  _has_bits_[0] &= ~0x00000010u;
1375 }
1376 inline void NodeStatus::clear_global_fix() {
1377  if (global_fix_ != NULL) global_fix_->::goby::moos::protobuf::GeodeticCoordinate::Clear();
1378  clear_has_global_fix();
1379 }
1380 inline const ::goby::moos::protobuf::GeodeticCoordinate& NodeStatus::global_fix() const {
1381  // @@protoc_insertion_point(field_get:goby.moos.protobuf.NodeStatus.global_fix)
1382  return global_fix_ != NULL ? *global_fix_ : *default_instance_->global_fix_;
1383 }
1384 inline ::goby::moos::protobuf::GeodeticCoordinate* NodeStatus::mutable_global_fix() {
1385  set_has_global_fix();
1386  if (global_fix_ == NULL) global_fix_ = new ::goby::moos::protobuf::GeodeticCoordinate;
1387  // @@protoc_insertion_point(field_mutable:goby.moos.protobuf.NodeStatus.global_fix)
1388  return global_fix_;
1389 }
1390 inline ::goby::moos::protobuf::GeodeticCoordinate* NodeStatus::release_global_fix() {
1391  clear_has_global_fix();
1392  ::goby::moos::protobuf::GeodeticCoordinate* temp = global_fix_;
1393  global_fix_ = NULL;
1394  return temp;
1395 }
1396 inline void NodeStatus::set_allocated_global_fix(::goby::moos::protobuf::GeodeticCoordinate* global_fix) {
1397  delete global_fix_;
1398  global_fix_ = global_fix;
1399  if (global_fix) {
1400  set_has_global_fix();
1401  } else {
1402  clear_has_global_fix();
1403  }
1404  // @@protoc_insertion_point(field_set_allocated:goby.moos.protobuf.NodeStatus.global_fix)
1405 }
1406 
1407 // required .goby.moos.protobuf.CartesianCoordinate local_fix = 5;
1408 inline bool NodeStatus::has_local_fix() const {
1409  return (_has_bits_[0] & 0x00000020u) != 0;
1410 }
1411 inline void NodeStatus::set_has_local_fix() {
1412  _has_bits_[0] |= 0x00000020u;
1413 }
1414 inline void NodeStatus::clear_has_local_fix() {
1415  _has_bits_[0] &= ~0x00000020u;
1416 }
1417 inline void NodeStatus::clear_local_fix() {
1418  if (local_fix_ != NULL) local_fix_->::goby::moos::protobuf::CartesianCoordinate::Clear();
1419  clear_has_local_fix();
1420 }
1421 inline const ::goby::moos::protobuf::CartesianCoordinate& NodeStatus::local_fix() const {
1422  // @@protoc_insertion_point(field_get:goby.moos.protobuf.NodeStatus.local_fix)
1423  return local_fix_ != NULL ? *local_fix_ : *default_instance_->local_fix_;
1424 }
1425 inline ::goby::moos::protobuf::CartesianCoordinate* NodeStatus::mutable_local_fix() {
1426  set_has_local_fix();
1427  if (local_fix_ == NULL) local_fix_ = new ::goby::moos::protobuf::CartesianCoordinate;
1428  // @@protoc_insertion_point(field_mutable:goby.moos.protobuf.NodeStatus.local_fix)
1429  return local_fix_;
1430 }
1431 inline ::goby::moos::protobuf::CartesianCoordinate* NodeStatus::release_local_fix() {
1432  clear_has_local_fix();
1434  local_fix_ = NULL;
1435  return temp;
1436 }
1437 inline void NodeStatus::set_allocated_local_fix(::goby::moos::protobuf::CartesianCoordinate* local_fix) {
1438  delete local_fix_;
1439  local_fix_ = local_fix;
1440  if (local_fix) {
1441  set_has_local_fix();
1442  } else {
1443  clear_has_local_fix();
1444  }
1445  // @@protoc_insertion_point(field_set_allocated:goby.moos.protobuf.NodeStatus.local_fix)
1446 }
1447 
1448 // required .goby.moos.protobuf.EulerAngles pose = 7;
1449 inline bool NodeStatus::has_pose() const {
1450  return (_has_bits_[0] & 0x00000040u) != 0;
1451 }
1452 inline void NodeStatus::set_has_pose() {
1453  _has_bits_[0] |= 0x00000040u;
1454 }
1455 inline void NodeStatus::clear_has_pose() {
1456  _has_bits_[0] &= ~0x00000040u;
1457 }
1458 inline void NodeStatus::clear_pose() {
1459  if (pose_ != NULL) pose_->::goby::moos::protobuf::EulerAngles::Clear();
1460  clear_has_pose();
1461 }
1462 inline const ::goby::moos::protobuf::EulerAngles& NodeStatus::pose() const {
1463  // @@protoc_insertion_point(field_get:goby.moos.protobuf.NodeStatus.pose)
1464  return pose_ != NULL ? *pose_ : *default_instance_->pose_;
1465 }
1466 inline ::goby::moos::protobuf::EulerAngles* NodeStatus::mutable_pose() {
1467  set_has_pose();
1468  if (pose_ == NULL) pose_ = new ::goby::moos::protobuf::EulerAngles;
1469  // @@protoc_insertion_point(field_mutable:goby.moos.protobuf.NodeStatus.pose)
1470  return pose_;
1471 }
1472 inline ::goby::moos::protobuf::EulerAngles* NodeStatus::release_pose() {
1473  clear_has_pose();
1475  pose_ = NULL;
1476  return temp;
1477 }
1478 inline void NodeStatus::set_allocated_pose(::goby::moos::protobuf::EulerAngles* pose) {
1479  delete pose_;
1480  pose_ = pose;
1481  if (pose) {
1482  set_has_pose();
1483  } else {
1484  clear_has_pose();
1485  }
1486  // @@protoc_insertion_point(field_set_allocated:goby.moos.protobuf.NodeStatus.pose)
1487 }
1488 
1489 // required double speed = 8;
1490 inline bool NodeStatus::has_speed() const {
1491  return (_has_bits_[0] & 0x00000080u) != 0;
1492 }
1493 inline void NodeStatus::set_has_speed() {
1494  _has_bits_[0] |= 0x00000080u;
1495 }
1496 inline void NodeStatus::clear_has_speed() {
1497  _has_bits_[0] &= ~0x00000080u;
1498 }
1499 inline void NodeStatus::clear_speed() {
1500  speed_ = 0;
1501  clear_has_speed();
1502 }
1503 inline double NodeStatus::speed() const {
1504  // @@protoc_insertion_point(field_get:goby.moos.protobuf.NodeStatus.speed)
1505  return speed_;
1506 }
1507 inline void NodeStatus::set_speed(double value) {
1508  set_has_speed();
1509  speed_ = value;
1510  // @@protoc_insertion_point(field_set:goby.moos.protobuf.NodeStatus.speed)
1511 }
1512 
1513 // optional .goby.moos.protobuf.SourceSensor speed_source = 9 [default = SOURCE_UNKNOWN];
1514 inline bool NodeStatus::has_speed_source() const {
1515  return (_has_bits_[0] & 0x00000100u) != 0;
1516 }
1517 inline void NodeStatus::set_has_speed_source() {
1518  _has_bits_[0] |= 0x00000100u;
1519 }
1520 inline void NodeStatus::clear_has_speed_source() {
1521  _has_bits_[0] &= ~0x00000100u;
1522 }
1523 inline void NodeStatus::clear_speed_source() {
1524  speed_source_ = 0;
1525  clear_has_speed_source();
1526 }
1527 inline ::goby::moos::protobuf::SourceSensor NodeStatus::speed_source() const {
1528  // @@protoc_insertion_point(field_get:goby.moos.protobuf.NodeStatus.speed_source)
1529  return static_cast< ::goby::moos::protobuf::SourceSensor >(speed_source_);
1530 }
1531 inline void NodeStatus::set_speed_source(::goby::moos::protobuf::SourceSensor value) {
1532  assert(::goby::moos::protobuf::SourceSensor_IsValid(value));
1533  set_has_speed_source();
1534  speed_source_ = value;
1535  // @@protoc_insertion_point(field_set:goby.moos.protobuf.NodeStatus.speed_source)
1536 }
1537 
1538 // optional double speed_time_lag = 11;
1539 inline bool NodeStatus::has_speed_time_lag() const {
1540  return (_has_bits_[0] & 0x00000200u) != 0;
1541 }
1542 inline void NodeStatus::set_has_speed_time_lag() {
1543  _has_bits_[0] |= 0x00000200u;
1544 }
1545 inline void NodeStatus::clear_has_speed_time_lag() {
1546  _has_bits_[0] &= ~0x00000200u;
1547 }
1548 inline void NodeStatus::clear_speed_time_lag() {
1549  speed_time_lag_ = 0;
1550  clear_has_speed_time_lag();
1551 }
1552 inline double NodeStatus::speed_time_lag() const {
1553  // @@protoc_insertion_point(field_get:goby.moos.protobuf.NodeStatus.speed_time_lag)
1554  return speed_time_lag_;
1555 }
1556 inline void NodeStatus::set_speed_time_lag(double value) {
1557  set_has_speed_time_lag();
1558  speed_time_lag_ = value;
1559  // @@protoc_insertion_point(field_set:goby.moos.protobuf.NodeStatus.speed_time_lag)
1560 }
1561 
1562 // -------------------------------------------------------------------
1563 
1564 // GeodeticCoordinate
1565 
1566 // optional double lat = 1;
1567 inline bool GeodeticCoordinate::has_lat() const {
1568  return (_has_bits_[0] & 0x00000001u) != 0;
1569 }
1570 inline void GeodeticCoordinate::set_has_lat() {
1571  _has_bits_[0] |= 0x00000001u;
1572 }
1573 inline void GeodeticCoordinate::clear_has_lat() {
1574  _has_bits_[0] &= ~0x00000001u;
1575 }
1576 inline void GeodeticCoordinate::clear_lat() {
1577  lat_ = 0;
1578  clear_has_lat();
1579 }
1580 inline double GeodeticCoordinate::lat() const {
1581  // @@protoc_insertion_point(field_get:goby.moos.protobuf.GeodeticCoordinate.lat)
1582  return lat_;
1583 }
1584 inline void GeodeticCoordinate::set_lat(double value) {
1585  set_has_lat();
1586  lat_ = value;
1587  // @@protoc_insertion_point(field_set:goby.moos.protobuf.GeodeticCoordinate.lat)
1588 }
1589 
1590 // optional double lon = 2;
1591 inline bool GeodeticCoordinate::has_lon() const {
1592  return (_has_bits_[0] & 0x00000002u) != 0;
1593 }
1594 inline void GeodeticCoordinate::set_has_lon() {
1595  _has_bits_[0] |= 0x00000002u;
1596 }
1597 inline void GeodeticCoordinate::clear_has_lon() {
1598  _has_bits_[0] &= ~0x00000002u;
1599 }
1600 inline void GeodeticCoordinate::clear_lon() {
1601  lon_ = 0;
1602  clear_has_lon();
1603 }
1604 inline double GeodeticCoordinate::lon() const {
1605  // @@protoc_insertion_point(field_get:goby.moos.protobuf.GeodeticCoordinate.lon)
1606  return lon_;
1607 }
1608 inline void GeodeticCoordinate::set_lon(double value) {
1609  set_has_lon();
1610  lon_ = value;
1611  // @@protoc_insertion_point(field_set:goby.moos.protobuf.GeodeticCoordinate.lon)
1612 }
1613 
1614 // optional double depth = 3 [default = 0];
1615 inline bool GeodeticCoordinate::has_depth() const {
1616  return (_has_bits_[0] & 0x00000004u) != 0;
1617 }
1618 inline void GeodeticCoordinate::set_has_depth() {
1619  _has_bits_[0] |= 0x00000004u;
1620 }
1621 inline void GeodeticCoordinate::clear_has_depth() {
1622  _has_bits_[0] &= ~0x00000004u;
1623 }
1624 inline void GeodeticCoordinate::clear_depth() {
1625  depth_ = 0;
1626  clear_has_depth();
1627 }
1628 inline double GeodeticCoordinate::depth() const {
1629  // @@protoc_insertion_point(field_get:goby.moos.protobuf.GeodeticCoordinate.depth)
1630  return depth_;
1631 }
1632 inline void GeodeticCoordinate::set_depth(double value) {
1633  set_has_depth();
1634  depth_ = value;
1635  // @@protoc_insertion_point(field_set:goby.moos.protobuf.GeodeticCoordinate.depth)
1636 }
1637 
1638 // optional double altitude = 4;
1639 inline bool GeodeticCoordinate::has_altitude() const {
1640  return (_has_bits_[0] & 0x00000008u) != 0;
1641 }
1642 inline void GeodeticCoordinate::set_has_altitude() {
1643  _has_bits_[0] |= 0x00000008u;
1644 }
1645 inline void GeodeticCoordinate::clear_has_altitude() {
1646  _has_bits_[0] &= ~0x00000008u;
1647 }
1648 inline void GeodeticCoordinate::clear_altitude() {
1649  altitude_ = 0;
1650  clear_has_altitude();
1651 }
1652 inline double GeodeticCoordinate::altitude() const {
1653  // @@protoc_insertion_point(field_get:goby.moos.protobuf.GeodeticCoordinate.altitude)
1654  return altitude_;
1655 }
1656 inline void GeodeticCoordinate::set_altitude(double value) {
1657  set_has_altitude();
1658  altitude_ = value;
1659  // @@protoc_insertion_point(field_set:goby.moos.protobuf.GeodeticCoordinate.altitude)
1660 }
1661 
1662 // optional .goby.moos.protobuf.SourceSensor lat_source = 5 [default = SOURCE_UNKNOWN];
1663 inline bool GeodeticCoordinate::has_lat_source() const {
1664  return (_has_bits_[0] & 0x00000010u) != 0;
1665 }
1666 inline void GeodeticCoordinate::set_has_lat_source() {
1667  _has_bits_[0] |= 0x00000010u;
1668 }
1669 inline void GeodeticCoordinate::clear_has_lat_source() {
1670  _has_bits_[0] &= ~0x00000010u;
1671 }
1672 inline void GeodeticCoordinate::clear_lat_source() {
1673  lat_source_ = 0;
1674  clear_has_lat_source();
1675 }
1676 inline ::goby::moos::protobuf::SourceSensor GeodeticCoordinate::lat_source() const {
1677  // @@protoc_insertion_point(field_get:goby.moos.protobuf.GeodeticCoordinate.lat_source)
1678  return static_cast< ::goby::moos::protobuf::SourceSensor >(lat_source_);
1679 }
1680 inline void GeodeticCoordinate::set_lat_source(::goby::moos::protobuf::SourceSensor value) {
1681  assert(::goby::moos::protobuf::SourceSensor_IsValid(value));
1682  set_has_lat_source();
1683  lat_source_ = value;
1684  // @@protoc_insertion_point(field_set:goby.moos.protobuf.GeodeticCoordinate.lat_source)
1685 }
1686 
1687 // optional .goby.moos.protobuf.SourceSensor lon_source = 6 [default = SOURCE_UNKNOWN];
1688 inline bool GeodeticCoordinate::has_lon_source() const {
1689  return (_has_bits_[0] & 0x00000020u) != 0;
1690 }
1691 inline void GeodeticCoordinate::set_has_lon_source() {
1692  _has_bits_[0] |= 0x00000020u;
1693 }
1694 inline void GeodeticCoordinate::clear_has_lon_source() {
1695  _has_bits_[0] &= ~0x00000020u;
1696 }
1697 inline void GeodeticCoordinate::clear_lon_source() {
1698  lon_source_ = 0;
1699  clear_has_lon_source();
1700 }
1701 inline ::goby::moos::protobuf::SourceSensor GeodeticCoordinate::lon_source() const {
1702  // @@protoc_insertion_point(field_get:goby.moos.protobuf.GeodeticCoordinate.lon_source)
1703  return static_cast< ::goby::moos::protobuf::SourceSensor >(lon_source_);
1704 }
1705 inline void GeodeticCoordinate::set_lon_source(::goby::moos::protobuf::SourceSensor value) {
1706  assert(::goby::moos::protobuf::SourceSensor_IsValid(value));
1707  set_has_lon_source();
1708  lon_source_ = value;
1709  // @@protoc_insertion_point(field_set:goby.moos.protobuf.GeodeticCoordinate.lon_source)
1710 }
1711 
1712 // optional .goby.moos.protobuf.SourceSensor depth_source = 7 [default = SOURCE_UNKNOWN];
1713 inline bool GeodeticCoordinate::has_depth_source() const {
1714  return (_has_bits_[0] & 0x00000040u) != 0;
1715 }
1716 inline void GeodeticCoordinate::set_has_depth_source() {
1717  _has_bits_[0] |= 0x00000040u;
1718 }
1719 inline void GeodeticCoordinate::clear_has_depth_source() {
1720  _has_bits_[0] &= ~0x00000040u;
1721 }
1722 inline void GeodeticCoordinate::clear_depth_source() {
1723  depth_source_ = 0;
1724  clear_has_depth_source();
1725 }
1726 inline ::goby::moos::protobuf::SourceSensor GeodeticCoordinate::depth_source() const {
1727  // @@protoc_insertion_point(field_get:goby.moos.protobuf.GeodeticCoordinate.depth_source)
1728  return static_cast< ::goby::moos::protobuf::SourceSensor >(depth_source_);
1729 }
1730 inline void GeodeticCoordinate::set_depth_source(::goby::moos::protobuf::SourceSensor value) {
1731  assert(::goby::moos::protobuf::SourceSensor_IsValid(value));
1732  set_has_depth_source();
1733  depth_source_ = value;
1734  // @@protoc_insertion_point(field_set:goby.moos.protobuf.GeodeticCoordinate.depth_source)
1735 }
1736 
1737 // optional .goby.moos.protobuf.SourceSensor altitude_source = 8 [default = SOURCE_UNKNOWN];
1738 inline bool GeodeticCoordinate::has_altitude_source() const {
1739  return (_has_bits_[0] & 0x00000080u) != 0;
1740 }
1741 inline void GeodeticCoordinate::set_has_altitude_source() {
1742  _has_bits_[0] |= 0x00000080u;
1743 }
1744 inline void GeodeticCoordinate::clear_has_altitude_source() {
1745  _has_bits_[0] &= ~0x00000080u;
1746 }
1747 inline void GeodeticCoordinate::clear_altitude_source() {
1748  altitude_source_ = 0;
1749  clear_has_altitude_source();
1750 }
1751 inline ::goby::moos::protobuf::SourceSensor GeodeticCoordinate::altitude_source() const {
1752  // @@protoc_insertion_point(field_get:goby.moos.protobuf.GeodeticCoordinate.altitude_source)
1753  return static_cast< ::goby::moos::protobuf::SourceSensor >(altitude_source_);
1754 }
1755 inline void GeodeticCoordinate::set_altitude_source(::goby::moos::protobuf::SourceSensor value) {
1756  assert(::goby::moos::protobuf::SourceSensor_IsValid(value));
1757  set_has_altitude_source();
1758  altitude_source_ = value;
1759  // @@protoc_insertion_point(field_set:goby.moos.protobuf.GeodeticCoordinate.altitude_source)
1760 }
1761 
1762 // optional double lat_time_lag = 9;
1763 inline bool GeodeticCoordinate::has_lat_time_lag() const {
1764  return (_has_bits_[0] & 0x00000100u) != 0;
1765 }
1766 inline void GeodeticCoordinate::set_has_lat_time_lag() {
1767  _has_bits_[0] |= 0x00000100u;
1768 }
1769 inline void GeodeticCoordinate::clear_has_lat_time_lag() {
1770  _has_bits_[0] &= ~0x00000100u;
1771 }
1772 inline void GeodeticCoordinate::clear_lat_time_lag() {
1773  lat_time_lag_ = 0;
1774  clear_has_lat_time_lag();
1775 }
1776 inline double GeodeticCoordinate::lat_time_lag() const {
1777  // @@protoc_insertion_point(field_get:goby.moos.protobuf.GeodeticCoordinate.lat_time_lag)
1778  return lat_time_lag_;
1779 }
1780 inline void GeodeticCoordinate::set_lat_time_lag(double value) {
1781  set_has_lat_time_lag();
1782  lat_time_lag_ = value;
1783  // @@protoc_insertion_point(field_set:goby.moos.protobuf.GeodeticCoordinate.lat_time_lag)
1784 }
1785 
1786 // optional double lon_time_lag = 10;
1787 inline bool GeodeticCoordinate::has_lon_time_lag() const {
1788  return (_has_bits_[0] & 0x00000200u) != 0;
1789 }
1790 inline void GeodeticCoordinate::set_has_lon_time_lag() {
1791  _has_bits_[0] |= 0x00000200u;
1792 }
1793 inline void GeodeticCoordinate::clear_has_lon_time_lag() {
1794  _has_bits_[0] &= ~0x00000200u;
1795 }
1796 inline void GeodeticCoordinate::clear_lon_time_lag() {
1797  lon_time_lag_ = 0;
1798  clear_has_lon_time_lag();
1799 }
1800 inline double GeodeticCoordinate::lon_time_lag() const {
1801  // @@protoc_insertion_point(field_get:goby.moos.protobuf.GeodeticCoordinate.lon_time_lag)
1802  return lon_time_lag_;
1803 }
1804 inline void GeodeticCoordinate::set_lon_time_lag(double value) {
1805  set_has_lon_time_lag();
1806  lon_time_lag_ = value;
1807  // @@protoc_insertion_point(field_set:goby.moos.protobuf.GeodeticCoordinate.lon_time_lag)
1808 }
1809 
1810 // optional double depth_time_lag = 11;
1811 inline bool GeodeticCoordinate::has_depth_time_lag() const {
1812  return (_has_bits_[0] & 0x00000400u) != 0;
1813 }
1814 inline void GeodeticCoordinate::set_has_depth_time_lag() {
1815  _has_bits_[0] |= 0x00000400u;
1816 }
1817 inline void GeodeticCoordinate::clear_has_depth_time_lag() {
1818  _has_bits_[0] &= ~0x00000400u;
1819 }
1820 inline void GeodeticCoordinate::clear_depth_time_lag() {
1821  depth_time_lag_ = 0;
1822  clear_has_depth_time_lag();
1823 }
1824 inline double GeodeticCoordinate::depth_time_lag() const {
1825  // @@protoc_insertion_point(field_get:goby.moos.protobuf.GeodeticCoordinate.depth_time_lag)
1826  return depth_time_lag_;
1827 }
1828 inline void GeodeticCoordinate::set_depth_time_lag(double value) {
1829  set_has_depth_time_lag();
1830  depth_time_lag_ = value;
1831  // @@protoc_insertion_point(field_set:goby.moos.protobuf.GeodeticCoordinate.depth_time_lag)
1832 }
1833 
1834 // optional double altitude_time_lag = 12;
1835 inline bool GeodeticCoordinate::has_altitude_time_lag() const {
1836  return (_has_bits_[0] & 0x00000800u) != 0;
1837 }
1838 inline void GeodeticCoordinate::set_has_altitude_time_lag() {
1839  _has_bits_[0] |= 0x00000800u;
1840 }
1841 inline void GeodeticCoordinate::clear_has_altitude_time_lag() {
1842  _has_bits_[0] &= ~0x00000800u;
1843 }
1844 inline void GeodeticCoordinate::clear_altitude_time_lag() {
1845  altitude_time_lag_ = 0;
1846  clear_has_altitude_time_lag();
1847 }
1848 inline double GeodeticCoordinate::altitude_time_lag() const {
1849  // @@protoc_insertion_point(field_get:goby.moos.protobuf.GeodeticCoordinate.altitude_time_lag)
1850  return altitude_time_lag_;
1851 }
1852 inline void GeodeticCoordinate::set_altitude_time_lag(double value) {
1853  set_has_altitude_time_lag();
1854  altitude_time_lag_ = value;
1855  // @@protoc_insertion_point(field_set:goby.moos.protobuf.GeodeticCoordinate.altitude_time_lag)
1856 }
1857 
1858 // -------------------------------------------------------------------
1859 
1860 // CartesianCoordinate
1861 
1862 // required double x = 1;
1863 inline bool CartesianCoordinate::has_x() const {
1864  return (_has_bits_[0] & 0x00000001u) != 0;
1865 }
1866 inline void CartesianCoordinate::set_has_x() {
1867  _has_bits_[0] |= 0x00000001u;
1868 }
1869 inline void CartesianCoordinate::clear_has_x() {
1870  _has_bits_[0] &= ~0x00000001u;
1871 }
1872 inline void CartesianCoordinate::clear_x() {
1873  x_ = 0;
1874  clear_has_x();
1875 }
1876 inline double CartesianCoordinate::x() const {
1877  // @@protoc_insertion_point(field_get:goby.moos.protobuf.CartesianCoordinate.x)
1878  return x_;
1879 }
1880 inline void CartesianCoordinate::set_x(double value) {
1881  set_has_x();
1882  x_ = value;
1883  // @@protoc_insertion_point(field_set:goby.moos.protobuf.CartesianCoordinate.x)
1884 }
1885 
1886 // required double y = 2;
1887 inline bool CartesianCoordinate::has_y() const {
1888  return (_has_bits_[0] & 0x00000002u) != 0;
1889 }
1890 inline void CartesianCoordinate::set_has_y() {
1891  _has_bits_[0] |= 0x00000002u;
1892 }
1893 inline void CartesianCoordinate::clear_has_y() {
1894  _has_bits_[0] &= ~0x00000002u;
1895 }
1896 inline void CartesianCoordinate::clear_y() {
1897  y_ = 0;
1898  clear_has_y();
1899 }
1900 inline double CartesianCoordinate::y() const {
1901  // @@protoc_insertion_point(field_get:goby.moos.protobuf.CartesianCoordinate.y)
1902  return y_;
1903 }
1904 inline void CartesianCoordinate::set_y(double value) {
1905  set_has_y();
1906  y_ = value;
1907  // @@protoc_insertion_point(field_set:goby.moos.protobuf.CartesianCoordinate.y)
1908 }
1909 
1910 // optional double z = 3 [default = 0];
1911 inline bool CartesianCoordinate::has_z() const {
1912  return (_has_bits_[0] & 0x00000004u) != 0;
1913 }
1914 inline void CartesianCoordinate::set_has_z() {
1915  _has_bits_[0] |= 0x00000004u;
1916 }
1917 inline void CartesianCoordinate::clear_has_z() {
1918  _has_bits_[0] &= ~0x00000004u;
1919 }
1920 inline void CartesianCoordinate::clear_z() {
1921  z_ = 0;
1922  clear_has_z();
1923 }
1924 inline double CartesianCoordinate::z() const {
1925  // @@protoc_insertion_point(field_get:goby.moos.protobuf.CartesianCoordinate.z)
1926  return z_;
1927 }
1928 inline void CartesianCoordinate::set_z(double value) {
1929  set_has_z();
1930  z_ = value;
1931  // @@protoc_insertion_point(field_set:goby.moos.protobuf.CartesianCoordinate.z)
1932 }
1933 
1934 // -------------------------------------------------------------------
1935 
1936 // EulerAngles
1937 
1938 // optional double roll = 1;
1939 inline bool EulerAngles::has_roll() const {
1940  return (_has_bits_[0] & 0x00000001u) != 0;
1941 }
1942 inline void EulerAngles::set_has_roll() {
1943  _has_bits_[0] |= 0x00000001u;
1944 }
1945 inline void EulerAngles::clear_has_roll() {
1946  _has_bits_[0] &= ~0x00000001u;
1947 }
1948 inline void EulerAngles::clear_roll() {
1949  roll_ = 0;
1950  clear_has_roll();
1951 }
1952 inline double EulerAngles::roll() const {
1953  // @@protoc_insertion_point(field_get:goby.moos.protobuf.EulerAngles.roll)
1954  return roll_;
1955 }
1956 inline void EulerAngles::set_roll(double value) {
1957  set_has_roll();
1958  roll_ = value;
1959  // @@protoc_insertion_point(field_set:goby.moos.protobuf.EulerAngles.roll)
1960 }
1961 
1962 // optional double pitch = 2;
1963 inline bool EulerAngles::has_pitch() const {
1964  return (_has_bits_[0] & 0x00000002u) != 0;
1965 }
1966 inline void EulerAngles::set_has_pitch() {
1967  _has_bits_[0] |= 0x00000002u;
1968 }
1969 inline void EulerAngles::clear_has_pitch() {
1970  _has_bits_[0] &= ~0x00000002u;
1971 }
1972 inline void EulerAngles::clear_pitch() {
1973  pitch_ = 0;
1974  clear_has_pitch();
1975 }
1976 inline double EulerAngles::pitch() const {
1977  // @@protoc_insertion_point(field_get:goby.moos.protobuf.EulerAngles.pitch)
1978  return pitch_;
1979 }
1980 inline void EulerAngles::set_pitch(double value) {
1981  set_has_pitch();
1982  pitch_ = value;
1983  // @@protoc_insertion_point(field_set:goby.moos.protobuf.EulerAngles.pitch)
1984 }
1985 
1986 // optional double heading = 3;
1987 inline bool EulerAngles::has_heading() const {
1988  return (_has_bits_[0] & 0x00000004u) != 0;
1989 }
1990 inline void EulerAngles::set_has_heading() {
1991  _has_bits_[0] |= 0x00000004u;
1992 }
1993 inline void EulerAngles::clear_has_heading() {
1994  _has_bits_[0] &= ~0x00000004u;
1995 }
1996 inline void EulerAngles::clear_heading() {
1997  heading_ = 0;
1998  clear_has_heading();
1999 }
2000 inline double EulerAngles::heading() const {
2001  // @@protoc_insertion_point(field_get:goby.moos.protobuf.EulerAngles.heading)
2002  return heading_;
2003 }
2004 inline void EulerAngles::set_heading(double value) {
2005  set_has_heading();
2006  heading_ = value;
2007  // @@protoc_insertion_point(field_set:goby.moos.protobuf.EulerAngles.heading)
2008 }
2009 
2010 // optional double roll_rate = 4;
2011 inline bool EulerAngles::has_roll_rate() const {
2012  return (_has_bits_[0] & 0x00000008u) != 0;
2013 }
2014 inline void EulerAngles::set_has_roll_rate() {
2015  _has_bits_[0] |= 0x00000008u;
2016 }
2017 inline void EulerAngles::clear_has_roll_rate() {
2018  _has_bits_[0] &= ~0x00000008u;
2019 }
2020 inline void EulerAngles::clear_roll_rate() {
2021  roll_rate_ = 0;
2022  clear_has_roll_rate();
2023 }
2024 inline double EulerAngles::roll_rate() const {
2025  // @@protoc_insertion_point(field_get:goby.moos.protobuf.EulerAngles.roll_rate)
2026  return roll_rate_;
2027 }
2028 inline void EulerAngles::set_roll_rate(double value) {
2029  set_has_roll_rate();
2030  roll_rate_ = value;
2031  // @@protoc_insertion_point(field_set:goby.moos.protobuf.EulerAngles.roll_rate)
2032 }
2033 
2034 // optional double pitch_rate = 5;
2035 inline bool EulerAngles::has_pitch_rate() const {
2036  return (_has_bits_[0] & 0x00000010u) != 0;
2037 }
2038 inline void EulerAngles::set_has_pitch_rate() {
2039  _has_bits_[0] |= 0x00000010u;
2040 }
2041 inline void EulerAngles::clear_has_pitch_rate() {
2042  _has_bits_[0] &= ~0x00000010u;
2043 }
2044 inline void EulerAngles::clear_pitch_rate() {
2045  pitch_rate_ = 0;
2046  clear_has_pitch_rate();
2047 }
2048 inline double EulerAngles::pitch_rate() const {
2049  // @@protoc_insertion_point(field_get:goby.moos.protobuf.EulerAngles.pitch_rate)
2050  return pitch_rate_;
2051 }
2052 inline void EulerAngles::set_pitch_rate(double value) {
2053  set_has_pitch_rate();
2054  pitch_rate_ = value;
2055  // @@protoc_insertion_point(field_set:goby.moos.protobuf.EulerAngles.pitch_rate)
2056 }
2057 
2058 // optional double heading_rate = 6;
2059 inline bool EulerAngles::has_heading_rate() const {
2060  return (_has_bits_[0] & 0x00000020u) != 0;
2061 }
2062 inline void EulerAngles::set_has_heading_rate() {
2063  _has_bits_[0] |= 0x00000020u;
2064 }
2065 inline void EulerAngles::clear_has_heading_rate() {
2066  _has_bits_[0] &= ~0x00000020u;
2067 }
2068 inline void EulerAngles::clear_heading_rate() {
2069  heading_rate_ = 0;
2070  clear_has_heading_rate();
2071 }
2072 inline double EulerAngles::heading_rate() const {
2073  // @@protoc_insertion_point(field_get:goby.moos.protobuf.EulerAngles.heading_rate)
2074  return heading_rate_;
2075 }
2076 inline void EulerAngles::set_heading_rate(double value) {
2077  set_has_heading_rate();
2078  heading_rate_ = value;
2079  // @@protoc_insertion_point(field_set:goby.moos.protobuf.EulerAngles.heading_rate)
2080 }
2081 
2082 // optional .goby.moos.protobuf.SourceSensor roll_source = 10 [default = SOURCE_UNKNOWN];
2083 inline bool EulerAngles::has_roll_source() const {
2084  return (_has_bits_[0] & 0x00000040u) != 0;
2085 }
2086 inline void EulerAngles::set_has_roll_source() {
2087  _has_bits_[0] |= 0x00000040u;
2088 }
2089 inline void EulerAngles::clear_has_roll_source() {
2090  _has_bits_[0] &= ~0x00000040u;
2091 }
2092 inline void EulerAngles::clear_roll_source() {
2093  roll_source_ = 0;
2094  clear_has_roll_source();
2095 }
2096 inline ::goby::moos::protobuf::SourceSensor EulerAngles::roll_source() const {
2097  // @@protoc_insertion_point(field_get:goby.moos.protobuf.EulerAngles.roll_source)
2098  return static_cast< ::goby::moos::protobuf::SourceSensor >(roll_source_);
2099 }
2100 inline void EulerAngles::set_roll_source(::goby::moos::protobuf::SourceSensor value) {
2101  assert(::goby::moos::protobuf::SourceSensor_IsValid(value));
2102  set_has_roll_source();
2103  roll_source_ = value;
2104  // @@protoc_insertion_point(field_set:goby.moos.protobuf.EulerAngles.roll_source)
2105 }
2106 
2107 // optional .goby.moos.protobuf.SourceSensor pitch_source = 11 [default = SOURCE_UNKNOWN];
2108 inline bool EulerAngles::has_pitch_source() const {
2109  return (_has_bits_[0] & 0x00000080u) != 0;
2110 }
2111 inline void EulerAngles::set_has_pitch_source() {
2112  _has_bits_[0] |= 0x00000080u;
2113 }
2114 inline void EulerAngles::clear_has_pitch_source() {
2115  _has_bits_[0] &= ~0x00000080u;
2116 }
2117 inline void EulerAngles::clear_pitch_source() {
2118  pitch_source_ = 0;
2119  clear_has_pitch_source();
2120 }
2121 inline ::goby::moos::protobuf::SourceSensor EulerAngles::pitch_source() const {
2122  // @@protoc_insertion_point(field_get:goby.moos.protobuf.EulerAngles.pitch_source)
2123  return static_cast< ::goby::moos::protobuf::SourceSensor >(pitch_source_);
2124 }
2125 inline void EulerAngles::set_pitch_source(::goby::moos::protobuf::SourceSensor value) {
2126  assert(::goby::moos::protobuf::SourceSensor_IsValid(value));
2127  set_has_pitch_source();
2128  pitch_source_ = value;
2129  // @@protoc_insertion_point(field_set:goby.moos.protobuf.EulerAngles.pitch_source)
2130 }
2131 
2132 // optional .goby.moos.protobuf.SourceSensor heading_source = 12 [default = SOURCE_UNKNOWN];
2133 inline bool EulerAngles::has_heading_source() const {
2134  return (_has_bits_[0] & 0x00000100u) != 0;
2135 }
2136 inline void EulerAngles::set_has_heading_source() {
2137  _has_bits_[0] |= 0x00000100u;
2138 }
2139 inline void EulerAngles::clear_has_heading_source() {
2140  _has_bits_[0] &= ~0x00000100u;
2141 }
2142 inline void EulerAngles::clear_heading_source() {
2143  heading_source_ = 0;
2144  clear_has_heading_source();
2145 }
2146 inline ::goby::moos::protobuf::SourceSensor EulerAngles::heading_source() const {
2147  // @@protoc_insertion_point(field_get:goby.moos.protobuf.EulerAngles.heading_source)
2148  return static_cast< ::goby::moos::protobuf::SourceSensor >(heading_source_);
2149 }
2150 inline void EulerAngles::set_heading_source(::goby::moos::protobuf::SourceSensor value) {
2151  assert(::goby::moos::protobuf::SourceSensor_IsValid(value));
2152  set_has_heading_source();
2153  heading_source_ = value;
2154  // @@protoc_insertion_point(field_set:goby.moos.protobuf.EulerAngles.heading_source)
2155 }
2156 
2157 // optional .goby.moos.protobuf.SourceSensor roll_rate_source = 13 [default = SOURCE_UNKNOWN];
2158 inline bool EulerAngles::has_roll_rate_source() const {
2159  return (_has_bits_[0] & 0x00000200u) != 0;
2160 }
2161 inline void EulerAngles::set_has_roll_rate_source() {
2162  _has_bits_[0] |= 0x00000200u;
2163 }
2164 inline void EulerAngles::clear_has_roll_rate_source() {
2165  _has_bits_[0] &= ~0x00000200u;
2166 }
2167 inline void EulerAngles::clear_roll_rate_source() {
2168  roll_rate_source_ = 0;
2169  clear_has_roll_rate_source();
2170 }
2171 inline ::goby::moos::protobuf::SourceSensor EulerAngles::roll_rate_source() const {
2172  // @@protoc_insertion_point(field_get:goby.moos.protobuf.EulerAngles.roll_rate_source)
2173  return static_cast< ::goby::moos::protobuf::SourceSensor >(roll_rate_source_);
2174 }
2175 inline void EulerAngles::set_roll_rate_source(::goby::moos::protobuf::SourceSensor value) {
2176  assert(::goby::moos::protobuf::SourceSensor_IsValid(value));
2177  set_has_roll_rate_source();
2178  roll_rate_source_ = value;
2179  // @@protoc_insertion_point(field_set:goby.moos.protobuf.EulerAngles.roll_rate_source)
2180 }
2181 
2182 // optional .goby.moos.protobuf.SourceSensor pitch_rate_source = 14 [default = SOURCE_UNKNOWN];
2183 inline bool EulerAngles::has_pitch_rate_source() const {
2184  return (_has_bits_[0] & 0x00000400u) != 0;
2185 }
2186 inline void EulerAngles::set_has_pitch_rate_source() {
2187  _has_bits_[0] |= 0x00000400u;
2188 }
2189 inline void EulerAngles::clear_has_pitch_rate_source() {
2190  _has_bits_[0] &= ~0x00000400u;
2191 }
2192 inline void EulerAngles::clear_pitch_rate_source() {
2193  pitch_rate_source_ = 0;
2194  clear_has_pitch_rate_source();
2195 }
2196 inline ::goby::moos::protobuf::SourceSensor EulerAngles::pitch_rate_source() const {
2197  // @@protoc_insertion_point(field_get:goby.moos.protobuf.EulerAngles.pitch_rate_source)
2198  return static_cast< ::goby::moos::protobuf::SourceSensor >(pitch_rate_source_);
2199 }
2200 inline void EulerAngles::set_pitch_rate_source(::goby::moos::protobuf::SourceSensor value) {
2201  assert(::goby::moos::protobuf::SourceSensor_IsValid(value));
2202  set_has_pitch_rate_source();
2203  pitch_rate_source_ = value;
2204  // @@protoc_insertion_point(field_set:goby.moos.protobuf.EulerAngles.pitch_rate_source)
2205 }
2206 
2207 // optional .goby.moos.protobuf.SourceSensor heading_rate_source = 15 [default = SOURCE_UNKNOWN];
2208 inline bool EulerAngles::has_heading_rate_source() const {
2209  return (_has_bits_[0] & 0x00000800u) != 0;
2210 }
2211 inline void EulerAngles::set_has_heading_rate_source() {
2212  _has_bits_[0] |= 0x00000800u;
2213 }
2214 inline void EulerAngles::clear_has_heading_rate_source() {
2215  _has_bits_[0] &= ~0x00000800u;
2216 }
2217 inline void EulerAngles::clear_heading_rate_source() {
2218  heading_rate_source_ = 0;
2219  clear_has_heading_rate_source();
2220 }
2221 inline ::goby::moos::protobuf::SourceSensor EulerAngles::heading_rate_source() const {
2222  // @@protoc_insertion_point(field_get:goby.moos.protobuf.EulerAngles.heading_rate_source)
2223  return static_cast< ::goby::moos::protobuf::SourceSensor >(heading_rate_source_);
2224 }
2225 inline void EulerAngles::set_heading_rate_source(::goby::moos::protobuf::SourceSensor value) {
2226  assert(::goby::moos::protobuf::SourceSensor_IsValid(value));
2227  set_has_heading_rate_source();
2228  heading_rate_source_ = value;
2229  // @@protoc_insertion_point(field_set:goby.moos.protobuf.EulerAngles.heading_rate_source)
2230 }
2231 
2232 // optional double roll_time_lag = 20;
2233 inline bool EulerAngles::has_roll_time_lag() const {
2234  return (_has_bits_[0] & 0x00001000u) != 0;
2235 }
2236 inline void EulerAngles::set_has_roll_time_lag() {
2237  _has_bits_[0] |= 0x00001000u;
2238 }
2239 inline void EulerAngles::clear_has_roll_time_lag() {
2240  _has_bits_[0] &= ~0x00001000u;
2241 }
2242 inline void EulerAngles::clear_roll_time_lag() {
2243  roll_time_lag_ = 0;
2244  clear_has_roll_time_lag();
2245 }
2246 inline double EulerAngles::roll_time_lag() const {
2247  // @@protoc_insertion_point(field_get:goby.moos.protobuf.EulerAngles.roll_time_lag)
2248  return roll_time_lag_;
2249 }
2250 inline void EulerAngles::set_roll_time_lag(double value) {
2251  set_has_roll_time_lag();
2252  roll_time_lag_ = value;
2253  // @@protoc_insertion_point(field_set:goby.moos.protobuf.EulerAngles.roll_time_lag)
2254 }
2255 
2256 // optional double pitch_time_lag = 21;
2257 inline bool EulerAngles::has_pitch_time_lag() const {
2258  return (_has_bits_[0] & 0x00002000u) != 0;
2259 }
2260 inline void EulerAngles::set_has_pitch_time_lag() {
2261  _has_bits_[0] |= 0x00002000u;
2262 }
2263 inline void EulerAngles::clear_has_pitch_time_lag() {
2264  _has_bits_[0] &= ~0x00002000u;
2265 }
2266 inline void EulerAngles::clear_pitch_time_lag() {
2267  pitch_time_lag_ = 0;
2268  clear_has_pitch_time_lag();
2269 }
2270 inline double EulerAngles::pitch_time_lag() const {
2271  // @@protoc_insertion_point(field_get:goby.moos.protobuf.EulerAngles.pitch_time_lag)
2272  return pitch_time_lag_;
2273 }
2274 inline void EulerAngles::set_pitch_time_lag(double value) {
2275  set_has_pitch_time_lag();
2276  pitch_time_lag_ = value;
2277  // @@protoc_insertion_point(field_set:goby.moos.protobuf.EulerAngles.pitch_time_lag)
2278 }
2279 
2280 // optional double heading_time_lag = 22;
2281 inline bool EulerAngles::has_heading_time_lag() const {
2282  return (_has_bits_[0] & 0x00004000u) != 0;
2283 }
2284 inline void EulerAngles::set_has_heading_time_lag() {
2285  _has_bits_[0] |= 0x00004000u;
2286 }
2287 inline void EulerAngles::clear_has_heading_time_lag() {
2288  _has_bits_[0] &= ~0x00004000u;
2289 }
2290 inline void EulerAngles::clear_heading_time_lag() {
2291  heading_time_lag_ = 0;
2292  clear_has_heading_time_lag();
2293 }
2294 inline double EulerAngles::heading_time_lag() const {
2295  // @@protoc_insertion_point(field_get:goby.moos.protobuf.EulerAngles.heading_time_lag)
2296  return heading_time_lag_;
2297 }
2298 inline void EulerAngles::set_heading_time_lag(double value) {
2299  set_has_heading_time_lag();
2300  heading_time_lag_ = value;
2301  // @@protoc_insertion_point(field_set:goby.moos.protobuf.EulerAngles.heading_time_lag)
2302 }
2303 
2304 // optional double roll_rate_time_lag = 23;
2305 inline bool EulerAngles::has_roll_rate_time_lag() const {
2306  return (_has_bits_[0] & 0x00008000u) != 0;
2307 }
2308 inline void EulerAngles::set_has_roll_rate_time_lag() {
2309  _has_bits_[0] |= 0x00008000u;
2310 }
2311 inline void EulerAngles::clear_has_roll_rate_time_lag() {
2312  _has_bits_[0] &= ~0x00008000u;
2313 }
2314 inline void EulerAngles::clear_roll_rate_time_lag() {
2315  roll_rate_time_lag_ = 0;
2316  clear_has_roll_rate_time_lag();
2317 }
2318 inline double EulerAngles::roll_rate_time_lag() const {
2319  // @@protoc_insertion_point(field_get:goby.moos.protobuf.EulerAngles.roll_rate_time_lag)
2320  return roll_rate_time_lag_;
2321 }
2322 inline void EulerAngles::set_roll_rate_time_lag(double value) {
2323  set_has_roll_rate_time_lag();
2324  roll_rate_time_lag_ = value;
2325  // @@protoc_insertion_point(field_set:goby.moos.protobuf.EulerAngles.roll_rate_time_lag)
2326 }
2327 
2328 // optional double pitch_rate_time_lag = 24;
2329 inline bool EulerAngles::has_pitch_rate_time_lag() const {
2330  return (_has_bits_[0] & 0x00010000u) != 0;
2331 }
2332 inline void EulerAngles::set_has_pitch_rate_time_lag() {
2333  _has_bits_[0] |= 0x00010000u;
2334 }
2335 inline void EulerAngles::clear_has_pitch_rate_time_lag() {
2336  _has_bits_[0] &= ~0x00010000u;
2337 }
2338 inline void EulerAngles::clear_pitch_rate_time_lag() {
2339  pitch_rate_time_lag_ = 0;
2340  clear_has_pitch_rate_time_lag();
2341 }
2342 inline double EulerAngles::pitch_rate_time_lag() const {
2343  // @@protoc_insertion_point(field_get:goby.moos.protobuf.EulerAngles.pitch_rate_time_lag)
2344  return pitch_rate_time_lag_;
2345 }
2346 inline void EulerAngles::set_pitch_rate_time_lag(double value) {
2347  set_has_pitch_rate_time_lag();
2348  pitch_rate_time_lag_ = value;
2349  // @@protoc_insertion_point(field_set:goby.moos.protobuf.EulerAngles.pitch_rate_time_lag)
2350 }
2351 
2352 // optional double heading_rate_time_lag = 25;
2353 inline bool EulerAngles::has_heading_rate_time_lag() const {
2354  return (_has_bits_[0] & 0x00020000u) != 0;
2355 }
2356 inline void EulerAngles::set_has_heading_rate_time_lag() {
2357  _has_bits_[0] |= 0x00020000u;
2358 }
2359 inline void EulerAngles::clear_has_heading_rate_time_lag() {
2360  _has_bits_[0] &= ~0x00020000u;
2361 }
2362 inline void EulerAngles::clear_heading_rate_time_lag() {
2363  heading_rate_time_lag_ = 0;
2364  clear_has_heading_rate_time_lag();
2365 }
2366 inline double EulerAngles::heading_rate_time_lag() const {
2367  // @@protoc_insertion_point(field_get:goby.moos.protobuf.EulerAngles.heading_rate_time_lag)
2368  return heading_rate_time_lag_;
2369 }
2370 inline void EulerAngles::set_heading_rate_time_lag(double value) {
2371  set_has_heading_rate_time_lag();
2372  heading_rate_time_lag_ = value;
2373  // @@protoc_insertion_point(field_set:goby.moos.protobuf.EulerAngles.heading_rate_time_lag)
2374 }
2375 
2376 
2377 // @@protoc_insertion_point(namespace_scope)
2378 
2379 } // namespace protobuf
2380 } // namespace moos
2381 } // namespace goby
2382 
2383 #ifndef SWIG
2384 namespace google {
2385 namespace protobuf {
2386 
2387 template <> struct is_proto_enum< ::goby::moos::protobuf::VehicleType> : ::google::protobuf::internal::true_type {};
2388 template <>
2389 inline const EnumDescriptor* GetEnumDescriptor< ::goby::moos::protobuf::VehicleType>() {
2390  return ::goby::moos::protobuf::VehicleType_descriptor();
2391 }
2392 template <> struct is_proto_enum< ::goby::moos::protobuf::SourceSensor> : ::google::protobuf::internal::true_type {};
2393 template <>
2394 inline const EnumDescriptor* GetEnumDescriptor< ::goby::moos::protobuf::SourceSensor>() {
2395  return ::goby::moos::protobuf::SourceSensor_descriptor();
2396 }
2397 
2398 } // namespace google
2399 } // namespace protobuf
2400 #endif // SWIG
2401 
2402 // @@protoc_insertion_point(global_scope)
2403 
2404 #endif // PROTOBUF_goby_2fmoos_2fprotobuf_2fnode_5fstatus_2eproto__INCLUDED
The global namespace for the Goby project.