// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: hxSensor.proto

#ifndef PROTOBUF_hxSensor_2eproto__INCLUDED
#define PROTOBUF_hxSensor_2eproto__INCLUDED

#include <string>

#include <google/protobuf/stubs/common.h>

#if GOOGLE_PROTOBUF_VERSION < 2006000
#error This file was generated by a newer version of protoc which is
#error incompatible with your Protocol Buffer headers.  Please update
#error your headers.
#endif
#if 2006000 < GOOGLE_PROTOBUF_MIN_PROTOC_VERSION
#error This file was generated by an older version of protoc which is
#error incompatible with your Protocol Buffer headers.  Please
#error regenerate this file with a newer version of protoc.
#endif

#include <google/protobuf/generated_message_util.h>
#include <google/protobuf/message.h>
#include <google/protobuf/repeated_field.h>
#include <google/protobuf/extension_set.h>
#include <google/protobuf/unknown_field_set.h>
#pragma GCC system_header
#include <memory>
// @@protoc_insertion_point(includes)

namespace haptix {
namespace comm {
namespace msgs {

// Internal implementation detail -- do not call these.
void  protobuf_AddDesc_hxSensor_2eproto();
void protobuf_AssignDesc_hxSensor_2eproto();
void protobuf_ShutdownFile_hxSensor_2eproto();

class imu;
class quaternion;
class time;
class hxSensor;

// ===================================================================

class imu : public ::google::protobuf::Message {
 public:
  imu();
  virtual ~imu();

  imu(const imu& from);

  inline imu& operator=(const imu& from) {
    CopyFrom(from);
    return *this;
  }

  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
    return _unknown_fields_;
  }

  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
    return &_unknown_fields_;
  }

  static const ::google::protobuf::Descriptor* descriptor();
  static const imu& default_instance();

  void Swap(imu* other);

  // implements Message ----------------------------------------------

  imu* New() const;
  void CopyFrom(const ::google::protobuf::Message& from);
  void MergeFrom(const ::google::protobuf::Message& from);
  void CopyFrom(const imu& from);
  void MergeFrom(const imu& from);
  void Clear();
  bool IsInitialized() const;

  int ByteSize() const;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input);
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const;
  ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
  int GetCachedSize() const { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const;
  public:
  ::google::protobuf::Metadata GetMetadata() const;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  // required float x = 1;
  inline bool has_x() const;
  inline void clear_x();
  static const int kXFieldNumber = 1;
  inline float x() const;
  inline void set_x(float value);

  // required float y = 2;
  inline bool has_y() const;
  inline void clear_y();
  static const int kYFieldNumber = 2;
  inline float y() const;
  inline void set_y(float value);

  // required float z = 3;
  inline bool has_z() const;
  inline void clear_z();
  static const int kZFieldNumber = 3;
  inline float z() const;
  inline void set_z(float value);

  // @@protoc_insertion_point(class_scope:haptix.comm.msgs.imu)
 private:
  inline void set_has_x();
  inline void clear_has_x();
  inline void set_has_y();
  inline void clear_has_y();
  inline void set_has_z();
  inline void clear_has_z();

  ::google::protobuf::UnknownFieldSet _unknown_fields_;

  ::google::protobuf::uint32 _has_bits_[1];
  mutable int _cached_size_;
  float x_;
  float y_;
  float z_;
  friend void  protobuf_AddDesc_hxSensor_2eproto();
  friend void protobuf_AssignDesc_hxSensor_2eproto();
  friend void protobuf_ShutdownFile_hxSensor_2eproto();

  void InitAsDefaultInstance();
  static imu* default_instance_;
};
// -------------------------------------------------------------------

class quaternion : public ::google::protobuf::Message {
 public:
  quaternion();
  virtual ~quaternion();

  quaternion(const quaternion& from);

