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

#ifndef PROTOBUF_EleFence_2eproto__INCLUDED
#define PROTOBUF_EleFence_2eproto__INCLUDED

#include <string>

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

#if GOOGLE_PROTOBUF_VERSION < 3005000
#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 3005000 < 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/io/coded_stream.h>
#include <google/protobuf/arena.h>
#include <google/protobuf/arenastring.h>
#include <google/protobuf/generated_message_table_driven.h>
#include <google/protobuf/generated_message_util.h>
#include <google/protobuf/metadata.h>
#include <google/protobuf/message.h>
#include <google/protobuf/repeated_field.h>  // IWYU pragma: export
#include <google/protobuf/extension_set.h>  // IWYU pragma: export
#include <google/protobuf/unknown_field_set.h>
// @@protoc_insertion_point(includes)

namespace protobuf_EleFence_2eproto {
// Internal implementation detail -- do not use these members.
struct TableStruct {
  static const ::google::protobuf::internal::ParseTableField entries[];
  static const ::google::protobuf::internal::AuxillaryParseTableField aux[];
  static const ::google::protobuf::internal::ParseTable schema[4];
  static const ::google::protobuf::internal::FieldMetadata field_metadata[];
  static const ::google::protobuf::internal::SerializationTable serialization_table[];
  static const ::google::protobuf::uint32 offsets[];
};
void AddDescriptors();
void InitDefaultsRegionImpl();
void InitDefaultsRegion();
void InitDefaultsTransform2dImpl();
void InitDefaultsTransform2d();
void InitDefaultslidarParamImpl();
void InitDefaultslidarParam();
void InitDefaultsglobalParamImpl();
void InitDefaultsglobalParam();
inline void InitDefaults() {
  InitDefaultsRegion();
  InitDefaultsTransform2d();
  InitDefaultslidarParam();
  InitDefaultsglobalParam();
}
}  // namespace protobuf_EleFence_2eproto
namespace EleFence {
class Region;
class RegionDefaultTypeInternal;
extern RegionDefaultTypeInternal _Region_default_instance_;
class Transform2d;
class Transform2dDefaultTypeInternal;
extern Transform2dDefaultTypeInternal _Transform2d_default_instance_;
class globalParam;
class globalParamDefaultTypeInternal;
extern globalParamDefaultTypeInternal _globalParam_default_instance_;
class lidarParam;
class lidarParamDefaultTypeInternal;
extern lidarParamDefaultTypeInternal _lidarParam_default_instance_;
}  // namespace EleFence
namespace EleFence {

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

class Region : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:EleFence.Region) */ {
 public:
  Region();
  virtual ~Region();

  Region(const Region& from);

  inline Region& operator=(const Region& from) {
    CopyFrom(from);
    return *this;
  }
  #if LANG_CXX11
  Region(Region&& from) noexcept
    : Region() {
    *this = ::std::move(from);
  }

  inline Region& operator=(Region&& from) noexcept {
    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }
  #endif
  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields();
  }
  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields();
  }

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

  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
  static inline const Region* internal_default_instance() {
    return reinterpret_cast<const Region*>(
               &_Region_default_instance_);
  }
  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
    0;

  void Swap(Region* other);
  friend void swap(Region& a, Region& b) {
    a.Swap(&b);
  }

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

  inline Region* New() const PROTOBUF_FINAL { return New(NULL); }

  Region* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
  void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
  void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
  void CopyFrom(const Region& from);
  void MergeFrom(const Region& from);
  void Clear() PROTOBUF_FINAL;
  bool IsInitialized() const PROTOBUF_FINAL;

  size_t ByteSizeLong() const PROTOBUF_FINAL;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
      bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const PROTOBUF_FINAL;
  void InternalSwap(Region* other);
  private:
  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
    return NULL;
  }
  inline void* MaybeArenaPtr() const {
    return NULL;
  }
  public:

  ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;

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

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

  // required float minx = 1;
  bool has_minx() const;
  void clear_minx();
  static const int kMinxFieldNumber = 1;
  float minx() const;
  void set_minx(float value);

  // required float maxx = 2;
  bool has_maxx() const;
  void clear_maxx();
  static const int kMaxxFieldNumber = 2;
  float maxx() const;
  void set_maxx(float value);

  // required float miny = 3;
  bool has_miny() const;
  void clear_miny();
  static const int kMinyFieldNumber = 3;
  float miny() const;
  void set_miny(float value);

  // required float maxy = 4;
  bool has_maxy() const;
  void clear_maxy();
  static const int kMaxyFieldNumber = 4;
  float maxy() const;
  void set_maxy(float value);

  // @@protoc_insertion_point(class_scope:EleFence.Region)
 private:
  void set_has_minx();
  void clear_has_minx();
  void set_has_maxx();
  void clear_has_maxx();
  void set_has_miny();
  void clear_has_miny();
  void set_has_maxy();
  void clear_has_maxy();

  // helper for ByteSizeLong()
  size_t RequiredFieldsByteSizeFallback() const;

  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
  ::google::protobuf::internal::HasBits<1> _has_bits_;
  mutable int _cached_size_;
  float minx_;
  float maxx_;
  float miny_;
  float maxy_;
  friend struct ::protobuf_EleFence_2eproto::TableStruct;
  friend void ::protobuf_EleFence_2eproto::InitDefaultsRegionImpl();
};
// -------------------------------------------------------------------

