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

#ifndef PROTOBUF_wj_5flidar_5fconf_2eproto__INCLUDED
#define PROTOBUF_wj_5flidar_5fconf_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_wj_5flidar_5fconf_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[6];
  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 InitDefaultswjManagerParamsImpl();
void InitDefaultswjManagerParams();
void InitDefaultsRegionImpl();
void InitDefaultsRegion();
void InitDefaultswjLidarParamsImpl();
void InitDefaultswjLidarParams();
void InitDefaultsnetConfigImpl();
void InitDefaultsnetConfig();
void InitDefaultsTransform2dImpl();
void InitDefaultsTransform2d();
void InitDefaultsscanLimitImpl();
void InitDefaultsscanLimit();
inline void InitDefaults() {
  InitDefaultswjManagerParams();
  InitDefaultsRegion();
  InitDefaultswjLidarParams();
  InitDefaultsnetConfig();
  InitDefaultsTransform2d();
  InitDefaultsscanLimit();
}
}  // namespace protobuf_wj_5flidar_5fconf_2eproto
namespace wj {
class Region;
class RegionDefaultTypeInternal;
extern RegionDefaultTypeInternal _Region_default_instance_;
class Transform2d;
class Transform2dDefaultTypeInternal;
extern Transform2dDefaultTypeInternal _Transform2d_default_instance_;
class netConfig;
class netConfigDefaultTypeInternal;
extern netConfigDefaultTypeInternal _netConfig_default_instance_;
class scanLimit;
class scanLimitDefaultTypeInternal;
extern scanLimitDefaultTypeInternal _scanLimit_default_instance_;
class wjLidarParams;
class wjLidarParamsDefaultTypeInternal;
extern wjLidarParamsDefaultTypeInternal _wjLidarParams_default_instance_;
class wjManagerParams;
class wjManagerParamsDefaultTypeInternal;
extern wjManagerParamsDefaultTypeInternal _wjManagerParams_default_instance_;
}  // namespace wj
namespace wj {

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

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

  wjManagerParams(const wjManagerParams& from);

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

  inline wjManagerParams& operator=(wjManagerParams&& 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 wjManagerParams& default_instance();

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

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

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

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

  wjManagerParams* 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 wjManagerParams& from);
  void MergeFrom(const wjManagerParams& 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(wjManagerParams* 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 .wj.wjLidarParams wj_lidar = 1;
  int wj_lidar_size() const;
  void clear_wj_lidar();
  static const int kWjLidarFieldNumber = 1;
  const ::wj::wjLidarParams& wj_lidar(int index) const;
  ::wj::wjLidarParams* mutable_wj_lidar(int index);
  ::wj::wjLidarParams* add_wj_lidar();
  ::google::protobuf::RepeatedPtrField< ::wj::wjLidarParams >*
      mutable_wj_lidar();
  const ::google::protobuf::RepeatedPtrField< ::wj::wjLidarParams >&
      wj_lidar() const;

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

  // optional string fence_data_path = 3 [default = ""];
  bool has_fence_data_path() const;
  void clear_fence_data_path();
  static const int kFenceDataPathFieldNumber = 3;
  const ::std::string& fence_data_path() const;
  void set_fence_data_path(const ::std::string& value);
  #if LANG_CXX11
  void set_fence_data_path(::std::string&& value);
  #endif
  void set_fence_data_path(const char* value);
  void set_fence_data_path(const char* value, size_t size);
  ::std::string* mutable_fence_data_path();
  ::std::string* release_fence_data_path();
  void set_allocated_fence_data_path(::std::string* fence_data_path);

  // optional string fence_log_path = 4 [default = ""];
  bool has_fence_log_path() const;
  void clear_fence_log_path();
  static const int kFenceLogPathFieldNumber = 4;
  const ::std::string& fence_log_path() const;
  void set_fence_log_path(const ::std::string& value);
  #if LANG_CXX11
  void set_fence_log_path(::std::string&& value);
  #endif
  void set_fence_log_path(const char* value);
  void set_fence_log_path(const char* value, size_t size);
  ::std::string* mutable_fence_log_path();
  ::std::string* release_fence_log_path();
  void set_allocated_fence_log_path(::std::string* fence_log_path);

  // optional string plc_ip_address = 5 [default = "192.168.0.1"];
  bool has_plc_ip_address() const;
  void clear_plc_ip_address();
  static const int kPlcIpAddressFieldNumber = 5;
  const ::std::string& plc_ip_address() const;
  void set_plc_ip_address(const ::std::string& value);
  #if LANG_CXX11
  void set_plc_ip_address(::std::string&& value);
  #endif
  void set_plc_ip_address(const char* value);
  void set_plc_ip_address(const char* value, size_t size);
  ::std::string* mutable_plc_ip_address();
  ::std::string* release_plc_ip_address();
  void set_allocated_plc_ip_address(::std::string* plc_ip_address);

  // @@protoc_insertion_point(class_scope:wj.wjManagerParams)
 private:
  void set_has_fence_data_path();
  void clear_has_fence_data_path();
  void set_has_fence_log_path();
  void clear_has_fence_log_path();
  void set_has_plc_ip_address();
  void clear_has_plc_ip_address();

  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
  ::google::protobuf::internal::HasBits<1> _has_bits_;
  mutable int _cached_size_;
  ::google::protobuf::RepeatedPtrField< ::wj::wjLidarParams > wj_lidar_;
  ::google::protobuf::RepeatedPtrField< ::wj::Region > regions_;
  ::google::protobuf::internal::ArenaStringPtr fence_data_path_;
  ::google::protobuf::internal::ArenaStringPtr fence_log_path_;
  static ::google::protobuf::internal::ExplicitlyConstructed< ::std::string> _default_plc_ip_address_;
  ::google::protobuf::internal::ArenaStringPtr plc_ip_address_;
  friend struct ::protobuf_wj_5flidar_5fconf_2eproto::TableStruct;
  friend void ::protobuf_wj_5flidar_5fconf_2eproto::InitDefaultswjManagerParamsImpl();
};
// -------------------------------------------------------------------

class Region : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:wj.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 =
    1;

  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:wj.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_wj_5flidar_5fconf_2eproto::TableStruct;
  friend void ::protobuf_wj_5flidar_5fconf_2eproto::InitDefaultsRegionImpl();
};
// -------------------------------------------------------------------

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