  inline quaternion& operator=(const quaternion& from) {
    CopyFrom(from);
    return *this;
  }

  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
    return _unknown_fields_;
  }

  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
    return &_unknown_fields_;
  }

  static const ::google::protobuf::Descriptor* descriptor();
  static const quaternion& default_instance();

  void Swap(quaternion* other);

  // implements Message ----------------------------------------------

  quaternion* New() const;
  void CopyFrom(const ::google::protobuf::Message& from);
  void MergeFrom(const ::google::protobuf::Message& from);
  void CopyFrom(const quaternion& from);
  void MergeFrom(const quaternion& from);
  void Clear();
  bool IsInitialized() const;

  int ByteSize() const;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input);
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const;
  ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
  int GetCachedSize() const { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const;
  public:
  ::google::protobuf::Metadata GetMetadata() const;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  // required float w = 1;
  inline bool has_w() const;
  inline void clear_w();
  static const int kWFieldNumber = 1;
  inline float w() const;
  inline void set_w(float value);

  // required float x = 2;
  inline bool has_x() const;
  inline void clear_x();
  static const int kXFieldNumber = 2;
  inline float x() const;
  inline void set_x(float value);

  // required float y = 3;
  inline bool has_y() const;
  inline void clear_y();
  static const int kYFieldNumber = 3;
  inline float y() const;
  inline void set_y(float value);

  // required float z = 4;
  inline bool has_z() const;
  inline void clear_z();
  static const int kZFieldNumber = 4;
  inline float z() const;
  inline void set_z(float value);

  // @@protoc_insertion_point(class_scope:haptix.comm.msgs.quaternion)
 private:
  inline void set_has_w();
  inline void clear_has_w();
  inline void set_has_x();
  inline void clear_has_x();
  inline void set_has_y();
  inline void clear_has_y();
  inline void set_has_z();
  inline void clear_has_z();

  ::google::protobuf::UnknownFieldSet _unknown_fields_;

  ::google::protobuf::uint32 _has_bits_[1];
  mutable int _cached_size_;
  float w_;
  float x_;
  float y_;
  float z_;
  friend void  protobuf_AddDesc_hxSensor_2eproto();
  friend void protobuf_AssignDesc_hxSensor_2eproto();
  friend void protobuf_ShutdownFile_hxSensor_2eproto();

  void InitAsDefaultInstance();
  static quaternion* default_instance_;
};
// -------------------------------------------------------------------

class time : public ::google::protobuf::Message {
 public:
  time();
  virtual ~time();

  time(const time& from);

  inline time& operator=(const time& from) {
    CopyFrom(from);
    return *this;
  }

  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
    return _unknown_fields_;
  }

  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
    return &_unknown_fields_;
  }

  static const ::google::protobuf::Descriptor* descriptor();
  static const time& default_instance();

  void Swap(time* other);

  // implements Message ----------------------------------------------

  time* New() const;
  void CopyFrom(const ::google::protobuf::Message& from);
  void MergeFrom(const ::google::protobuf::Message& from);
  void CopyFrom(const time& from);
  void MergeFrom(const time& from);
  void Clear();
  bool IsInitialized() const;

  int ByteSize() const;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input);
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const;
  ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
  int GetCachedSize() const { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const;
  public:
  ::google::protobuf::Metadata GetMetadata() const;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  // required uint64 sec = 1;
  inline bool has_sec() const;
  inline void clear_sec();
  static const int kSecFieldNumber = 1;
  inline ::google::protobuf::uint64 sec() const;
  inline void set_sec(::google::protobuf::uint64 value);

  // required uint64 nsec = 2;
  inline bool has_nsec() const;
  inline void clear_nsec();
  static const int kNsecFieldNumber = 2;
  inline ::google::protobuf::uint64 nsec() const;
  inline void set_nsec(::google::protobuf::uint64 value);

  // @@protoc_insertion_point(class_scope:haptix.comm.msgs.time)
 private:
  inline void set_has_sec();
  inline void clear_has_sec();
  inline void set_has_nsec();
  inline void clear_has_nsec();

  ::google::protobuf::UnknownFieldSet _unknown_fields_;

  ::google::protobuf::uint32 _has_bits_[1];
  mutable int _cached_size_;
  ::google::protobuf::uint64 sec_;
  ::google::protobuf::uint64 nsec_;
  friend void  protobuf_AddDesc_hxSensor_2eproto();
  friend void protobuf_AssignDesc_hxSensor_2eproto();
  friend void protobuf_ShutdownFile_hxSensor_2eproto();

  void InitAsDefaultInstance();
  static time* default_instance_;
};
// -------------------------------------------------------------------

class hxSensor : public ::google::protobuf::Message {
 public:
  hxSensor();
  virtual ~hxSensor();

  hxSensor(const hxSensor& from);