class Transform2d : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:EleFence.Transform2d) */ {
 public:
  Transform2d();
  virtual ~Transform2d();

  Transform2d(const Transform2d& from);

  inline Transform2d& operator=(const Transform2d& from) {
    CopyFrom(from);
    return *this;
  }
  #if LANG_CXX11
  Transform2d(Transform2d&& from) noexcept
    : Transform2d() {
    *this = ::std::move(from);
  }

  inline Transform2d& operator=(Transform2d&& from) noexcept {
    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }
  #endif
  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields();
  }
  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields();
  }

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

  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
  static inline const Transform2d* internal_default_instance() {
    return reinterpret_cast<const Transform2d*>(
               &_Transform2d_default_instance_);
  }
  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
    1;

  void Swap(Transform2d* other);
  friend void swap(Transform2d& a, Transform2d& b) {
    a.Swap(&b);
  }

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

  inline Transform2d* New() const PROTOBUF_FINAL { return New(NULL); }

  Transform2d* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
  void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
  void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
  void CopyFrom(const Transform2d& from);
  void MergeFrom(const Transform2d& from);
  void Clear() PROTOBUF_FINAL;
  bool IsInitialized() const PROTOBUF_FINAL;

  size_t ByteSizeLong() const PROTOBUF_FINAL;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
      bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const PROTOBUF_FINAL;
  void InternalSwap(Transform2d* other);
  private:
  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
    return NULL;
  }
  inline void* MaybeArenaPtr() const {
    return NULL;
  }
  public:

  ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;

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

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

  // optional float m01 = 2 [default = 0];
  bool has_m01() const;
  void clear_m01();
  static const int kM01FieldNumber = 2;
  float m01() const;
  void set_m01(float value);

  // optional float m02 = 3 [default = 0];
  bool has_m02() const;
  void clear_m02();
  static const int kM02FieldNumber = 3;
  float m02() const;
  void set_m02(float value);

  // optional float m10 = 4 [default = 0];
  bool has_m10() const;
  void clear_m10();
  static const int kM10FieldNumber = 4;
  float m10() const;
  void set_m10(float value);

  // optional float m12 = 6 [default = 0];
  bool has_m12() const;
  void clear_m12();
  static const int kM12FieldNumber = 6;
  float m12() const;
  void set_m12(float value);

  // optional float m00 = 1 [default = 1];
  bool has_m00() const;
  void clear_m00();
  static const int kM00FieldNumber = 1;
  float m00() const;
  void set_m00(float value);

  // optional float m11 = 5 [default = 1];
  bool has_m11() const;
  void clear_m11();
  static const int kM11FieldNumber = 5;
  float m11() const;
  void set_m11(float value);

  // @@protoc_insertion_point(class_scope:EleFence.Transform2d)
 private:
  void set_has_m00();
  void clear_has_m00();
  void set_has_m01();
  void clear_has_m01();
  void set_has_m02();
  void clear_has_m02();
  void set_has_m10();
  void clear_has_m10();
  void set_has_m11();
  void clear_has_m11();
  void set_has_m12();
  void clear_has_m12();

  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
  ::google::protobuf::internal::HasBits<1> _has_bits_;
  mutable int _cached_size_;
  float m01_;
  float m02_;
  float m10_;
  float m12_;
  float m00_;
  float m11_;
  friend struct ::protobuf_EleFence_2eproto::TableStruct;
  friend void ::protobuf_EleFence_2eproto::InitDefaultsTransform2dImpl();
};
// -------------------------------------------------------------------