  wjLidarParams(const wjLidarParams& from);

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

  inline wjLidarParams& operator=(wjLidarParams&& 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 wjLidarParams& default_instance();

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

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

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

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

  wjLidarParams* 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 wjLidarParams& from);
  void MergeFrom(const wjLidarParams& 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(wjLidarParams* 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 .wj.netConfig net_config = 7;
  bool has_net_config() const;
  void clear_net_config();
  static const int kNetConfigFieldNumber = 7;
  const ::wj::netConfig& net_config() const;
  ::wj::netConfig* release_net_config();
  ::wj::netConfig* mutable_net_config();
  void set_allocated_net_config(::wj::netConfig* net_config);

  // required .wj.Transform2d transform = 8;
  bool has_transform() const;
  void clear_transform();
  static const int kTransformFieldNumber = 8;
  const ::wj::Transform2d& transform() const;
  ::wj::Transform2d* release_transform();
  ::wj::Transform2d* mutable_transform();
  void set_allocated_transform(::wj::Transform2d* transform);

  // required .wj.scanLimit scan_limit = 9;
  bool has_scan_limit() const;
  void clear_scan_limit();
  static const int kScanLimitFieldNumber = 9;
  const ::wj::scanLimit& scan_limit() const;
  ::wj::scanLimit* release_scan_limit();
  ::wj::scanLimit* mutable_scan_limit();
  void set_allocated_scan_limit(::wj::scanLimit* scan_limit);

  // optional int32 range_min = 5 [default = 0];
  bool has_range_min() const;
  void clear_range_min();
  static const int kRangeMinFieldNumber = 5;
  ::google::protobuf::int32 range_min() const;
  void set_range_min(::google::protobuf::int32 value);

  // optional int32 range_max = 6 [default = 30];
  bool has_range_max() const;
  void clear_range_max();
  static const int kRangeMaxFieldNumber = 6;
  ::google::protobuf::int32 range_max() const;
  void set_range_max(::google::protobuf::int32 value);

  // optional float angle_min = 1 [default = -2.3561945];
  bool has_angle_min() const;
  void clear_angle_min();
  static const int kAngleMinFieldNumber = 1;
  float angle_min() const;
  void set_angle_min(float value);

  // optional float angle_max = 2 [default = 2.3561945];
  bool has_angle_max() const;
  void clear_angle_max();
  static const int kAngleMaxFieldNumber = 2;
  float angle_max() const;
  void set_angle_max(float value);

  // optional float angle_increment = 3 [default = 0.00582];
  bool has_angle_increment() const;
  void clear_angle_increment();
  static const int kAngleIncrementFieldNumber = 3;
  float angle_increment() const;
  void set_angle_increment(float value);

  // optional float time_increment = 4 [default = 6.2e-05];
  bool has_time_increment() const;
  void clear_time_increment();
  static const int kTimeIncrementFieldNumber = 4;
  float time_increment() const;
  void set_time_increment(float value);

  // @@protoc_insertion_point(class_scope:wj.wjLidarParams)
 private:
  void set_has_angle_min();
  void clear_has_angle_min();
  void set_has_angle_max();
  void clear_has_angle_max();
  void set_has_angle_increment();
  void clear_has_angle_increment();
  void set_has_time_increment();
  void clear_has_time_increment();
  void set_has_range_min();
  void clear_has_range_min();
  void set_has_range_max();
  void clear_has_range_max();
  void set_has_net_config();
  void clear_has_net_config();
  void set_has_transform();
  void clear_has_transform();
  void set_has_scan_limit();
  void clear_has_scan_limit();

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

  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
  ::google::protobuf::internal::HasBits<1> _has_bits_;
  mutable int _cached_size_;
  ::wj::netConfig* net_config_;
  ::wj::Transform2d* transform_;
  ::wj::scanLimit* scan_limit_;
  ::google::protobuf::int32 range_min_;
  ::google::protobuf::int32 range_max_;
  float angle_min_;
  float angle_max_;
  float angle_increment_;
  float time_increment_;
  friend struct ::protobuf_wj_5flidar_5fconf_2eproto::TableStruct;
  friend void ::protobuf_wj_5flidar_5fconf_2eproto::InitDefaultswjLidarParamsImpl();
};
// -------------------------------------------------------------------

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

  netConfig(const netConfig& from);

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

  inline netConfig& operator=(netConfig&& 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 netConfig& default_instance();

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

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

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

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

  netConfig* 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 netConfig& from);
  void MergeFrom(const netConfig& 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(netConfig* 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 ip_address = 1 [default = ""];
  bool has_ip_address() const;
  void clear_ip_address();
  static const int kIpAddressFieldNumber = 1;
  const ::std::string& ip_address() const;
  void set_ip_address(const ::std::string& value);
  #if LANG_CXX11
  void set_ip_address(::std::string&& value);
  #endif
  void set_ip_address(const char* value);
  void set_ip_address(const char* value, size_t size);
  ::std::string* mutable_ip_address();
  ::std::string* release_ip_address();
  void set_allocated_ip_address(::std::string* ip_address);

  // optional int32 port = 2 [default = 8000];
  bool has_port() const;
  void clear_port();
  static const int kPortFieldNumber = 2;
  ::google::protobuf::int32 port() const;
  void set_port(::google::protobuf::int32 value);

  // @@protoc_insertion_point(class_scope:wj.netConfig)
 private:
  void set_has_ip_address();
  void clear_has_ip_address();
  void set_has_port();
  void clear_has_port();

  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
  ::google::protobuf::internal::HasBits<1> _has_bits_;
  mutable int _cached_size_;
  ::google::protobuf::internal::ArenaStringPtr ip_address_;
  ::google::protobuf::int32 port_;
  friend struct ::protobuf_wj_5flidar_5fconf_2eproto::TableStruct;
  friend void ::protobuf_wj_5flidar_5fconf_2eproto::InitDefaultsnetConfigImpl();
};
// -------------------------------------------------------------------

class Transform2d : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:wj.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 =
    4;

  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:wj.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_wj_5flidar_5fconf_2eproto::TableStruct;
  friend void ::protobuf_wj_5flidar_5fconf_2eproto::InitDefaultsTransform2dImpl();
};
// -------------------------------------------------------------------

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

  scanLimit(const scanLimit& from);

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

  inline scanLimit& operator=(scanLimit&& 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 scanLimit& default_instance();

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

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

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

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

  scanLimit* 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 scanLimit& from);
  void MergeFrom(const scanLimit& 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(scanLimit* 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 maxy = 5 [default = 3.5];
  bool has_maxy() const;
  void clear_maxy();
  static const int kMaxyFieldNumber = 5;
  float maxy() const;
  void set_maxy(float value);

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

  // optional float minx = 2 [default = -6];
  bool has_minx() const;
  void clear_minx();
  static const int kMinxFieldNumber = 2;
  float minx() const;
  void set_minx(float value);

  // optional float maxx = 3 [default = -0.2];
  bool has_maxx() const;
  void clear_maxx();
  static const int kMaxxFieldNumber = 3;
  float maxx() const;
  void set_maxx(float value);

  // optional float miny = 4 [default = -3.5];
  bool has_miny() const;
  void clear_miny();
  static const int kMinyFieldNumber = 4;
  float miny() const;
  void set_miny(float value);

  // @@protoc_insertion_point(class_scope:wj.scanLimit)
 private:
  void set_has_dist_limit();
  void clear_has_dist_limit();
  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();

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


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

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

// repeated .wj.wjLidarParams wj_lidar = 1;
inline int wjManagerParams::wj_lidar_size() const {
  return wj_lidar_.size();
}
inline void wjManagerParams::clear_wj_lidar() {
  wj_lidar_.Clear();
}
inline const ::wj::wjLidarParams& wjManagerParams::wj_lidar(int index) const {
  // @@protoc_insertion_point(field_get:wj.wjManagerParams.wj_lidar)
  return wj_lidar_.Get(index);
}
inline ::wj::wjLidarParams* wjManagerParams::mutable_wj_lidar(int index) {
  // @@protoc_insertion_point(field_mutable:wj.wjManagerParams.wj_lidar)
  return wj_lidar_.Mutable(index);
}
inline ::wj::wjLidarParams* wjManagerParams::add_wj_lidar() {
  // @@protoc_insertion_point(field_add:wj.wjManagerParams.wj_lidar)
  return wj_lidar_.Add();
}
inline ::google::protobuf::RepeatedPtrField< ::wj::wjLidarParams >*
wjManagerParams::mutable_wj_lidar() {
  // @@protoc_insertion_point(field_mutable_list:wj.wjManagerParams.wj_lidar)
  return &wj_lidar_;
}
inline const ::google::protobuf::RepeatedPtrField< ::wj::wjLidarParams >&
wjManagerParams::wj_lidar() const {
  // @@protoc_insertion_point(field_list:wj.wjManagerParams.wj_lidar)
  return wj_lidar_;
}

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

// optional string fence_data_path = 3 [default = ""];
inline bool wjManagerParams::has_fence_data_path() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void wjManagerParams::set_has_fence_data_path() {
  _has_bits_[0] |= 0x00000001u;
}
inline void wjManagerParams::clear_has_fence_data_path() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void wjManagerParams::clear_fence_data_path() {
  fence_data_path_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_fence_data_path();
}
inline const ::std::string& wjManagerParams::fence_data_path() const {
  // @@protoc_insertion_point(field_get:wj.wjManagerParams.fence_data_path)
  return fence_data_path_.GetNoArena();
}
inline void wjManagerParams::set_fence_data_path(const ::std::string& value) {
  set_has_fence_data_path();
  fence_data_path_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:wj.wjManagerParams.fence_data_path)
}
#if LANG_CXX11
inline void wjManagerParams::set_fence_data_path(::std::string&& value) {
  set_has_fence_data_path();
  fence_data_path_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:wj.wjManagerParams.fence_data_path)
}
#endif
inline void wjManagerParams::set_fence_data_path(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_fence_data_path();
  fence_data_path_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:wj.wjManagerParams.fence_data_path)
}
inline void wjManagerParams::set_fence_data_path(const char* value, size_t size) {
  set_has_fence_data_path();
  fence_data_path_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:wj.wjManagerParams.fence_data_path)
}
inline ::std::string* wjManagerParams::mutable_fence_data_path() {
  set_has_fence_data_path();
  // @@protoc_insertion_point(field_mutable:wj.wjManagerParams.fence_data_path)
  return fence_data_path_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline ::std::string* wjManagerParams::release_fence_data_path() {
  // @@protoc_insertion_point(field_release:wj.wjManagerParams.fence_data_path)
  clear_has_fence_data_path();
  return fence_data_path_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline void wjManagerParams::set_allocated_fence_data_path(::std::string* fence_data_path) {
  if (fence_data_path != NULL) {
    set_has_fence_data_path();
  } else {
    clear_has_fence_data_path();
  }
  fence_data_path_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), fence_data_path);
  // @@protoc_insertion_point(field_set_allocated:wj.wjManagerParams.fence_data_path)
}