  inline hxSensor& operator=(const hxSensor& from) {
    CopyFrom(from);
    return *this;
  }

  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
    return _unknown_fields_;
  }

  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
    return &_unknown_fields_;
  }

  static const ::google::protobuf::Descriptor* descriptor();
  static const hxSensor& default_instance();

  void Swap(hxSensor* other);

  // implements Message ----------------------------------------------

  hxSensor* New() const;
  void CopyFrom(const ::google::protobuf::Message& from);
  void MergeFrom(const ::google::protobuf::Message& from);
  void CopyFrom(const hxSensor& from);
  void MergeFrom(const hxSensor& from);
  void Clear();
  bool IsInitialized() const;

  int ByteSize() const;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input);
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const;
  ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
  int GetCachedSize() const { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const;
  public:
  ::google::protobuf::Metadata GetMetadata() const;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  // repeated float motor_pos = 1 [packed = true];
  inline int motor_pos_size() const;
  inline void clear_motor_pos();
  static const int kMotorPosFieldNumber = 1;
  inline float motor_pos(int index) const;
  inline void set_motor_pos(int index, float value);
  inline void add_motor_pos(float value);
  inline const ::google::protobuf::RepeatedField< float >&
      motor_pos() const;
  inline ::google::protobuf::RepeatedField< float >*
      mutable_motor_pos();

  // repeated float motor_vel = 2 [packed = true];
  inline int motor_vel_size() const;
  inline void clear_motor_vel();
  static const int kMotorVelFieldNumber = 2;
  inline float motor_vel(int index) const;
  inline void set_motor_vel(int index, float value);
  inline void add_motor_vel(float value);
  inline const ::google::protobuf::RepeatedField< float >&
      motor_vel() const;
  inline ::google::protobuf::RepeatedField< float >*
      mutable_motor_vel();

  // repeated float motor_torque = 3 [packed = true];
  inline int motor_torque_size() const;
  inline void clear_motor_torque();
  static const int kMotorTorqueFieldNumber = 3;
  inline float motor_torque(int index) const;
  inline void set_motor_torque(int index, float value);
  inline void add_motor_torque(float value);
  inline const ::google::protobuf::RepeatedField< float >&
      motor_torque() const;
  inline ::google::protobuf::RepeatedField< float >*
      mutable_motor_torque();

  // repeated float joint_pos = 4 [packed = true];
  inline int joint_pos_size() const;
  inline void clear_joint_pos();
  static const int kJointPosFieldNumber = 4;
  inline float joint_pos(int index) const;
  inline void set_joint_pos(int index, float value);
  inline void add_joint_pos(float value);
  inline const ::google::protobuf::RepeatedField< float >&
      joint_pos() const;
  inline ::google::protobuf::RepeatedField< float >*
      mutable_joint_pos();

  // repeated float joint_vel = 5 [packed = true];
  inline int joint_vel_size() const;
  inline void clear_joint_vel();
  static const int kJointVelFieldNumber = 5;
  inline float joint_vel(int index) const;
  inline void set_joint_vel(int index, float value);
  inline void add_joint_vel(float value);
  inline const ::google::protobuf::RepeatedField< float >&
      joint_vel() const;
  inline ::google::protobuf::RepeatedField< float >*
      mutable_joint_vel();

  // repeated float contact = 6 [packed = true];
  inline int contact_size() const;
  inline void clear_contact();
  static const int kContactFieldNumber = 6;
  inline float contact(int index) const;
  inline void set_contact(int index, float value);
  inline void add_contact(float value);
  inline const ::google::protobuf::RepeatedField< float >&
      contact() const;
  inline ::google::protobuf::RepeatedField< float >*
      mutable_contact();

  // repeated .haptix.comm.msgs.imu imu_linear_acc = 7;
  inline int imu_linear_acc_size() const;
  inline void clear_imu_linear_acc();
  static const int kImuLinearAccFieldNumber = 7;
  inline const ::haptix::comm::msgs::imu& imu_linear_acc(int index) const;
  inline ::haptix::comm::msgs::imu* mutable_imu_linear_acc(int index);
  inline ::haptix::comm::msgs::imu* add_imu_linear_acc();
  inline const ::google::protobuf::RepeatedPtrField< ::haptix::comm::msgs::imu >&
      imu_linear_acc() const;
  inline ::google::protobuf::RepeatedPtrField< ::haptix::comm::msgs::imu >*
      mutable_imu_linear_acc();

  // repeated .haptix.comm.msgs.imu imu_angular_vel = 8;
  inline int imu_angular_vel_size() const;
  inline void clear_imu_angular_vel();
  static const int kImuAngularVelFieldNumber = 8;
  inline const ::haptix::comm::msgs::imu& imu_angular_vel(int index) const;
  inline ::haptix::comm::msgs::imu* mutable_imu_angular_vel(int index);
  inline ::haptix::comm::msgs::imu* add_imu_angular_vel();
  inline const ::google::protobuf::RepeatedPtrField< ::haptix::comm::msgs::imu >&
      imu_angular_vel() const;
  inline ::google::protobuf::RepeatedPtrField< ::haptix::comm::msgs::imu >*
      mutable_imu_angular_vel();

  // repeated .haptix.comm.msgs.quaternion imu_orientation = 9;
  inline int imu_orientation_size() const;
  inline void clear_imu_orientation();
  static const int kImuOrientationFieldNumber = 9;
  inline const ::haptix::comm::msgs::quaternion& imu_orientation(int index) const;
  inline ::haptix::comm::msgs::quaternion* mutable_imu_orientation(int index);
  inline ::haptix::comm::msgs::quaternion* add_imu_orientation();
  inline const ::google::protobuf::RepeatedPtrField< ::haptix::comm::msgs::quaternion >&
      imu_orientation() const;
  inline ::google::protobuf::RepeatedPtrField< ::haptix::comm::msgs::quaternion >*
      mutable_imu_orientation();

  // required .haptix.comm.msgs.time time_stamp = 10;
  inline bool has_time_stamp() const;
  inline void clear_time_stamp();
  static const int kTimeStampFieldNumber = 10;
  inline const ::haptix::comm::msgs::time& time_stamp() const;
  inline ::haptix::comm::msgs::time* mutable_time_stamp();
  inline ::haptix::comm::msgs::time* release_time_stamp();
  inline void set_allocated_time_stamp(::haptix::comm::msgs::time* time_stamp);

  // @@protoc_insertion_point(class_scope:haptix.comm.msgs.hxSensor)
 private:
  inline void set_has_time_stamp();
  inline void clear_has_time_stamp();

  ::google::protobuf::UnknownFieldSet _unknown_fields_;

  ::google::protobuf::uint32 _has_bits_[1];
  mutable int _cached_size_;
  ::google::protobuf::RepeatedField< float > motor_pos_;
  mutable int _motor_pos_cached_byte_size_;
  ::google::protobuf::RepeatedField< float > motor_vel_;
  mutable int _motor_vel_cached_byte_size_;
  ::google::protobuf::RepeatedField< float > motor_torque_;
  mutable int _motor_torque_cached_byte_size_;
  ::google::protobuf::RepeatedField< float > joint_pos_;
  mutable int _joint_pos_cached_byte_size_;
  ::google::protobuf::RepeatedField< float > joint_vel_;
  mutable int _joint_vel_cached_byte_size_;
  ::google::protobuf::RepeatedField< float > contact_;
  mutable int _contact_cached_byte_size_;
  ::google::protobuf::RepeatedPtrField< ::haptix::comm::msgs::imu > imu_linear_acc_;
  ::google::protobuf::RepeatedPtrField< ::haptix::comm::msgs::imu > imu_angular_vel_;
  ::google::protobuf::RepeatedPtrField< ::haptix::comm::msgs::quaternion > imu_orientation_;
  ::haptix::comm::msgs::time* time_stamp_;
  friend void  protobuf_AddDesc_hxSensor_2eproto();
  friend void protobuf_AssignDesc_hxSensor_2eproto();
  friend void protobuf_ShutdownFile_hxSensor_2eproto();

  void InitAsDefaultInstance();
  static hxSensor* default_instance_;
};
// ===================================================================