class lidarParam : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:EleFence.lidarParam) */ {
 public:
  lidarParam();
  virtual ~lidarParam();

  lidarParam(const lidarParam& from);

  inline lidarParam& operator=(const lidarParam& from) {
    CopyFrom(from);
    return *this;
  }
  #if LANG_CXX11
  lidarParam(lidarParam&& from) noexcept
    : lidarParam() {
    *this = ::std::move(from);
  }

  inline lidarParam& operator=(lidarParam&& from) noexcept {
    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }
  #endif
  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields();
  }
  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields();
  }

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

  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
  static inline const lidarParam* internal_default_instance() {
    return reinterpret_cast<const lidarParam*>(
               &_lidarParam_default_instance_);
  }
  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
    2;

  void Swap(lidarParam* other);
  friend void swap(lidarParam& a, lidarParam& b) {
    a.Swap(&b);
  }

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

  inline lidarParam* New() const PROTOBUF_FINAL { return New(NULL); }

  lidarParam* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
  void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
  void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
  void CopyFrom(const lidarParam& from);
  void MergeFrom(const lidarParam& from);
  void Clear() PROTOBUF_FINAL;
  bool IsInitialized() const PROTOBUF_FINAL;

  size_t ByteSizeLong() const PROTOBUF_FINAL;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
      bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const PROTOBUF_FINAL;
  void InternalSwap(lidarParam* other);
  private:
  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
    return NULL;
  }
  inline void* MaybeArenaPtr() const {
    return NULL;
  }
  public:

  ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;

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

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

  // optional string topic = 1;
  bool has_topic() const;
  void clear_topic();
  static const int kTopicFieldNumber = 1;
  const ::std::string& topic() const;
  void set_topic(const ::std::string& value);
  #if LANG_CXX11
  void set_topic(::std::string&& value);
  #endif
  void set_topic(const char* value);
  void set_topic(const char* value, size_t size);
  ::std::string* mutable_topic();
  ::std::string* release_topic();
  void set_allocated_topic(::std::string* topic);

  // optional .EleFence.Transform2d transform = 2;
  bool has_transform() const;
  void clear_transform();
  static const int kTransformFieldNumber = 2;
  const ::EleFence::Transform2d& transform() const;
  ::EleFence::Transform2d* release_transform();
  ::EleFence::Transform2d* mutable_transform();
  void set_allocated_transform(::EleFence::Transform2d* transform);

  // optional float dist_limit = 3 [default = 8];
  bool has_dist_limit() const;
  void clear_dist_limit();
  static const int kDistLimitFieldNumber = 3;
  float dist_limit() const;
  void set_dist_limit(float value);

  // @@protoc_insertion_point(class_scope:EleFence.lidarParam)
 private:
  void set_has_topic();
  void clear_has_topic();
  void set_has_transform();
  void clear_has_transform();
  void set_has_dist_limit();
  void clear_has_dist_limit();

  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
  ::google::protobuf::internal::HasBits<1> _has_bits_;
  mutable int _cached_size_;
  ::google::protobuf::internal::ArenaStringPtr topic_;
  ::EleFence::Transform2d* transform_;
  float dist_limit_;
  friend struct ::protobuf_EleFence_2eproto::TableStruct;
  friend void ::protobuf_EleFence_2eproto::InitDefaultslidarParamImpl();
};
// -------------------------------------------------------------------

class globalParam : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:EleFence.globalParam) */ {
 public:
  globalParam();
  virtual ~globalParam();

  globalParam(const globalParam& from);

  inline globalParam& operator=(const globalParam& from) {
    CopyFrom(from);
    return *this;
  }
  #if LANG_CXX11
  globalParam(globalParam&& from) noexcept
    : globalParam() {
    *this = ::std::move(from);
  }