// optional string fence_log_path = 4 [default = ""];
inline bool wjManagerParams::has_fence_log_path() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
inline void wjManagerParams::set_has_fence_log_path() {
  _has_bits_[0] |= 0x00000002u;
}
inline void wjManagerParams::clear_has_fence_log_path() {
  _has_bits_[0] &= ~0x00000002u;
}
inline void wjManagerParams::clear_fence_log_path() {
  fence_log_path_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_fence_log_path();
}
inline const ::std::string& wjManagerParams::fence_log_path() const {
  // @@protoc_insertion_point(field_get:wj.wjManagerParams.fence_log_path)
  return fence_log_path_.GetNoArena();
}
inline void wjManagerParams::set_fence_log_path(const ::std::string& value) {
  set_has_fence_log_path();
  fence_log_path_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:wj.wjManagerParams.fence_log_path)
}
#if LANG_CXX11
inline void wjManagerParams::set_fence_log_path(::std::string&& value) {
  set_has_fence_log_path();
  fence_log_path_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:wj.wjManagerParams.fence_log_path)
}
#endif
inline void wjManagerParams::set_fence_log_path(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_fence_log_path();
  fence_log_path_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:wj.wjManagerParams.fence_log_path)
}
inline void wjManagerParams::set_fence_log_path(const char* value, size_t size) {
  set_has_fence_log_path();
  fence_log_path_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:wj.wjManagerParams.fence_log_path)
}
inline ::std::string* wjManagerParams::mutable_fence_log_path() {
  set_has_fence_log_path();
  // @@protoc_insertion_point(field_mutable:wj.wjManagerParams.fence_log_path)
  return fence_log_path_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline ::std::string* wjManagerParams::release_fence_log_path() {
  // @@protoc_insertion_point(field_release:wj.wjManagerParams.fence_log_path)
  clear_has_fence_log_path();
  return fence_log_path_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline void wjManagerParams::set_allocated_fence_log_path(::std::string* fence_log_path) {
  if (fence_log_path != NULL) {
    set_has_fence_log_path();
  } else {
    clear_has_fence_log_path();
  }
  fence_log_path_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), fence_log_path);
  // @@protoc_insertion_point(field_set_allocated:wj.wjManagerParams.fence_log_path)
}