// ===================================================================

// imu

// required float x = 1;
inline bool imu::has_x() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void imu::set_has_x() {
  _has_bits_[0] |= 0x00000001u;
}
inline void imu::clear_has_x() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void imu::clear_x() {
  x_ = 0;
  clear_has_x();
}
inline float imu::x() const {
  // @@protoc_insertion_point(field_get:haptix.comm.msgs.imu.x)
  return x_;
}
inline void imu::set_x(float value) {
  set_has_x();
  x_ = value;
  // @@protoc_insertion_point(field_set:haptix.comm.msgs.imu.x)
}

// required float y = 2;
inline bool imu::has_y() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
inline void imu::set_has_y() {
  _has_bits_[0] |= 0x00000002u;
}
inline void imu::clear_has_y() {
  _has_bits_[0] &= ~0x00000002u;
}
inline void imu::clear_y() {
  y_ = 0;
  clear_has_y();
}
inline float imu::y() const {
  // @@protoc_insertion_point(field_get:haptix.comm.msgs.imu.y)
  return y_;
}
inline void imu::set_y(float value) {
  set_has_y();
  y_ = value;
  // @@protoc_insertion_point(field_set:haptix.comm.msgs.imu.y)
}

// required float z = 3;
inline bool imu::has_z() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
inline void imu::set_has_z() {
  _has_bits_[0] |= 0x00000004u;
}
inline void imu::clear_has_z() {
  _has_bits_[0] &= ~0x00000004u;
}
inline void imu::clear_z() {
  z_ = 0;
  clear_has_z();
}
inline float imu::z() const {
  // @@protoc_insertion_point(field_get:haptix.comm.msgs.imu.z)
  return z_;
}
inline void imu::set_z(float value) {
  set_has_z();
  z_ = value;
  // @@protoc_insertion_point(field_set:haptix.comm.msgs.imu.z)
}

// -------------------------------------------------------------------

// quaternion

// required float w = 1;
inline bool quaternion::has_w() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void quaternion::set_has_w() {
  _has_bits_[0] |= 0x00000001u;
}
inline void quaternion::clear_has_w() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void quaternion::clear_w() {
  w_ = 0;
  clear_has_w();
}
inline float quaternion::w() const {
  // @@protoc_insertion_point(field_get:haptix.comm.msgs.quaternion.w)
  return w_;
}
inline void quaternion::set_w(float value) {
  set_has_w();
  w_ = value;
  // @@protoc_insertion_point(field_set:haptix.comm.msgs.quaternion.w)
}