  inline globalParam& operator=(globalParam&& from) noexcept {
    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }
  #endif
  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields();
  }
  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields();
  }

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

  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
  static inline const globalParam* internal_default_instance() {
    return reinterpret_cast<const globalParam*>(
               &_globalParam_default_instance_);
  }
  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
    3;

  void Swap(globalParam* other);
  friend void swap(globalParam& a, globalParam& b) {
    a.Swap(&b);
  }

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

  inline globalParam* New() const PROTOBUF_FINAL { return New(NULL); }

  globalParam* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
  void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
  void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
  void CopyFrom(const globalParam& from);
  void MergeFrom(const globalParam& from);
  void Clear() PROTOBUF_FINAL;
  bool IsInitialized() const PROTOBUF_FINAL;

  size_t ByteSizeLong() const PROTOBUF_FINAL;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
      bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const PROTOBUF_FINAL;
  void InternalSwap(globalParam* other);
  private:
  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
    return NULL;
  }
  inline void* MaybeArenaPtr() const {
    return NULL;
  }
  public:

  ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;

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

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

  // repeated .EleFence.lidarParam lidar_params = 1;
  int lidar_params_size() const;
  void clear_lidar_params();
  static const int kLidarParamsFieldNumber = 1;
  const ::EleFence::lidarParam& lidar_params(int index) const;
  ::EleFence::lidarParam* mutable_lidar_params(int index);
  ::EleFence::lidarParam* add_lidar_params();
  ::google::protobuf::RepeatedPtrField< ::EleFence::lidarParam >*
      mutable_lidar_params();
  const ::google::protobuf::RepeatedPtrField< ::EleFence::lidarParam >&
      lidar_params() const;

  // repeated .EleFence.Region regions = 2;
  int regions_size() const;
  void clear_regions();
  static const int kRegionsFieldNumber = 2;
  const ::EleFence::Region& regions(int index) const;
  ::EleFence::Region* mutable_regions(int index);
  ::EleFence::Region* add_regions();
  ::google::protobuf::RepeatedPtrField< ::EleFence::Region >*
      mutable_regions();
  const ::google::protobuf::RepeatedPtrField< ::EleFence::Region >&
      regions() const;

  // @@protoc_insertion_point(class_scope:EleFence.globalParam)
 private:

  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
  ::google::protobuf::internal::HasBits<1> _has_bits_;
  mutable int _cached_size_;
  ::google::protobuf::RepeatedPtrField< ::EleFence::lidarParam > lidar_params_;
  ::google::protobuf::RepeatedPtrField< ::EleFence::Region > regions_;
  friend struct ::protobuf_EleFence_2eproto::TableStruct;
  friend void ::protobuf_EleFence_2eproto::InitDefaultsglobalParamImpl();
};
// ===================================================================


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

#ifdef __GNUC__
  #pragma GCC diagnostic push
  #pragma GCC diagnostic ignored "-Wstrict-aliasing"
#endif  // __GNUC__
// Region

// required float minx = 1;
inline bool Region::has_minx() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void Region::set_has_minx() {
  _has_bits_[0] |= 0x00000001u;
}
inline void Region::clear_has_minx() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void Region::clear_minx() {
  minx_ = 0;
  clear_has_minx();
}
inline float Region::minx() const {
  // @@protoc_insertion_point(field_get:EleFence.Region.minx)
  return minx_;
}
inline void Region::set_minx(float value) {
  set_has_minx();
  minx_ = value;
  // @@protoc_insertion_point(field_set:EleFence.Region.minx)
}

// required float maxx = 2;
inline bool Region::has_maxx() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
inline void Region::set_has_maxx() {
  _has_bits_[0] |= 0x00000002u;
}
inline void Region::clear_has_maxx() {
  _has_bits_[0] &= ~0x00000002u;
}
inline void Region::clear_maxx() {
  maxx_ = 0;
  clear_has_maxx();
}
inline float Region::maxx() const {
  // @@protoc_insertion_point(field_get:EleFence.Region.maxx)
  return maxx_;
}
inline void Region::set_maxx(float value) {
  set_has_maxx();
  maxx_ = value;
  // @@protoc_insertion_point(field_set:EleFence.Region.maxx)
}

// required float miny = 3;
inline bool Region::has_miny() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
inline void Region::set_has_miny() {
  _has_bits_[0] |= 0x00000004u;
}
inline void Region::clear_has_miny() {
  _has_bits_[0] &= ~0x00000004u;
}
inline void Region::clear_miny() {
  miny_ = 0;
  clear_has_miny();
}
inline float Region::miny() const {
  // @@protoc_insertion_point(field_get:EleFence.Region.miny)
  return miny_;
}
inline void Region::set_miny(float value) {
  set_has_miny();
  miny_ = value;
  // @@protoc_insertion_point(field_set:EleFence.Region.miny)
}