// optional string plc_ip_address = 5 [default = "192.168.0.1"];
inline bool wjManagerParams::has_plc_ip_address() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
inline void wjManagerParams::set_has_plc_ip_address() {
  _has_bits_[0] |= 0x00000004u;
}
inline void wjManagerParams::clear_has_plc_ip_address() {
  _has_bits_[0] &= ~0x00000004u;
}
inline void wjManagerParams::clear_plc_ip_address() {
  plc_ip_address_.ClearToDefaultNoArena(&::wj::wjManagerParams::_default_plc_ip_address_.get());
  clear_has_plc_ip_address();
}
inline const ::std::string& wjManagerParams::plc_ip_address() const {
  // @@protoc_insertion_point(field_get:wj.wjManagerParams.plc_ip_address)
  return plc_ip_address_.GetNoArena();
}
inline void wjManagerParams::set_plc_ip_address(const ::std::string& value) {
  set_has_plc_ip_address();
  plc_ip_address_.SetNoArena(&::wj::wjManagerParams::_default_plc_ip_address_.get(), value);
  // @@protoc_insertion_point(field_set:wj.wjManagerParams.plc_ip_address)
}
#if LANG_CXX11
inline void wjManagerParams::set_plc_ip_address(::std::string&& value) {
  set_has_plc_ip_address();
  plc_ip_address_.SetNoArena(
    &::wj::wjManagerParams::_default_plc_ip_address_.get(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:wj.wjManagerParams.plc_ip_address)
}
#endif
inline void wjManagerParams::set_plc_ip_address(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_plc_ip_address();
  plc_ip_address_.SetNoArena(&::wj::wjManagerParams::_default_plc_ip_address_.get(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:wj.wjManagerParams.plc_ip_address)
}
inline void wjManagerParams::set_plc_ip_address(const char* value, size_t size) {
  set_has_plc_ip_address();
  plc_ip_address_.SetNoArena(&::wj::wjManagerParams::_default_plc_ip_address_.get(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:wj.wjManagerParams.plc_ip_address)
}
inline ::std::string* wjManagerParams::mutable_plc_ip_address() {
  set_has_plc_ip_address();
  // @@protoc_insertion_point(field_mutable:wj.wjManagerParams.plc_ip_address)
  return plc_ip_address_.MutableNoArena(&::wj::wjManagerParams::_default_plc_ip_address_.get());
}
inline ::std::string* wjManagerParams::release_plc_ip_address() {
  // @@protoc_insertion_point(field_release:wj.wjManagerParams.plc_ip_address)
  clear_has_plc_ip_address();
  return plc_ip_address_.ReleaseNoArena(&::wj::wjManagerParams::_default_plc_ip_address_.get());
}
inline void wjManagerParams::set_allocated_plc_ip_address(::std::string* plc_ip_address) {
  if (plc_ip_address != NULL) {
    set_has_plc_ip_address();
  } else {
    clear_has_plc_ip_address();
  }
  plc_ip_address_.SetAllocatedNoArena(&::wj::wjManagerParams::_default_plc_ip_address_.get(), plc_ip_address);
  // @@protoc_insertion_point(field_set_allocated:wj.wjManagerParams.plc_ip_address)
}

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

// 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:wj.Region.minx)
  return minx_;
}
inline void Region::set_minx(float value) {
  set_has_minx();
  minx_ = value;
  // @@protoc_insertion_point(field_set:wj.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:wj.Region.maxx)
  return maxx_;
}
inline void Region::set_maxx(float value) {
  set_has_maxx();
  maxx_ = value;
  // @@protoc_insertion_point(field_set:wj.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:wj.Region.miny)
  return miny_;
}
inline void Region::set_miny(float value) {
  set_has_miny();
  miny_ = value;
  // @@protoc_insertion_point(field_set:wj.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:wj.Region.maxy)
  return maxy_;
}
inline void Region::set_maxy(float value) {
  set_has_maxy();
  maxy_ = value;
  // @@protoc_insertion_point(field_set:wj.Region.maxy)
}

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

// wjLidarParams

// optional float angle_min = 1 [default = -2.3561945];
inline bool wjLidarParams::has_angle_min() const {
  return (_has_bits_[0] & 0x00000020u) != 0;
}
inline void wjLidarParams::set_has_angle_min() {
  _has_bits_[0] |= 0x00000020u;
}
inline void wjLidarParams::clear_has_angle_min() {
  _has_bits_[0] &= ~0x00000020u;
}
inline void wjLidarParams::clear_angle_min() {
  angle_min_ = -2.3561945f;
  clear_has_angle_min();
}
inline float wjLidarParams::angle_min() const {
  // @@protoc_insertion_point(field_get:wj.wjLidarParams.angle_min)
  return angle_min_;
}
inline void wjLidarParams::set_angle_min(float value) {
  set_has_angle_min();
  angle_min_ = value;
  // @@protoc_insertion_point(field_set:wj.wjLidarParams.angle_min)
}

// optional float angle_max = 2 [default = 2.3561945];
inline bool wjLidarParams::has_angle_max() const {
  return (_has_bits_[0] & 0x00000040u) != 0;
}
inline void wjLidarParams::set_has_angle_max() {
  _has_bits_[0] |= 0x00000040u;
}
inline void wjLidarParams::clear_has_angle_max() {
  _has_bits_[0] &= ~0x00000040u;
}
inline void wjLidarParams::clear_angle_max() {
  angle_max_ = 2.3561945f;
  clear_has_angle_max();
}
inline float wjLidarParams::angle_max() const {
  // @@protoc_insertion_point(field_get:wj.wjLidarParams.angle_max)
  return angle_max_;
}
inline void wjLidarParams::set_angle_max(float value) {
  set_has_angle_max();
  angle_max_ = value;
  // @@protoc_insertion_point(field_set:wj.wjLidarParams.angle_max)
}

// optional float angle_increment = 3 [default = 0.00582];
inline bool wjLidarParams::has_angle_increment() const {
  return (_has_bits_[0] & 0x00000080u) != 0;
}
inline void wjLidarParams::set_has_angle_increment() {
  _has_bits_[0] |= 0x00000080u;
}
inline void wjLidarParams::clear_has_angle_increment() {
  _has_bits_[0] &= ~0x00000080u;
}
inline void wjLidarParams::clear_angle_increment() {
  angle_increment_ = 0.00582f;
  clear_has_angle_increment();
}
inline float wjLidarParams::angle_increment() const {
  // @@protoc_insertion_point(field_get:wj.wjLidarParams.angle_increment)
  return angle_increment_;
}
inline void wjLidarParams::set_angle_increment(float value) {
  set_has_angle_increment();
  angle_increment_ = value;
  // @@protoc_insertion_point(field_set:wj.wjLidarParams.angle_increment)
}

// optional float time_increment = 4 [default = 6.2e-05];
inline bool wjLidarParams::has_time_increment() const {
  return (_has_bits_[0] & 0x00000100u) != 0;
}
inline void wjLidarParams::set_has_time_increment() {
  _has_bits_[0] |= 0x00000100u;
}
inline void wjLidarParams::clear_has_time_increment() {
  _has_bits_[0] &= ~0x00000100u;
}
inline void wjLidarParams::clear_time_increment() {
  time_increment_ = 6.2e-05f;
  clear_has_time_increment();
}
inline float wjLidarParams::time_increment() const {
  // @@protoc_insertion_point(field_get:wj.wjLidarParams.time_increment)
  return time_increment_;
}
inline void wjLidarParams::set_time_increment(float value) {
  set_has_time_increment();
  time_increment_ = value;
  // @@protoc_insertion_point(field_set:wj.wjLidarParams.time_increment)
}

// optional int32 range_min = 5 [default = 0];
inline bool wjLidarParams::has_range_min() const {
  return (_has_bits_[0] & 0x00000008u) != 0;
}
inline void wjLidarParams::set_has_range_min() {
  _has_bits_[0] |= 0x00000008u;
}
inline void wjLidarParams::clear_has_range_min() {
  _has_bits_[0] &= ~0x00000008u;
}
inline void wjLidarParams::clear_range_min() {
  range_min_ = 0;
  clear_has_range_min();
}
inline ::google::protobuf::int32 wjLidarParams::range_min() const {
  // @@protoc_insertion_point(field_get:wj.wjLidarParams.range_min)
  return range_min_;
}
inline void wjLidarParams::set_range_min(::google::protobuf::int32 value) {
  set_has_range_min();
  range_min_ = value;
  // @@protoc_insertion_point(field_set:wj.wjLidarParams.range_min)
}

// optional int32 range_max = 6 [default = 30];
inline bool wjLidarParams::has_range_max() const {
  return (_has_bits_[0] & 0x00000010u) != 0;
}
inline void wjLidarParams::set_has_range_max() {
  _has_bits_[0] |= 0x00000010u;
}
inline void wjLidarParams::clear_has_range_max() {
  _has_bits_[0] &= ~0x00000010u;
}
inline void wjLidarParams::clear_range_max() {
  range_max_ = 30;
  clear_has_range_max();
}
inline ::google::protobuf::int32 wjLidarParams::range_max() const {
  // @@protoc_insertion_point(field_get:wj.wjLidarParams.range_max)
  return range_max_;
}
inline void wjLidarParams::set_range_max(::google::protobuf::int32 value) {
  set_has_range_max();
  range_max_ = value;
  // @@protoc_insertion_point(field_set:wj.wjLidarParams.range_max)
}

// required .wj.netConfig net_config = 7;
inline bool wjLidarParams::has_net_config() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void wjLidarParams::set_has_net_config() {
  _has_bits_[0] |= 0x00000001u;
}
inline void wjLidarParams::clear_has_net_config() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void wjLidarParams::clear_net_config() {
  if (net_config_ != NULL) net_config_->Clear();
  clear_has_net_config();
}
inline const ::wj::netConfig& wjLidarParams::net_config() const {
  const ::wj::netConfig* p = net_config_;
  // @@protoc_insertion_point(field_get:wj.wjLidarParams.net_config)
  return p != NULL ? *p : *reinterpret_cast<const ::wj::netConfig*>(
      &::wj::_netConfig_default_instance_);
}
inline ::wj::netConfig* wjLidarParams::release_net_config() {
  // @@protoc_insertion_point(field_release:wj.wjLidarParams.net_config)
  clear_has_net_config();
  ::wj::netConfig* temp = net_config_;
  net_config_ = NULL;
  return temp;
}
inline ::wj::netConfig* wjLidarParams::mutable_net_config() {
  set_has_net_config();
  if (net_config_ == NULL) {
    net_config_ = new ::wj::netConfig;
  }
  // @@protoc_insertion_point(field_mutable:wj.wjLidarParams.net_config)
  return net_config_;
}
inline void wjLidarParams::set_allocated_net_config(::wj::netConfig* net_config) {
  ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
  if (message_arena == NULL) {
    delete net_config_;
  }
  if (net_config) {
    ::google::protobuf::Arena* submessage_arena = NULL;
    if (message_arena != submessage_arena) {
      net_config = ::google::protobuf::internal::GetOwnedMessage(
          message_arena, net_config, submessage_arena);
    }
    set_has_net_config();
  } else {
    clear_has_net_config();
  }
  net_config_ = net_config;
  // @@protoc_insertion_point(field_set_allocated:wj.wjLidarParams.net_config)
}

// required .wj.Transform2d transform = 8;
inline bool wjLidarParams::has_transform() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
inline void wjLidarParams::set_has_transform() {
  _has_bits_[0] |= 0x00000002u;
}
inline void wjLidarParams::clear_has_transform() {
  _has_bits_[0] &= ~0x00000002u;
}
inline void wjLidarParams::clear_transform() {
  if (transform_ != NULL) transform_->Clear();
  clear_has_transform();
}
inline const ::wj::Transform2d& wjLidarParams::transform() const {
  const ::wj::Transform2d* p = transform_;
  // @@protoc_insertion_point(field_get:wj.wjLidarParams.transform)
  return p != NULL ? *p : *reinterpret_cast<const ::wj::Transform2d*>(
      &::wj::_Transform2d_default_instance_);
}
inline ::wj::Transform2d* wjLidarParams::release_transform() {
  // @@protoc_insertion_point(field_release:wj.wjLidarParams.transform)
  clear_has_transform();
  ::wj::Transform2d* temp = transform_;
  transform_ = NULL;
  return temp;
}
inline ::wj::Transform2d* wjLidarParams::mutable_transform() {
  set_has_transform();
  if (transform_ == NULL) {
    transform_ = new ::wj::Transform2d;
  }
  // @@protoc_insertion_point(field_mutable:wj.wjLidarParams.transform)
  return transform_;
}
inline void wjLidarParams::set_allocated_transform(::wj::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:wj.wjLidarParams.transform)
}

// required .wj.scanLimit scan_limit = 9;
inline bool wjLidarParams::has_scan_limit() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
inline void wjLidarParams::set_has_scan_limit() {
  _has_bits_[0] |= 0x00000004u;
}
inline void wjLidarParams::clear_has_scan_limit() {
  _has_bits_[0] &= ~0x00000004u;
}
inline void wjLidarParams::clear_scan_limit() {
  if (scan_limit_ != NULL) scan_limit_->Clear();
  clear_has_scan_limit();
}
inline const ::wj::scanLimit& wjLidarParams::scan_limit() const {
  const ::wj::scanLimit* p = scan_limit_;
  // @@protoc_insertion_point(field_get:wj.wjLidarParams.scan_limit)
  return p != NULL ? *p : *reinterpret_cast<const ::wj::scanLimit*>(
      &::wj::_scanLimit_default_instance_);
}
inline ::wj::scanLimit* wjLidarParams::release_scan_limit() {
  // @@protoc_insertion_point(field_release:wj.wjLidarParams.scan_limit)
  clear_has_scan_limit();
  ::wj::scanLimit* temp = scan_limit_;
  scan_limit_ = NULL;
  return temp;
}
inline ::wj::scanLimit* wjLidarParams::mutable_scan_limit() {
  set_has_scan_limit();
  if (scan_limit_ == NULL) {
    scan_limit_ = new ::wj::scanLimit;
  }
  // @@protoc_insertion_point(field_mutable:wj.wjLidarParams.scan_limit)
  return scan_limit_;
}
inline void wjLidarParams::set_allocated_scan_limit(::wj::scanLimit* scan_limit) {
  ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
  if (message_arena == NULL) {
    delete scan_limit_;
  }
  if (scan_limit) {
    ::google::protobuf::Arena* submessage_arena = NULL;
    if (message_arena != submessage_arena) {
      scan_limit = ::google::protobuf::internal::GetOwnedMessage(
          message_arena, scan_limit, submessage_arena);
    }
    set_has_scan_limit();
  } else {
    clear_has_scan_limit();
  }
  scan_limit_ = scan_limit;
  // @@protoc_insertion_point(field_set_allocated:wj.wjLidarParams.scan_limit)
}

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

// netConfig

// optional string ip_address = 1 [default = ""];
inline bool netConfig::has_ip_address() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void netConfig::set_has_ip_address() {
  _has_bits_[0] |= 0x00000001u;
}
inline void netConfig::clear_has_ip_address() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void netConfig::clear_ip_address() {
  ip_address_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_ip_address();
}
inline const ::std::string& netConfig::ip_address() const {
  // @@protoc_insertion_point(field_get:wj.netConfig.ip_address)
  return ip_address_.GetNoArena();
}
inline void netConfig::set_ip_address(const ::std::string& value) {
  set_has_ip_address();
  ip_address_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:wj.netConfig.ip_address)
}
#if LANG_CXX11
inline void netConfig::set_ip_address(::std::string&& value) {
  set_has_ip_address();
  ip_address_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:wj.netConfig.ip_address)
}
#endif
inline void netConfig::set_ip_address(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_ip_address();
  ip_address_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:wj.netConfig.ip_address)
}
inline void netConfig::set_ip_address(const char* value, size_t size) {
  set_has_ip_address();
  ip_address_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:wj.netConfig.ip_address)
}
inline ::std::string* netConfig::mutable_ip_address() {
  set_has_ip_address();
  // @@protoc_insertion_point(field_mutable:wj.netConfig.ip_address)
  return ip_address_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline ::std::string* netConfig::release_ip_address() {
  // @@protoc_insertion_point(field_release:wj.netConfig.ip_address)
  clear_has_ip_address();
  return ip_address_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline void netConfig::set_allocated_ip_address(::std::string* ip_address) {
  if (ip_address != NULL) {
    set_has_ip_address();
  } else {
    clear_has_ip_address();
  }
  ip_address_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ip_address);
  // @@protoc_insertion_point(field_set_allocated:wj.netConfig.ip_address)
}

// optional int32 port = 2 [default = 8000];
inline bool netConfig::has_port() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
inline void netConfig::set_has_port() {
  _has_bits_[0] |= 0x00000002u;
}
inline void netConfig::clear_has_port() {
  _has_bits_[0] &= ~0x00000002u;
}
inline void netConfig::clear_port() {
  port_ = 8000;
  clear_has_port();
}
inline ::google::protobuf::int32 netConfig::port() const {
  // @@protoc_insertion_point(field_get:wj.netConfig.port)
  return port_;
}
inline void netConfig::set_port(::google::protobuf::int32 value) {
  set_has_port();
  port_ = value;
  // @@protoc_insertion_point(field_set:wj.netConfig.port)
}

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

// 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:wj.Transform2d.m00)
  return m00_;
}
inline void Transform2d::set_m00(float value) {
  set_has_m00();
  m00_ = value;
  // @@protoc_insertion_point(field_set:wj.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:wj.Transform2d.m01)
  return m01_;
}
inline void Transform2d::set_m01(float value) {
  set_has_m01();
  m01_ = value;
  // @@protoc_insertion_point(field_set:wj.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:wj.Transform2d.m02)
  return m02_;
}
inline void Transform2d::set_m02(float value) {
  set_has_m02();
  m02_ = value;
  // @@protoc_insertion_point(field_set:wj.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:wj.Transform2d.m10)
  return m10_;
}
inline void Transform2d::set_m10(float value) {
  set_has_m10();
  m10_ = value;
  // @@protoc_insertion_point(field_set:wj.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:wj.Transform2d.m11)
  return m11_;
}
inline void Transform2d::set_m11(float value) {
  set_has_m11();
  m11_ = value;
  // @@protoc_insertion_point(field_set:wj.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:wj.Transform2d.m12)
  return m12_;
}
inline void Transform2d::set_m12(float value) {
  set_has_m12();
  m12_ = value;
  // @@protoc_insertion_point(field_set:wj.Transform2d.m12)
}

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

