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

#ifndef PROTOBUF_TnMapModelData_2eproto__INCLUDED
#define PROTOBUF_TnMapModelData_2eproto__INCLUDED

#include <string>

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

#if GOOGLE_PROTOBUF_VERSION < 2004000
#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 2004000 < GOOGLE_PROTOBUF_MIN_PROTOC_VERSION
#error This file was generated by an older version of protoc which is
#error incompatible with your Protocol Buffer headers.  Please
#error regenerate this file with a newer version of protoc.
#endif

#include <google/protobuf/generated_message_util.h>
#include <google/protobuf/repeated_field.h>
#include <google/protobuf/extension_set.h>
// @@protoc_insertion_point(includes)

namespace TnMapModelData {

// Internal implementation detail -- do not call these.
void  protobuf_AddDesc_TnMapModelData_2eproto();
void protobuf_AssignDesc_TnMapModelData_2eproto();
void protobuf_ShutdownFile_TnMapModelData_2eproto();

class Vertex;
class Data;

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

class Vertex : public ::google::protobuf::MessageLite {
 public:
  Vertex();
  virtual ~Vertex();
  
  Vertex(const Vertex& from);
  
  inline Vertex& operator=(const Vertex& from) {
    CopyFrom(from);
    return *this;
  }
  
  static const Vertex& default_instance();
  
  void Swap(Vertex* other);
  
  // implements Message ----------------------------------------------
  
  Vertex* New() const;
  void CheckTypeAndMergeFrom(const ::google::protobuf::MessageLite& from);
  void CopyFrom(const Vertex& from);
  void MergeFrom(const Vertex& from);
  void Clear();
  bool IsInitialized() const;
  
  int ByteSize() const;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input);
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const;
  int GetCachedSize() const { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const;
  public:
  
  ::std::string GetTypeName() const;
  
  // nested types ----------------------------------------------------
  
  // accessors -------------------------------------------------------
  
  // required float x = 1;
  inline bool has_x() const;
  inline void clear_x();
  static const int kXFieldNumber = 1;
  inline float x() const;
  inline void set_x(float value);
  
  // required float y = 2;
  inline bool has_y() const;
  inline void clear_y();
  static const int kYFieldNumber = 2;
  inline float y() const;
  inline void set_y(float value);
  
  // required float z = 3;
  inline bool has_z() const;
  inline void clear_z();
  static const int kZFieldNumber = 3;
  inline float z() const;
  inline void set_z(float value);
  
  // optional float s = 4;
  inline bool has_s() const;
  inline void clear_s();
  static const int kSFieldNumber = 4;
  inline float s() const;
  inline void set_s(float value);
  
  // optional float t = 5;
  inline bool has_t() const;
  inline void clear_t();
  static const int kTFieldNumber = 5;
  inline float t() const;
  inline void set_t(float value);
  
  // optional float nx = 6;
  inline bool has_nx() const;
  inline void clear_nx();
  static const int kNxFieldNumber = 6;
  inline float nx() const;
  inline void set_nx(float value);
  
  // optional float ny = 7;
  inline bool has_ny() const;
  inline void clear_ny();
  static const int kNyFieldNumber = 7;
  inline float ny() const;
  inline void set_ny(float value);
  
  // optional float nz = 8;
  inline bool has_nz() const;
  inline void clear_nz();
  static const int kNzFieldNumber = 8;
  inline float nz() const;
  inline void set_nz(float value);
  
  // @@protoc_insertion_point(class_scope:TnMapModelData.Vertex)
 private:
  inline void set_has_x();
  inline void clear_has_x();
  inline void set_has_y();
  inline void clear_has_y();
  inline void set_has_z();
  inline void clear_has_z();
  inline void set_has_s();
  inline void clear_has_s();
  inline void set_has_t();
  inline void clear_has_t();
  inline void set_has_nx();
  inline void clear_has_nx();
  inline void set_has_ny();
  inline void clear_has_ny();
  inline void set_has_nz();
  inline void clear_has_nz();
  
  float x_;
  float y_;
  float z_;
  float s_;
  float t_;
  float nx_;
  float ny_;
  float nz_;
  
  mutable int _cached_size_;
  ::google::protobuf::uint32 _has_bits_[(8 + 31) / 32];
  
  friend void  protobuf_AddDesc_TnMapModelData_2eproto();
  friend void protobuf_AssignDesc_TnMapModelData_2eproto();
  friend void protobuf_ShutdownFile_TnMapModelData_2eproto();
  
  void InitAsDefaultInstance();
  static Vertex* default_instance_;
};
// -------------------------------------------------------------------

class Data : public ::google::protobuf::MessageLite {
 public:
  Data();
  virtual ~Data();
  