// required float maxy = 4;
inline bool Region::has_maxy() const {
  return (_has_bits_[0] & 0x00000008u) != 0;
}
inline void Region::set_has_maxy() {
  _has_bits_[0] |= 0x00000008u;
}
inline void Region::clear_has_maxy() {
  _has_bits_[0] &= ~0x00000008u;
}
inline void Region::clear_maxy() {
  maxy_ = 0;
  clear_has_maxy();
}
inline float Region::maxy() const {
  // @@protoc_insertion_point(field_get:EleFence.Region.maxy)
  return maxy_;
}
inline void Region::set_maxy(float value) {
  set_has_maxy();
  maxy_ = value;
  // @@protoc_insertion_point(field_set:EleFence.Region.maxy)
}

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

// Transform2d

// optional float m00 = 1 [default = 1];
inline bool Transform2d::has_m00() const {
  return (_has_bits_[0] & 0x00000010u) != 0;
}
inline void Transform2d::set_has_m00() {
  _has_bits_[0] |= 0x00000010u;
}
inline void Transform2d::clear_has_m00() {
  _has_bits_[0] &= ~0x00000010u;
}
inline void Transform2d::clear_m00() {
  m00_ = 1;
  clear_has_m00();
}
inline float Transform2d::m00() const {
  // @@protoc_insertion_point(field_get:EleFence.Transform2d.m00)
  return m00_;
}
inline void Transform2d::set_m00(float value) {
  set_has_m00();
  m00_ = value;
  // @@protoc_insertion_point(field_set:EleFence.Transform2d.m00)
}

// optional float m01 = 2 [default = 0];
inline bool Transform2d::has_m01() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void Transform2d::set_has_m01() {
  _has_bits_[0] |= 0x00000001u;
}
inline void Transform2d::clear_has_m01() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void Transform2d::clear_m01() {
  m01_ = 0;
  clear_has_m01();
}
inline float Transform2d::m01() const {
  // @@protoc_insertion_point(field_get:EleFence.Transform2d.m01)
  return m01_;
}
inline void Transform2d::set_m01(float value) {
  set_has_m01();
  m01_ = value;
  // @@protoc_insertion_point(field_set:EleFence.Transform2d.m01)
}

// optional float m02 = 3 [default = 0];
inline bool Transform2d::has_m02() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
inline void Transform2d::set_has_m02() {
  _has_bits_[0] |= 0x00000002u;
}
inline void Transform2d::clear_has_m02() {
  _has_bits_[0] &= ~0x00000002u;
}
inline void Transform2d::clear_m02() {
  m02_ = 0;
  clear_has_m02();
}
inline float Transform2d::m02() const {
  // @@protoc_insertion_point(field_get:EleFence.Transform2d.m02)
  return m02_;
}
inline void Transform2d::set_m02(float value) {
  set_has_m02();
  m02_ = value;
  // @@protoc_insertion_point(field_set:EleFence.Transform2d.m02)
}

// optional float m10 = 4 [default = 0];
inline bool Transform2d::has_m10() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
inline void Transform2d::set_has_m10() {
  _has_bits_[0] |= 0x00000004u;
}
inline void Transform2d::clear_has_m10() {
  _has_bits_[0] &= ~0x00000004u;
}
inline void Transform2d::clear_m10() {
  m10_ = 0;
  clear_has_m10();
}
inline float Transform2d::m10() const {
  // @@protoc_insertion_point(field_get:EleFence.Transform2d.m10)
  return m10_;
}
inline void Transform2d::set_m10(float value) {
  set_has_m10();
  m10_ = value;
  // @@protoc_insertion_point(field_set:EleFence.Transform2d.m10)
}

// optional float m11 = 5 [default = 1];
inline bool Transform2d::has_m11() const {
  return (_has_bits_[0] & 0x00000020u) != 0;
}
inline void Transform2d::set_has_m11() {
  _has_bits_[0] |= 0x00000020u;
}
inline void Transform2d::clear_has_m11() {
  _has_bits_[0] &= ~0x00000020u;
}
inline void Transform2d::clear_m11() {
  m11_ = 1;
  clear_has_m11();
}
inline float Transform2d::m11() const {
  // @@protoc_insertion_point(field_get:EleFence.Transform2d.m11)
  return m11_;
}
inline void Transform2d::set_m11(float value) {
  set_has_m11();
  m11_ = value;
  // @@protoc_insertion_point(field_set:EleFence.Transform2d.m11)
}