// required float x = 2;
inline bool quaternion::has_x() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
inline void quaternion::set_has_x() {
  _has_bits_[0] |= 0x00000002u;
}
inline void quaternion::clear_has_x() {
  _has_bits_[0] &= ~0x00000002u;
}
inline void quaternion::clear_x() {
  x_ = 0;
  clear_has_x();
}
inline float quaternion::x() const {
  // @@protoc_insertion_point(field_get:haptix.comm.msgs.quaternion.x)
  return x_;
}
inline void quaternion::set_x(float value) {
  set_has_x();
  x_ = value;
  // @@protoc_insertion_point(field_set:haptix.comm.msgs.quaternion.x)
}

// required float y = 3;
inline bool quaternion::has_y() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
inline void quaternion::set_has_y() {
  _has_bits_[0] |= 0x00000004u;
}
inline void quaternion::clear_has_y() {
  _has_bits_[0] &= ~0x00000004u;
}
inline void quaternion::clear_y() {
  y_ = 0;
  clear_has_y();
}
inline float quaternion::y() const {
  // @@protoc_insertion_point(field_get:haptix.comm.msgs.quaternion.y)
  return y_;
}
inline void quaternion::set_y(float value) {
  set_has_y();
  y_ = value;
  // @@protoc_insertion_point(field_set:haptix.comm.msgs.quaternion.y)
}

// required float z = 4;
inline bool quaternion::has_z() const {
  return (_has_bits_[0] & 0x00000008u) != 0;
}
inline void quaternion::set_has_z() {
  _has_bits_[0] |= 0x00000008u;
}
inline void quaternion::clear_has_z() {
  _has_bits_[0] &= ~0x00000008u;
}
inline void quaternion::clear_z() {
  z_ = 0;
  clear_has_z();
}
inline float quaternion::z() const {
  // @@protoc_insertion_point(field_get:haptix.comm.msgs.quaternion.z)
  return z_;
}
inline void quaternion::set_z(float value) {
  set_has_z();
  z_ = value;
  // @@protoc_insertion_point(field_set:haptix.comm.msgs.quaternion.z)
}

// -------------------------------------------------------------------

// time

// required uint64 sec = 1;
inline bool time::has_sec() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void time::set_has_sec() {
  _has_bits_[0] |= 0x00000001u;
}
inline void time::clear_has_sec() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void time::clear_sec() {
  sec_ = GOOGLE_ULONGLONG(0);
  clear_has_sec();
}
inline ::google::protobuf::uint64 time::sec() const {
  // @@protoc_insertion_point(field_get:haptix.comm.msgs.time.sec)
  return sec_;
}
inline void time::set_sec(::google::protobuf::uint64 value) {
  set_has_sec();
  sec_ = value;
  // @@protoc_insertion_point(field_set:haptix.comm.msgs.time.sec)
}

// required uint64 nsec = 2;
inline bool time::has_nsec() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
inline void time::set_has_nsec() {
  _has_bits_[0] |= 0x00000002u;
}
inline void time::clear_has_nsec() {
  _has_bits_[0] &= ~0x00000002u;
}
inline void time::clear_nsec() {
  nsec_ = GOOGLE_ULONGLONG(0);
  clear_has_nsec();
}
inline ::google::protobuf::uint64 time::nsec() const {
  // @@protoc_insertion_point(field_get:haptix.comm.msgs.time.nsec)
  return nsec_;
}
inline void time::set_nsec(::google::protobuf::uint64 value) {
  set_has_nsec();
  nsec_ = value;
  // @@protoc_insertion_point(field_set:haptix.comm.msgs.time.nsec)
}

// -------------------------------------------------------------------

// hxSensor

// repeated float motor_pos = 1 [packed = true];
inline int hxSensor::motor_pos_size() const {
  return motor_pos_.size();
}
inline void hxSensor::clear_motor_pos() {
  motor_pos_.Clear();
}
inline float hxSensor::motor_pos(int index) const {
  // @@protoc_insertion_point(field_get:haptix.comm.msgs.hxSensor.motor_pos)
  return motor_pos_.Get(index);
}
inline void hxSensor::set_motor_pos(int index, float value) {
  motor_pos_.Set(index, value);
  // @@protoc_insertion_point(field_set:haptix.comm.msgs.hxSensor.motor_pos)
}
inline void hxSensor::add_motor_pos(float value) {
  motor_pos_.Add(value);
  // @@protoc_insertion_point(field_add:haptix.comm.msgs.hxSensor.motor_pos)
}
inline const ::google::protobuf::RepeatedField< float >&
hxSensor::motor_pos() const {
  // @@protoc_insertion_point(field_list:haptix.comm.msgs.hxSensor.motor_pos)
  return motor_pos_;
}
inline ::google::protobuf::RepeatedField< float >*
hxSensor::mutable_motor_pos() {
  // @@protoc_insertion_point(field_mutable_list:haptix.comm.msgs.hxSensor.motor_pos)
  return &motor_pos_;
}