// scanLimit

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

// optional float minx = 2 [default = -6];
inline bool scanLimit::has_minx() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
inline void scanLimit::set_has_minx() {
  _has_bits_[0] |= 0x00000004u;
}
inline void scanLimit::clear_has_minx() {
  _has_bits_[0] &= ~0x00000004u;
}
inline void scanLimit::clear_minx() {
  minx_ = -6;
  clear_has_minx();
}
inline float scanLimit::minx() const {
  // @@protoc_insertion_point(field_get:wj.scanLimit.minx)
  return minx_;
}
inline void scanLimit::set_minx(float value) {
  set_has_minx();
  minx_ = value;
  // @@protoc_insertion_point(field_set:wj.scanLimit.minx)
}

// optional float maxx = 3 [default = -0.2];
inline bool scanLimit::has_maxx() const {
  return (_has_bits_[0] & 0x00000008u) != 0;
}
inline void scanLimit::set_has_maxx() {
  _has_bits_[0] |= 0x00000008u;
}
inline void scanLimit::clear_has_maxx() {
  _has_bits_[0] &= ~0x00000008u;
}
inline void scanLimit::clear_maxx() {
  maxx_ = -0.2f;
  clear_has_maxx();
}
inline float scanLimit::maxx() const {
  // @@protoc_insertion_point(field_get:wj.scanLimit.maxx)
  return maxx_;
}
inline void scanLimit::set_maxx(float value) {
  set_has_maxx();
  maxx_ = value;
  // @@protoc_insertion_point(field_set:wj.scanLimit.maxx)
}