  Data(const Data& from);
  
  inline Data& operator=(const Data& from) {
    CopyFrom(from);
    return *this;
  }
  
  static const Data& default_instance();
  
  void Swap(Data* other);
  
  // implements Message ----------------------------------------------
  
  Data* New() const;
  void CheckTypeAndMergeFrom(const ::google::protobuf::MessageLite& from);
  void CopyFrom(const Data& from);
  void MergeFrom(const Data& from);
  void Clear();
  bool IsInitialized() const;
  
  int ByteSize() const;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input);
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const;
  int GetCachedSize() const { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const;
  public:
  
  ::std::string GetTypeName() const;
  
  // nested types ----------------------------------------------------
  
  // accessors -------------------------------------------------------
  
  // optional int64 id = 1;
  inline bool has_id() const;
  inline void clear_id();
  static const int kIdFieldNumber = 1;
  inline ::google::protobuf::int64 id() const;
  inline void set_id(::google::protobuf::int64 value);
  
  // optional int32 lat = 2;
  inline bool has_lat() const;
  inline void clear_lat();
  static const int kLatFieldNumber = 2;
  inline ::google::protobuf::int32 lat() const;
  inline void set_lat(::google::protobuf::int32 value);
  
  // optional int32 lon = 3;
  inline bool has_lon() const;
  inline void clear_lon();
  static const int kLonFieldNumber = 3;
  inline ::google::protobuf::int32 lon() const;
  inline void set_lon(::google::protobuf::int32 value);
  
  // optional int32 precision = 4;
  inline bool has_precision() const;
  inline void clear_precision();
  static const int kPrecisionFieldNumber = 4;
  inline ::google::protobuf::int32 precision() const;
  inline void set_precision(::google::protobuf::int32 value);
  
  // optional int32 level = 5;
  inline bool has_level() const;
  inline void clear_level();
  static const int kLevelFieldNumber = 5;
  inline ::google::protobuf::int32 level() const;
  inline void set_level(::google::protobuf::int32 value);
  
  // optional int32 dataType = 6;
  inline bool has_datatype() const;
  inline void clear_datatype();
  static const int kDataTypeFieldNumber = 6;
  inline ::google::protobuf::int32 datatype() const;
  inline void set_datatype(::google::protobuf::int32 value);
  
  // optional int32 imageType = 7;
  inline bool has_imagetype() const;
  inline void clear_imagetype();
  static const int kImageTypeFieldNumber = 7;
  inline ::google::protobuf::int32 imagetype() const;
  inline void set_imagetype(::google::protobuf::int32 value);
  
  // optional int32 cntVertex = 8;
  inline bool has_cntvertex() const;
  inline void clear_cntvertex();
  static const int kCntVertexFieldNumber = 8;
  inline ::google::protobuf::int32 cntvertex() const;
  inline void set_cntvertex(::google::protobuf::int32 value);
  
  // optional int32 sizeImage = 9;
  inline bool has_sizeimage() const;
  inline void clear_sizeimage();
  static const int kSizeImageFieldNumber = 9;
  inline ::google::protobuf::int32 sizeimage() const;
  inline void set_sizeimage(::google::protobuf::int32 value);
  
  // optional bytes image = 10;
  inline bool has_image() const;
  inline void clear_image();
  static const int kImageFieldNumber = 10;
  inline const ::std::string& image() const;
  inline void set_image(const ::std::string& value);
  inline void set_image(const char* value);
  inline void set_image(const void* value, size_t size);
  inline ::std::string* mutable_image();
  inline ::std::string* release_image();
  
  // repeated .TnMapModelData.Vertex vertices = 11;
  inline int vertices_size() const;
  inline void clear_vertices();
  static const int kVerticesFieldNumber = 11;
  inline const ::TnMapModelData::Vertex& vertices(int index) const;
  inline ::TnMapModelData::Vertex* mutable_vertices(int index);
  inline ::TnMapModelData::Vertex* add_vertices();
  inline const ::google::protobuf::RepeatedPtrField< ::TnMapModelData::Vertex >&
      vertices() const;
  inline ::google::protobuf::RepeatedPtrField< ::TnMapModelData::Vertex >*
      mutable_vertices();
  
  // @@protoc_insertion_point(class_scope:TnMapModelData.Data)
 private:
  inline void set_has_id();
  inline void clear_has_id();
  inline void set_has_lat();
  inline void clear_has_lat();
  inline void set_has_lon();
  inline void clear_has_lon();
  inline void set_has_precision();
  inline void clear_has_precision();
  inline void set_has_level();
  inline void clear_has_level();
  inline void set_has_datatype();
  inline void clear_has_datatype();
  inline void set_has_imagetype();
  inline void clear_has_imagetype();
  inline void set_has_cntvertex();
  inline void clear_has_cntvertex();
  inline void set_has_sizeimage();
  inline void clear_has_sizeimage();
  inline void set_has_image();
  inline void clear_has_image();
  
  ::google::protobuf::int64 id_;
  ::google::protobuf::int32 lat_;
  ::google::protobuf::int32 lon_;
  ::google::protobuf::int32 precision_;
  ::google::protobuf::int32 level_;
  ::google::protobuf::int32 datatype_;
  ::google::protobuf::int32 imagetype_;
  ::google::protobuf::int32 cntvertex_;
  ::google::protobuf::int32 sizeimage_;
  ::std::string* image_;
  ::google::protobuf::RepeatedPtrField< ::TnMapModelData::Vertex > vertices_;
  
  mutable int _cached_size_;
  ::google::protobuf::uint32 _has_bits_[(11 + 31) / 32];
  
  friend void  protobuf_AddDesc_TnMapModelData_2eproto();
  friend void protobuf_AssignDesc_TnMapModelData_2eproto();
  friend void protobuf_ShutdownFile_TnMapModelData_2eproto();
  
  void InitAsDefaultInstance();
  static Data* default_instance_;
};
// ===================================================================


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

// Vertex

// required float x = 1;
inline bool Vertex::has_x() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void Vertex::set_has_x() {
  _has_bits_[0] |= 0x00000001u;
}
inline void Vertex::clear_has_x() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void Vertex::clear_x() {
  x_ = 0;
  clear_has_x();
}
inline float Vertex::x() const {
  return x_;
}
inline void Vertex::set_x(float value) {
  set_has_x();
  x_ = value;
}

// required float y = 2;
inline bool Vertex::has_y() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
inline void Vertex::set_has_y() {
  _has_bits_[0] |= 0x00000002u;
}
inline void Vertex::clear_has_y() {
  _has_bits_[0] &= ~0x00000002u;
}
inline void Vertex::clear_y() {
  y_ = 0;
  clear_has_y();
}
inline float Vertex::y() const {
  return y_;
}
inline void Vertex::set_y(float value) {
  set_has_y();
  y_ = value;
}

// required float z = 3;
inline bool Vertex::has_z() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
inline void Vertex::set_has_z() {
  _has_bits_[0] |= 0x00000004u;
}
inline void Vertex::clear_has_z() {
  _has_bits_[0] &= ~0x00000004u;
}
inline void Vertex::clear_z() {
  z_ = 0;
  clear_has_z();
}
inline float Vertex::z() const {
  return z_;
}
inline void Vertex::set_z(float value) {
  set_has_z();
  z_ = value;
}

// optional float s = 4;
inline bool Vertex::has_s() const {
  return (_has_bits_[0] & 0x00000008u) != 0;
}
inline void Vertex::set_has_s() {
  _has_bits_[0] |= 0x00000008u;
}
inline void Vertex::clear_has_s() {
  _has_bits_[0] &= ~0x00000008u;
}
inline void Vertex::clear_s() {
  s_ = 0;
  clear_has_s();
}
inline float Vertex::s() const {
  return s_;
}
inline void Vertex::set_s(float value) {
  set_has_s();
  s_ = value;
}

// optional float t = 5;
inline bool Vertex::has_t() const {
  return (_has_bits_[0] & 0x00000010u) != 0;
}
inline void Vertex::set_has_t() {
  _has_bits_[0] |= 0x00000010u;
}
inline void Vertex::clear_has_t() {
  _has_bits_[0] &= ~0x00000010u;
}
inline void Vertex::clear_t() {
  t_ = 0;
  clear_has_t();
}
inline float Vertex::t() const {
  return t_;
}
inline void Vertex::set_t(float value) {
  set_has_t();
  t_ = value;
}

// optional float nx = 6;
inline bool Vertex::has_nx() const {
  return (_has_bits_[0] & 0x00000020u) != 0;
}
inline void Vertex::set_has_nx() {
  _has_bits_[0] |= 0x00000020u;
}
inline void Vertex::clear_has_nx() {
  _has_bits_[0] &= ~0x00000020u;
}
inline void Vertex::clear_nx() {
  nx_ = 0;
  clear_has_nx();
}
inline float Vertex::nx() const {
  return nx_;
}
inline void Vertex::set_nx(float value) {
  set_has_nx();
  nx_ = value;
}

// optional float ny = 7;
inline bool Vertex::has_ny() const {
  return (_has_bits_[0] & 0x00000040u) != 0;
}
inline void Vertex::set_has_ny() {
  _has_bits_[0] |= 0x00000040u;
}
inline void Vertex::clear_has_ny() {
  _has_bits_[0] &= ~0x00000040u;
}
inline void Vertex::clear_ny() {
  ny_ = 0;
  clear_has_ny();
}
inline float Vertex::ny() const {
  return ny_;
}
inline void Vertex::set_ny(float value) {
  set_has_ny();
  ny_ = value;
}

// optional float nz = 8;
inline bool Vertex::has_nz() const {
  return (_has_bits_[0] & 0x00000080u) != 0;
}
inline void Vertex::set_has_nz() {
  _has_bits_[0] |= 0x00000080u;
}
inline void Vertex::clear_has_nz() {
  _has_bits_[0] &= ~0x00000080u;
}
inline void Vertex::clear_nz() {
  nz_ = 0;
  clear_has_nz();
}
inline float Vertex::nz() const {
  return nz_;
}
inline void Vertex::set_nz(float value) {
  set_has_nz();
  nz_ = value;
}

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

// Data

// optional int64 id = 1;
inline bool Data::has_id() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void Data::set_has_id() {
  _has_bits_[0] |= 0x00000001u;
}
inline void Data::clear_has_id() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void Data::clear_id() {
  id_ = GOOGLE_LONGLONG(0);
  clear_has_id();
}
inline ::google::protobuf::int64 Data::id() const {
  return id_;
}
inline void Data::set_id(::google::protobuf::int64 value) {
  set_has_id();
  id_ = value;
}

// optional int32 lat = 2;
inline bool Data::has_lat() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
inline void Data::set_has_lat() {
  _has_bits_[0] |= 0x00000002u;
}
inline void Data::clear_has_lat() {
  _has_bits_[0] &= ~0x00000002u;
}
inline void Data::clear_lat() {
  lat_ = 0;
  clear_has_lat();
}
inline ::google::protobuf::int32 Data::lat() const {
  return lat_;
}
inline void Data::set_lat(::google::protobuf::int32 value) {
  set_has_lat();
  lat_ = value;
}

// optional int32 lon = 3;
inline bool Data::has_lon() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
inline void Data::set_has_lon() {
  _has_bits_[0] |= 0x00000004u;
}
inline void Data::clear_has_lon() {
  _has_bits_[0] &= ~0x00000004u;
}
inline void Data::clear_lon() {
  lon_ = 0;
  clear_has_lon();
}
inline ::google::protobuf::int32 Data::lon() const {
  return lon_;
}
inline void Data::set_lon(::google::protobuf::int32 value) {
  set_has_lon();
  lon_ = value;
}

// optional int32 precision = 4;
inline bool Data::has_precision() const {
  return (_has_bits_[0] & 0x00000008u) != 0;
}
inline void Data::set_has_precision() {
  _has_bits_[0] |= 0x00000008u;
}
inline void Data::clear_has_precision() {
  _has_bits_[0] &= ~0x00000008u;
}
inline void Data::clear_precision() {
  precision_ = 0;
  clear_has_precision();
}
inline ::google::protobuf::int32 Data::precision() const {
  return precision_;
}
inline void Data::set_precision(::google::protobuf::int32 value) {
  set_has_precision();
  precision_ = value;
}

// optional int32 level = 5;
inline bool Data::has_level() const {
  return (_has_bits_[0] & 0x00000010u) != 0;
}
inline void Data::set_has_level() {
  _has_bits_[0] |= 0x00000010u;
}
inline void Data::clear_has_level() {
  _has_bits_[0] &= ~0x00000010u;
}
inline void Data::clear_level() {
  level_ = 0;
  clear_has_level();
}
inline ::google::protobuf::int32 Data::level() const {
  return level_;
}
inline void Data::set_level(::google::protobuf::int32 value) {
  set_has_level();
  level_ = value;
}

// optional int32 dataType = 6;
inline bool Data::has_datatype() const {
  return (_has_bits_[0] & 0x00000020u) != 0;
}
inline void Data::set_has_datatype() {
  _has_bits_[0] |= 0x00000020u;
}
inline void Data::clear_has_datatype() {
  _has_bits_[0] &= ~0x00000020u;
}
inline void Data::clear_datatype() {
  datatype_ = 0;
  clear_has_datatype();
}
inline ::google::protobuf::int32 Data::datatype() const {
  return datatype_;
}
inline void Data::set_datatype(::google::protobuf::int32 value) {
  set_has_datatype();
  datatype_ = value;
}

// optional int32 imageType = 7;
inline bool Data::has_imagetype() const {
  return (_has_bits_[0] & 0x00000040u) != 0;
}
inline void Data::set_has_imagetype() {
  _has_bits_[0] |= 0x00000040u;
}
inline void Data::clear_has_imagetype() {
  _has_bits_[0] &= ~0x00000040u;
}
inline void Data::clear_imagetype() {
  imagetype_ = 0;
  clear_has_imagetype();
}
inline ::google::protobuf::int32 Data::imagetype() const {
  return imagetype_;
}
inline void Data::set_imagetype(::google::protobuf::int32 value) {
  set_has_imagetype();
  imagetype_ = value;
}

// optional int32 cntVertex = 8;
inline bool Data::has_cntvertex() const {
  return (_has_bits_[0] & 0x00000080u) != 0;
}
inline void Data::set_has_cntvertex() {
  _has_bits_[0] |= 0x00000080u;
}
inline void Data::clear_has_cntvertex() {
  _has_bits_[0] &= ~0x00000080u;
}
inline void Data::clear_cntvertex() {
  cntvertex_ = 0;
  clear_has_cntvertex();
}
inline ::google::protobuf::int32 Data::cntvertex() const {
  return cntvertex_;
}
inline void Data::set_cntvertex(::google::protobuf::int32 value) {
  set_has_cntvertex();
  cntvertex_ = value;
}

// optional int32 sizeImage = 9;
inline bool Data::has_sizeimage() const {
  return (_has_bits_[0] & 0x00000100u) != 0;
}
inline void Data::set_has_sizeimage() {
  _has_bits_[0] |= 0x00000100u;
}
inline void Data::clear_has_sizeimage() {
  _has_bits_[0] &= ~0x00000100u;
}
inline void Data::clear_sizeimage() {
  sizeimage_ = 0;
  clear_has_sizeimage();
}
inline ::google::protobuf::int32 Data::sizeimage() const {
  return sizeimage_;
}
inline void Data::set_sizeimage(::google::protobuf::int32 value) {
  set_has_sizeimage();
  sizeimage_ = value;
}

// optional bytes image = 10;
inline bool Data::has_image() const {
  return (_has_bits_[0] & 0x00000200u) != 0;
}
inline void Data::set_has_image() {
  _has_bits_[0] |= 0x00000200u;
}
inline void Data::clear_has_image() {
  _has_bits_[0] &= ~0x00000200u;
}
inline void Data::clear_image() {
  if (image_ != &::google::protobuf::internal::kEmptyString) {
    image_->clear();
  }
  clear_has_image();
}
inline const ::std::string& Data::image() const {
  return *image_;
}
inline void Data::set_image(const ::std::string& value) {
  set_has_image();
  if (image_ == &::google::protobuf::internal::kEmptyString) {
    image_ = new ::std::string;
  }
  image_->assign(value);
}
inline void Data::set_image(const char* value) {
  set_has_image();
  if (image_ == &::google::protobuf::internal::kEmptyString) {
    image_ = new ::std::string;
  }
  image_->assign(value);
}
inline void Data::set_image(const void* value, size_t size) {
  set_has_image();
  if (image_ == &::google::protobuf::internal::kEmptyString) {
    image_ = new ::std::string;
  }
  image_->assign(reinterpret_cast<const char*>(value), size);
}
inline ::std::string* Data::mutable_image() {
  set_has_image();
  if (image_ == &::google::protobuf::internal::kEmptyString) {
    image_ = new ::std::string;
  }
  return image_;
}
inline ::std::string* Data::release_image() {
  clear_has_image();
  if (image_ == &::google::protobuf::internal::kEmptyString) {
    return NULL;
  } else {
    ::std::string* temp = image_;
    image_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString);
    return temp;
  }
}

// repeated .TnMapModelData.Vertex vertices = 11;
inline int Data::vertices_size() const {
  return vertices_.size();
}
inline void Data::clear_vertices() {
  vertices_.Clear();
}
inline const ::TnMapModelData::Vertex& Data::vertices(int index) const {
  return vertices_.Get(index);
}
inline ::TnMapModelData::Vertex* Data::mutable_vertices(int index) {
  return vertices_.Mutable(index);
}
inline ::TnMapModelData::Vertex* Data::add_vertices() {
  return vertices_.Add();
}
inline const ::google::protobuf::RepeatedPtrField< ::TnMapModelData::Vertex >&
Data::vertices() const {
  return vertices_;
}
inline ::google::protobuf::RepeatedPtrField< ::TnMapModelData::Vertex >*
Data::mutable_vertices() {
  return &vertices_;
}


// @@protoc_insertion_point(namespace_scope)

}  // namespace TnMapModelData

// @@protoc_insertion_point(global_scope)

#endif  // PROTOBUF_TnMapModelData_2eproto__INCLUDED