// repeated float motor_vel = 2 [packed = true];
inline int hxSensor::motor_vel_size() const {
  return motor_vel_.size();
}
inline void hxSensor::clear_motor_vel() {
  motor_vel_.Clear();
}
inline float hxSensor::motor_vel(int index) const {
  // @@protoc_insertion_point(field_get:haptix.comm.msgs.hxSensor.motor_vel)
  return motor_vel_.Get(index);
}
inline void hxSensor::set_motor_vel(int index, float value) {
  motor_vel_.Set(index, value);
  // @@protoc_insertion_point(field_set:haptix.comm.msgs.hxSensor.motor_vel)
}
inline void hxSensor::add_motor_vel(float value) {
  motor_vel_.Add(value);
  // @@protoc_insertion_point(field_add:haptix.comm.msgs.hxSensor.motor_vel)
}
inline const ::google::protobuf::RepeatedField< float >&
hxSensor::motor_vel() const {
  // @@protoc_insertion_point(field_list:haptix.comm.msgs.hxSensor.motor_vel)
  return motor_vel_;
}
inline ::google::protobuf::RepeatedField< float >*
hxSensor::mutable_motor_vel() {
  // @@protoc_insertion_point(field_mutable_list:haptix.comm.msgs.hxSensor.motor_vel)
  return &motor_vel_;
}

// repeated float motor_torque = 3 [packed = true];
inline int hxSensor::motor_torque_size() const {
  return motor_torque_.size();
}
inline void hxSensor::clear_motor_torque() {
  motor_torque_.Clear();
}
inline float hxSensor::motor_torque(int index) const {
  // @@protoc_insertion_point(field_get:haptix.comm.msgs.hxSensor.motor_torque)
  return motor_torque_.Get(index);
}
inline void hxSensor::set_motor_torque(int index, float value) {
  motor_torque_.Set(index, value);
  // @@protoc_insertion_point(field_set:haptix.comm.msgs.hxSensor.motor_torque)
}
inline void hxSensor::add_motor_torque(float value) {
  motor_torque_.Add(value);
  // @@protoc_insertion_point(field_add:haptix.comm.msgs.hxSensor.motor_torque)
}
inline const ::google::protobuf::RepeatedField< float >&
hxSensor::motor_torque() const {
  // @@protoc_insertion_point(field_list:haptix.comm.msgs.hxSensor.motor_torque)
  return motor_torque_;
}
inline ::google::protobuf::RepeatedField< float >*
hxSensor::mutable_motor_torque() {
  // @@protoc_insertion_point(field_mutable_list:haptix.comm.msgs.hxSensor.motor_torque)
  return &motor_torque_;
}

// repeated float joint_pos = 4 [packed = true];
inline int hxSensor::joint_pos_size() const {
  return joint_pos_.size();
}
inline void hxSensor::clear_joint_pos() {
  joint_pos_.Clear();
}
inline float hxSensor::joint_pos(int index) const {
  // @@protoc_insertion_point(field_get:haptix.comm.msgs.hxSensor.joint_pos)
  return joint_pos_.Get(index);
}
inline void hxSensor::set_joint_pos(int index, float value) {
  joint_pos_.Set(index, value);
  // @@protoc_insertion_point(field_set:haptix.comm.msgs.hxSensor.joint_pos)
}
inline void hxSensor::add_joint_pos(float value) {
  joint_pos_.Add(value);
  // @@protoc_insertion_point(field_add:haptix.comm.msgs.hxSensor.joint_pos)
}
inline const ::google::protobuf::RepeatedField< float >&
hxSensor::joint_pos() const {
  // @@protoc_insertion_point(field_list:haptix.comm.msgs.hxSensor.joint_pos)
  return joint_pos_;
}
inline ::google::protobuf::RepeatedField< float >*
hxSensor::mutable_joint_pos() {
  // @@protoc_insertion_point(field_mutable_list:haptix.comm.msgs.hxSensor.joint_pos)
  return &joint_pos_;
}