// optional float miny = 4 [default = -3.5];
inline bool scanLimit::has_miny() const {
  return (_has_bits_[0] & 0x00000010u) != 0;
}
inline void scanLimit::set_has_miny() {
  _has_bits_[0] |= 0x00000010u;
}
inline void scanLimit::clear_has_miny() {
  _has_bits_[0] &= ~0x00000010u;
}
inline void scanLimit::clear_miny() {
  miny_ = -3.5f;
  clear_has_miny();
}
inline float scanLimit::miny() const {
  // @@protoc_insertion_point(field_get:wj.scanLimit.miny)
  return miny_;
}
inline void scanLimit::set_miny(float value) {
  set_has_miny();
  miny_ = value;
  // @@protoc_insertion_point(field_set:wj.scanLimit.miny)
}

// optional float maxy = 5 [default = 3.5];
inline bool scanLimit::has_maxy() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void scanLimit::set_has_maxy() {
  _has_bits_[0] |= 0x00000001u;
}
inline void scanLimit::clear_has_maxy() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void scanLimit::clear_maxy() {
  maxy_ = 3.5f;
  clear_has_maxy();
}
inline float scanLimit::maxy() const {
  // @@protoc_insertion_point(field_get:wj.scanLimit.maxy)
  return maxy_;
}
inline void scanLimit::set_maxy(float value) {
  set_has_maxy();
  maxy_ = value;
  // @@protoc_insertion_point(field_set:wj.scanLimit.maxy)
}

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

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

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

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

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


// @@protoc_insertion_point(namespace_scope)

}  // namespace wj

// @@protoc_insertion_point(global_scope)

#endif  // PROTOBUF_wj_5flidar_5fconf_2eproto__INCLUDED