// optional float m12 = 6 [default = 0];
inline bool Transform2d::has_m12() const {
  return (_has_bits_[0] & 0x00000008u) != 0;
}
inline void Transform2d::set_has_m12() {
  _has_bits_[0] |= 0x00000008u;
}
inline void Transform2d::clear_has_m12() {
  _has_bits_[0] &= ~0x00000008u;
}
inline void Transform2d::clear_m12() {
  m12_ = 0;
  clear_has_m12();
}
inline float Transform2d::m12() const {
  // @@protoc_insertion_point(field_get:EleFence.Transform2d.m12)
  return m12_;
}
inline void Transform2d::set_m12(float value) {
  set_has_m12();
  m12_ = value;
  // @@protoc_insertion_point(field_set:EleFence.Transform2d.m12)
}

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

// lidarParam

// optional string topic = 1;
inline bool lidarParam::has_topic() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void lidarParam::set_has_topic() {
  _has_bits_[0] |= 0x00000001u;
}
inline void lidarParam::clear_has_topic() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void lidarParam::clear_topic() {
  topic_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_topic();
}
inline const ::std::string& lidarParam::topic() const {
  // @@protoc_insertion_point(field_get:EleFence.lidarParam.topic)
  return topic_.GetNoArena();
}
inline void lidarParam::set_topic(const ::std::string& value) {
  set_has_topic();
  topic_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:EleFence.lidarParam.topic)
}
#if LANG_CXX11
inline void lidarParam::set_topic(::std::string&& value) {
  set_has_topic();
  topic_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:EleFence.lidarParam.topic)
}
#endif
inline void lidarParam::set_topic(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_topic();
  topic_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:EleFence.lidarParam.topic)
}
inline void lidarParam::set_topic(const char* value, size_t size) {
  set_has_topic();
  topic_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:EleFence.lidarParam.topic)
}
inline ::std::string* lidarParam::mutable_topic() {
  set_has_topic();
  // @@protoc_insertion_point(field_mutable:EleFence.lidarParam.topic)
  return topic_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline ::std::string* lidarParam::release_topic() {
  // @@protoc_insertion_point(field_release:EleFence.lidarParam.topic)
  clear_has_topic();
  return topic_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline void lidarParam::set_allocated_topic(::std::string* topic) {
  if (topic != NULL) {
    set_has_topic();
  } else {
    clear_has_topic();
  }
  topic_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), topic);
  // @@protoc_insertion_point(field_set_allocated:EleFence.lidarParam.topic)
}

// optional .EleFence.Transform2d transform = 2;
inline bool lidarParam::has_transform() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
inline void lidarParam::set_has_transform() {
  _has_bits_[0] |= 0x00000002u;
}
inline void lidarParam::clear_has_transform() {
  _has_bits_[0] &= ~0x00000002u;
}
inline void lidarParam::clear_transform() {
  if (transform_ != NULL) transform_->Clear();
  clear_has_transform();
}
inline const ::EleFence::Transform2d& lidarParam::transform() const {
  const ::EleFence::Transform2d* p = transform_;
  // @@protoc_insertion_point(field_get:EleFence.lidarParam.transform)
  return p != NULL ? *p : *reinterpret_cast<const ::EleFence::Transform2d*>(
      &::EleFence::_Transform2d_default_instance_);
}
inline ::EleFence::Transform2d* lidarParam::release_transform() {
  // @@protoc_insertion_point(field_release:EleFence.lidarParam.transform)
  clear_has_transform();
  ::EleFence::Transform2d* temp = transform_;
  transform_ = NULL;
  return temp;
}
inline ::EleFence::Transform2d* lidarParam::mutable_transform() {
  set_has_transform();
  if (transform_ == NULL) {
    transform_ = new ::EleFence::Transform2d;
  }
  // @@protoc_insertion_point(field_mutable:EleFence.lidarParam.transform)
  return transform_;
}
inline void lidarParam::set_allocated_transform(::EleFence::Transform2d* transform) {
  ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
  if (message_arena == NULL) {
    delete transform_;
  }
  if (transform) {
    ::google::protobuf::Arena* submessage_arena = NULL;
    if (message_arena != submessage_arena) {
      transform = ::google::protobuf::internal::GetOwnedMessage(
          message_arena, transform, submessage_arena);
    }
    set_has_transform();
  } else {
    clear_has_transform();
  }
  transform_ = transform;
  // @@protoc_insertion_point(field_set_allocated:EleFence.lidarParam.transform)
}