// repeated float joint_vel = 5 [packed = true];
inline int hxSensor::joint_vel_size() const {
  return joint_vel_.size();
}
inline void hxSensor::clear_joint_vel() {
  joint_vel_.Clear();
}
inline float hxSensor::joint_vel(int index) const {
  // @@protoc_insertion_point(field_get:haptix.comm.msgs.hxSensor.joint_vel)
  return joint_vel_.Get(index);
}
inline void hxSensor::set_joint_vel(int index, float value) {
  joint_vel_.Set(index, value);
  // @@protoc_insertion_point(field_set:haptix.comm.msgs.hxSensor.joint_vel)
}
inline void hxSensor::add_joint_vel(float value) {
  joint_vel_.Add(value);
  // @@protoc_insertion_point(field_add:haptix.comm.msgs.hxSensor.joint_vel)
}
inline const ::google::protobuf::RepeatedField< float >&
hxSensor::joint_vel() const {
  // @@protoc_insertion_point(field_list:haptix.comm.msgs.hxSensor.joint_vel)
  return joint_vel_;
}
inline ::google::protobuf::RepeatedField< float >*
hxSensor::mutable_joint_vel() {
  // @@protoc_insertion_point(field_mutable_list:haptix.comm.msgs.hxSensor.joint_vel)
  return &joint_vel_;
}

// repeated float contact = 6 [packed = true];
inline int hxSensor::contact_size() const {
  return contact_.size();
}
inline void hxSensor::clear_contact() {
  contact_.Clear();
}
inline float hxSensor::contact(int index) const {
  // @@protoc_insertion_point(field_get:haptix.comm.msgs.hxSensor.contact)
  return contact_.Get(index);
}
inline void hxSensor::set_contact(int index, float value) {
  contact_.Set(index, value);
  // @@protoc_insertion_point(field_set:haptix.comm.msgs.hxSensor.contact)
}
inline void hxSensor::add_contact(float value) {
  contact_.Add(value);
  // @@protoc_insertion_point(field_add:haptix.comm.msgs.hxSensor.contact)
}
inline const ::google::protobuf::RepeatedField< float >&
hxSensor::contact() const {
  // @@protoc_insertion_point(field_list:haptix.comm.msgs.hxSensor.contact)
  return contact_;
}
inline ::google::protobuf::RepeatedField< float >*
hxSensor::mutable_contact() {
  // @@protoc_insertion_point(field_mutable_list:haptix.comm.msgs.hxSensor.contact)
  return &contact_;
}

// repeated .haptix.comm.msgs.imu imu_linear_acc = 7;
inline int hxSensor::imu_linear_acc_size() const {
  return imu_linear_acc_.size();
}
inline void hxSensor::clear_imu_linear_acc() {
  imu_linear_acc_.Clear();
}
inline const ::haptix::comm::msgs::imu& hxSensor::imu_linear_acc(int index) const {
  // @@protoc_insertion_point(field_get:haptix.comm.msgs.hxSensor.imu_linear_acc)
  return imu_linear_acc_.Get(index);
}
inline ::haptix::comm::msgs::imu* hxSensor::mutable_imu_linear_acc(int index) {
  // @@protoc_insertion_point(field_mutable:haptix.comm.msgs.hxSensor.imu_linear_acc)
  return imu_linear_acc_.Mutable(index);
}
inline ::haptix::comm::msgs::imu* hxSensor::add_imu_linear_acc() {
  // @@protoc_insertion_point(field_add:haptix.comm.msgs.hxSensor.imu_linear_acc)
  return imu_linear_acc_.Add();
}
inline const ::google::protobuf::RepeatedPtrField< ::haptix::comm::msgs::imu >&
hxSensor::imu_linear_acc() const {
  // @@protoc_insertion_point(field_list:haptix.comm.msgs.hxSensor.imu_linear_acc)
  return imu_linear_acc_;
}
inline ::google::protobuf::RepeatedPtrField< ::haptix::comm::msgs::imu >*
hxSensor::mutable_imu_linear_acc() {
  // @@protoc_insertion_point(field_mutable_list:haptix.comm.msgs.hxSensor.imu_linear_acc)
  return &imu_linear_acc_;
}

// repeated .haptix.comm.msgs.imu imu_angular_vel = 8;
inline int hxSensor::imu_angular_vel_size() const {
  return imu_angular_vel_.size();
}
inline void hxSensor::clear_imu_angular_vel() {
  imu_angular_vel_.Clear();
}
inline const ::haptix::comm::msgs::imu& hxSensor::imu_angular_vel(int index) const {
  // @@protoc_insertion_point(field_get:haptix.comm.msgs.hxSensor.imu_angular_vel)
  return imu_angular_vel_.Get(index);
}
inline ::haptix::comm::msgs::imu* hxSensor::mutable_imu_angular_vel(int index) {
  // @@protoc_insertion_point(field_mutable:haptix.comm.msgs.hxSensor.imu_angular_vel)
  return imu_angular_vel_.Mutable(index);
}
inline ::haptix::comm::msgs::imu* hxSensor::add_imu_angular_vel() {
  // @@protoc_insertion_point(field_add:haptix.comm.msgs.hxSensor.imu_angular_vel)
  return imu_angular_vel_.Add();
}
inline const ::google::protobuf::RepeatedPtrField< ::haptix::comm::msgs::imu >&
hxSensor::imu_angular_vel() const {
  // @@protoc_insertion_point(field_list:haptix.comm.msgs.hxSensor.imu_angular_vel)
  return imu_angular_vel_;
}
inline ::google::protobuf::RepeatedPtrField< ::haptix::comm::msgs::imu >*
hxSensor::mutable_imu_angular_vel() {
  // @@protoc_insertion_point(field_mutable_list:haptix.comm.msgs.hxSensor.imu_angular_vel)
  return &imu_angular_vel_;
}

// repeated .haptix.comm.msgs.quaternion imu_orientation = 9;
inline int hxSensor::imu_orientation_size() const {
  return imu_orientation_.size();
}
inline void hxSensor::clear_imu_orientation() {
  imu_orientation_.Clear();
}
inline const ::haptix::comm::msgs::quaternion& hxSensor::imu_orientation(int index) const {
  // @@protoc_insertion_point(field_get:haptix.comm.msgs.hxSensor.imu_orientation)
  return imu_orientation_.Get(index);
}
inline ::haptix::comm::msgs::quaternion* hxSensor::mutable_imu_orientation(int index) {
  // @@protoc_insertion_point(field_mutable:haptix.comm.msgs.hxSensor.imu_orientation)
  return imu_orientation_.Mutable(index);
}
inline ::haptix::comm::msgs::quaternion* hxSensor::add_imu_orientation() {
  // @@protoc_insertion_point(field_add:haptix.comm.msgs.hxSensor.imu_orientation)
  return imu_orientation_.Add();
}
inline const ::google::protobuf::RepeatedPtrField< ::haptix::comm::msgs::quaternion >&
hxSensor::imu_orientation() const {
  // @@protoc_insertion_point(field_list:haptix.comm.msgs.hxSensor.imu_orientation)
  return imu_orientation_;
}
inline ::google::protobuf::RepeatedPtrField< ::haptix::comm::msgs::quaternion >*
hxSensor::mutable_imu_orientation() {
  // @@protoc_insertion_point(field_mutable_list:haptix.comm.msgs.hxSensor.imu_orientation)
  return &imu_orientation_;
}

// required .haptix.comm.msgs.time time_stamp = 10;
inline bool hxSensor::has_time_stamp() const {
  return (_has_bits_[0] & 0x00000200u) != 0;
}
inline void hxSensor::set_has_time_stamp() {
  _has_bits_[0] |= 0x00000200u;
}
inline void hxSensor::clear_has_time_stamp() {
  _has_bits_[0] &= ~0x00000200u;
}
inline void hxSensor::clear_time_stamp() {
  if (time_stamp_ != NULL) time_stamp_->::haptix::comm::msgs::time::Clear();
  clear_has_time_stamp();
}
inline const ::haptix::comm::msgs::time& hxSensor::time_stamp() const {
  // @@protoc_insertion_point(field_get:haptix.comm.msgs.hxSensor.time_stamp)
  return time_stamp_ != NULL ? *time_stamp_ : *default_instance_->time_stamp_;
}
inline ::haptix::comm::msgs::time* hxSensor::mutable_time_stamp() {
  set_has_time_stamp();
  if (time_stamp_ == NULL) time_stamp_ = new ::haptix::comm::msgs::time;
  // @@protoc_insertion_point(field_mutable:haptix.comm.msgs.hxSensor.time_stamp)
  return time_stamp_;
}
inline ::haptix::comm::msgs::time* hxSensor::release_time_stamp() {
  clear_has_time_stamp();
  ::haptix::comm::msgs::time* temp = time_stamp_;
  time_stamp_ = NULL;
  return temp;
}
inline void hxSensor::set_allocated_time_stamp(::haptix::comm::msgs::time* time_stamp) {
  delete time_stamp_;
  time_stamp_ = time_stamp;
  if (time_stamp) {
    set_has_time_stamp();
  } else {
    clear_has_time_stamp();
  }
  // @@protoc_insertion_point(field_set_allocated:haptix.comm.msgs.hxSensor.time_stamp)
}


typedef std::shared_ptr<haptix::comm::msgs::imu> imuPtr;
// @@protoc_insertion_point(namespace_scope)

}  // namespace msgs
}  // namespace comm
}  // namespace haptix

#ifndef SWIG
namespace google {
namespace protobuf {


}  // namespace google
}  // namespace protobuf
#endif  // SWIG

typedef const std::shared_ptr<haptix::comm::msgs::imu const> ConstimuPtr;
// @@protoc_insertion_point(global_scope)

#endif  // PROTOBUF_hxSensor_2eproto__INCLUDED