// optional float dist_limit = 3 [default = 8];
inline bool lidarParam::has_dist_limit() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
inline void lidarParam::set_has_dist_limit() {
  _has_bits_[0] |= 0x00000004u;
}
inline void lidarParam::clear_has_dist_limit() {
  _has_bits_[0] &= ~0x00000004u;
}
inline void lidarParam::clear_dist_limit() {
  dist_limit_ = 8;
  clear_has_dist_limit();
}
inline float lidarParam::dist_limit() const {
  // @@protoc_insertion_point(field_get:EleFence.lidarParam.dist_limit)
  return dist_limit_;
}
inline void lidarParam::set_dist_limit(float value) {
  set_has_dist_limit();
  dist_limit_ = value;
  // @@protoc_insertion_point(field_set:EleFence.lidarParam.dist_limit)
}

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

// globalParam

// repeated .EleFence.lidarParam lidar_params = 1;
inline int globalParam::lidar_params_size() const {
  return lidar_params_.size();
}
inline void globalParam::clear_lidar_params() {
  lidar_params_.Clear();
}
inline const ::EleFence::lidarParam& globalParam::lidar_params(int index) const {
  // @@protoc_insertion_point(field_get:EleFence.globalParam.lidar_params)
  return lidar_params_.Get(index);
}
inline ::EleFence::lidarParam* globalParam::mutable_lidar_params(int index) {
  // @@protoc_insertion_point(field_mutable:EleFence.globalParam.lidar_params)
  return lidar_params_.Mutable(index);
}
inline ::EleFence::lidarParam* globalParam::add_lidar_params() {
  // @@protoc_insertion_point(field_add:EleFence.globalParam.lidar_params)
  return lidar_params_.Add();
}
inline ::google::protobuf::RepeatedPtrField< ::EleFence::lidarParam >*
globalParam::mutable_lidar_params() {
  // @@protoc_insertion_point(field_mutable_list:EleFence.globalParam.lidar_params)
  return &lidar_params_;
}
inline const ::google::protobuf::RepeatedPtrField< ::EleFence::lidarParam >&
globalParam::lidar_params() const {
  // @@protoc_insertion_point(field_list:EleFence.globalParam.lidar_params)
  return lidar_params_;
}

// repeated .EleFence.Region regions = 2;
inline int globalParam::regions_size() const {
  return regions_.size();
}
inline void globalParam::clear_regions() {
  regions_.Clear();
}
inline const ::EleFence::Region& globalParam::regions(int index) const {
  // @@protoc_insertion_point(field_get:EleFence.globalParam.regions)
  return regions_.Get(index);
}
inline ::EleFence::Region* globalParam::mutable_regions(int index) {
  // @@protoc_insertion_point(field_mutable:EleFence.globalParam.regions)
  return regions_.Mutable(index);
}
inline ::EleFence::Region* globalParam::add_regions() {
  // @@protoc_insertion_point(field_add:EleFence.globalParam.regions)
  return regions_.Add();
}
inline ::google::protobuf::RepeatedPtrField< ::EleFence::Region >*
globalParam::mutable_regions() {
  // @@protoc_insertion_point(field_mutable_list:EleFence.globalParam.regions)
  return &regions_;
}
inline const ::google::protobuf::RepeatedPtrField< ::EleFence::Region >&
globalParam::regions() const {
  // @@protoc_insertion_point(field_list:EleFence.globalParam.regions)
  return regions_;
}

#ifdef __GNUC__
  #pragma GCC diagnostic pop
#endif  // __GNUC__
// -------------------------------------------------------------------

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

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


// @@protoc_insertion_point(namespace_scope)

}  // namespace EleFence

// @@protoc_insertion_point(global_scope)

#endif  // PROTOBUF_EleFence_2eproto__INCLUDED
