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

#ifndef GOOGLE_PROTOBUF_INCLUDED_nav_5fmap_2eproto
#define GOOGLE_PROTOBUF_INCLUDED_nav_5fmap_2eproto

#include <limits>
#include <string>

#include <google/protobuf/port_def.inc>
#if PROTOBUF_VERSION < 3012000
#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 3012004 < 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/port_undef.inc>
#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/inlined_string_field.h>
#include <google/protobuf/metadata_lite.h>
#include <google/protobuf/generated_message_reflection.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/generated_enum_reflection.h>
#include <google/protobuf/unknown_field_set.h>
// @@protoc_insertion_point(includes)
#include <google/protobuf/port_def.inc>
#define PROTOBUF_INTERNAL_EXPORT_nav_5fmap_2eproto
PROTOBUF_NAMESPACE_OPEN
namespace internal {
class AnyMetadata;
}  // namespace internal
PROTOBUF_NAMESPACE_CLOSE

// Internal implementation detail -- do not use these members.
struct TableStruct_nav_5fmap_2eproto {
  static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTableField entries[]
    PROTOBUF_SECTION_VARIABLE(protodesc_cold);
  static const ::PROTOBUF_NAMESPACE_ID::internal::AuxillaryParseTableField aux[]
    PROTOBUF_SECTION_VARIABLE(protodesc_cold);
  static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[4]
    PROTOBUF_SECTION_VARIABLE(protodesc_cold);
  static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[];
  static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[];
  static const ::PROTOBUF_NAMESPACE_ID::uint32 offsets[];
};
extern const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_nav_5fmap_2eproto;
namespace Anki {
namespace Vector {
namespace external_interface {
class NavMapFeedRequest;
class NavMapFeedRequestDefaultTypeInternal;
extern NavMapFeedRequestDefaultTypeInternal _NavMapFeedRequest_default_instance_;
class NavMapFeedResponse;
class NavMapFeedResponseDefaultTypeInternal;
extern NavMapFeedResponseDefaultTypeInternal _NavMapFeedResponse_default_instance_;
class NavMapInfo;
class NavMapInfoDefaultTypeInternal;
extern NavMapInfoDefaultTypeInternal _NavMapInfo_default_instance_;
class NavMapQuadInfo;
class NavMapQuadInfoDefaultTypeInternal;
extern NavMapQuadInfoDefaultTypeInternal _NavMapQuadInfo_default_instance_;
}  // namespace external_interface
}  // namespace Vector
}  // namespace Anki
PROTOBUF_NAMESPACE_OPEN
template<> ::Anki::Vector::external_interface::NavMapFeedRequest* Arena::CreateMaybeMessage<::Anki::Vector::external_interface::NavMapFeedRequest>(Arena*);
template<> ::Anki::Vector::external_interface::NavMapFeedResponse* Arena::CreateMaybeMessage<::Anki::Vector::external_interface::NavMapFeedResponse>(Arena*);
template<> ::Anki::Vector::external_interface::NavMapInfo* Arena::CreateMaybeMessage<::Anki::Vector::external_interface::NavMapInfo>(Arena*);
template<> ::Anki::Vector::external_interface::NavMapQuadInfo* Arena::CreateMaybeMessage<::Anki::Vector::external_interface::NavMapQuadInfo>(Arena*);
PROTOBUF_NAMESPACE_CLOSE
namespace Anki {
namespace Vector {
namespace external_interface {

enum NavNodeContentType : int {
  NAV_NODE_UNKNOWN = 0,
  NAV_NODE_CLEAR_OF_OBSTACLE = 1,
  NAV_NODE_CLEAR_OF_CLIFF = 2,
  NAV_NODE_OBSTACLE_CUBE = 3,
  NAV_NODE_OBSTACLE_PROXIMITY = 4,
  NAV_NODE_OBSTACLE_PROXIMITY_EXPLORED = 5,
  NAV_NODE_OBSTACLE_UNRECOGNIZED = 6,
  NAV_NODE_CLIFF = 7,
  NAV_NODE_INTERESTING_EDGE = 8,
  NAV_NODE_NON_INTERESTING_EDGE = 9,
  NavNodeContentType_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits<::PROTOBUF_NAMESPACE_ID::int32>::min(),
  NavNodeContentType_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits<::PROTOBUF_NAMESPACE_ID::int32>::max()
};
bool NavNodeContentType_IsValid(int value);
constexpr NavNodeContentType NavNodeContentType_MIN = NAV_NODE_UNKNOWN;
constexpr NavNodeContentType NavNodeContentType_MAX = NAV_NODE_NON_INTERESTING_EDGE;
constexpr int NavNodeContentType_ARRAYSIZE = NavNodeContentType_MAX + 1;

const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* NavNodeContentType_descriptor();
template<typename T>
inline const std::string& NavNodeContentType_Name(T enum_t_value) {
  static_assert(::std::is_same<T, NavNodeContentType>::value ||
    ::std::is_integral<T>::value,
    "Incorrect type passed to function NavNodeContentType_Name.");
  return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
    NavNodeContentType_descriptor(), enum_t_value);
}
inline bool NavNodeContentType_Parse(
    const std::string& name, NavNodeContentType* value) {
  return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<NavNodeContentType>(
    NavNodeContentType_descriptor(), name, value);
}
// ===================================================================

class NavMapQuadInfo PROTOBUF_FINAL :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:Anki.Vector.external_interface.NavMapQuadInfo) */ {
 public:
  inline NavMapQuadInfo() : NavMapQuadInfo(static_cast<::PROTOBUF_NAMESPACE_ID::Arena*>(nullptr)) {}
  virtual ~NavMapQuadInfo();

  NavMapQuadInfo(const NavMapQuadInfo& from);
  NavMapQuadInfo(NavMapQuadInfo&& from) noexcept
    : NavMapQuadInfo() {
    *this = ::std::move(from);
  }

  inline NavMapQuadInfo& operator=(const NavMapQuadInfo& from) {
    CopyFrom(from);
    return *this;
  }
  inline NavMapQuadInfo& operator=(NavMapQuadInfo&& from) noexcept {
    if (GetArena() == from.GetArena()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return GetMetadataStatic().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return GetMetadataStatic().reflection;
  }
  static const NavMapQuadInfo& default_instance();

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

  friend void swap(NavMapQuadInfo& a, NavMapQuadInfo& b) {
    a.Swap(&b);
  }
  inline void Swap(NavMapQuadInfo* other) {
    if (other == this) return;
    if (GetArena() == other->GetArena()) {
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(NavMapQuadInfo* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

  inline NavMapQuadInfo* New() const final {
    return CreateMaybeMessage<NavMapQuadInfo>(nullptr);
  }

  NavMapQuadInfo* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
    return CreateMaybeMessage<NavMapQuadInfo>(arena);
  }
  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void CopyFrom(const NavMapQuadInfo& from);
  void MergeFrom(const NavMapQuadInfo& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
      ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  inline void SharedCtor();
  inline void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(NavMapQuadInfo* other);
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "Anki.Vector.external_interface.NavMapQuadInfo";
  }
  protected:
  explicit NavMapQuadInfo(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
  private:
  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
    ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_nav_5fmap_2eproto);
    return ::descriptor_table_nav_5fmap_2eproto.file_level_metadata[kIndexInFileMessages];
  }

  public:

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

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

  enum : int {
    kContentFieldNumber = 1,
    kDepthFieldNumber = 2,
    kColorRgbaFieldNumber = 3,
  };
  // .Anki.Vector.external_interface.NavNodeContentType content = 1;
  void clear_content();
  ::Anki::Vector::external_interface::NavNodeContentType content() const;
  void set_content(::Anki::Vector::external_interface::NavNodeContentType value);
  private:
  ::Anki::Vector::external_interface::NavNodeContentType _internal_content() const;
  void _internal_set_content(::Anki::Vector::external_interface::NavNodeContentType value);
  public:

  // uint32 depth = 2;
  void clear_depth();
  ::PROTOBUF_NAMESPACE_ID::uint32 depth() const;
  void set_depth(::PROTOBUF_NAMESPACE_ID::uint32 value);
  private:
  ::PROTOBUF_NAMESPACE_ID::uint32 _internal_depth() const;
  void _internal_set_depth(::PROTOBUF_NAMESPACE_ID::uint32 value);
  public:

  // uint32 color_rgba = 3;
  void clear_color_rgba();
  ::PROTOBUF_NAMESPACE_ID::uint32 color_rgba() const;
  void set_color_rgba(::PROTOBUF_NAMESPACE_ID::uint32 value);
  private:
  ::PROTOBUF_NAMESPACE_ID::uint32 _internal_color_rgba() const;
  void _internal_set_color_rgba(::PROTOBUF_NAMESPACE_ID::uint32 value);
  public:

  
  // Begin code inserted by Anki plugin.
  NavMapQuadInfo( ::Anki::Vector::external_interface::NavNodeContentType content, ::google::protobuf::uint32 depth, ::google::protobuf::uint32 color_rgba );
  // End code inserted by Anki plugin.
  
  // @@protoc_insertion_point(class_scope:Anki.Vector.external_interface.NavMapQuadInfo)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  int content_;
  ::PROTOBUF_NAMESPACE_ID::uint32 depth_;
  ::PROTOBUF_NAMESPACE_ID::uint32 color_rgba_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_nav_5fmap_2eproto;
};
// -------------------------------------------------------------------

class NavMapInfo PROTOBUF_FINAL :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:Anki.Vector.external_interface.NavMapInfo) */ {
 public:
  inline NavMapInfo() : NavMapInfo(static_cast<::PROTOBUF_NAMESPACE_ID::Arena*>(nullptr)) {}
  virtual ~NavMapInfo();

  NavMapInfo(const NavMapInfo& from);
  NavMapInfo(NavMapInfo&& from) noexcept
    : NavMapInfo() {
    *this = ::std::move(from);
  }

  inline NavMapInfo& operator=(const NavMapInfo& from) {
    CopyFrom(from);
    return *this;
  }
  inline NavMapInfo& operator=(NavMapInfo&& from) noexcept {
    if (GetArena() == from.GetArena()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return GetMetadataStatic().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return GetMetadataStatic().reflection;
  }
  static const NavMapInfo& default_instance();

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

  friend void swap(NavMapInfo& a, NavMapInfo& b) {
    a.Swap(&b);
  }
  inline void Swap(NavMapInfo* other) {
    if (other == this) return;
    if (GetArena() == other->GetArena()) {
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(NavMapInfo* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

  inline NavMapInfo* New() const final {
    return CreateMaybeMessage<NavMapInfo>(nullptr);
  }

  NavMapInfo* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
    return CreateMaybeMessage<NavMapInfo>(arena);
  }
  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void CopyFrom(const NavMapInfo& from);
  void MergeFrom(const NavMapInfo& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
      ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  inline void SharedCtor();
  inline void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(NavMapInfo* other);
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "Anki.Vector.external_interface.NavMapInfo";
  }
  protected:
  explicit NavMapInfo(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
  private:
  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
    ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_nav_5fmap_2eproto);
    return ::descriptor_table_nav_5fmap_2eproto.file_level_metadata[kIndexInFileMessages];
  }

  public:

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

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

  enum : int {
    kRootDepthFieldNumber = 1,
    kRootSizeMmFieldNumber = 2,
    kRootCenterXFieldNumber = 3,
    kRootCenterYFieldNumber = 4,
    kRootCenterZFieldNumber = 5,
  };
  // int32 root_depth = 1;
  void clear_root_depth();
  ::PROTOBUF_NAMESPACE_ID::int32 root_depth() const;
  void set_root_depth(::PROTOBUF_NAMESPACE_ID::int32 value);
  private:
  ::PROTOBUF_NAMESPACE_ID::int32 _internal_root_depth() const;
  void _internal_set_root_depth(::PROTOBUF_NAMESPACE_ID::int32 value);
  public:

  // float root_size_mm = 2;
  void clear_root_size_mm();
  float root_size_mm() const;
  void set_root_size_mm(float value);
  private:
  float _internal_root_size_mm() const;
  void _internal_set_root_size_mm(float value);
  public:

  // float root_center_x = 3;
  void clear_root_center_x();
  float root_center_x() const;
  void set_root_center_x(float value);
  private:
  float _internal_root_center_x() const;
  void _internal_set_root_center_x(float value);
  public:

  // float root_center_y = 4;
  void clear_root_center_y();
  float root_center_y() const;
  void set_root_center_y(float value);
  private:
  float _internal_root_center_y() const;
  void _internal_set_root_center_y(float value);
  public:

  // float root_center_z = 5;
  void clear_root_center_z();
  float root_center_z() const;
  void set_root_center_z(float value);
  private:
  float _internal_root_center_z() const;
  void _internal_set_root_center_z(float value);
  public:

  
  // Begin code inserted by Anki plugin.
  NavMapInfo( ::google::protobuf::int32 root_depth, float root_size_mm, float root_center_x, float root_center_y, float root_center_z );
  // End code inserted by Anki plugin.
  
  // @@protoc_insertion_point(class_scope:Anki.Vector.external_interface.NavMapInfo)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::int32 root_depth_;
  float root_size_mm_;
  float root_center_x_;
  float root_center_y_;
  float root_center_z_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_nav_5fmap_2eproto;
};
// -------------------------------------------------------------------

class NavMapFeedRequest PROTOBUF_FINAL :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:Anki.Vector.external_interface.NavMapFeedRequest) */ {
 public:
  inline NavMapFeedRequest() : NavMapFeedRequest(static_cast<::PROTOBUF_NAMESPACE_ID::Arena*>(nullptr)) {}
  virtual ~NavMapFeedRequest();

  NavMapFeedRequest(const NavMapFeedRequest& from);
  NavMapFeedRequest(NavMapFeedRequest&& from) noexcept
    : NavMapFeedRequest() {
    *this = ::std::move(from);
  }

  inline NavMapFeedRequest& operator=(const NavMapFeedRequest& from) {
    CopyFrom(from);
    return *this;
  }
  inline NavMapFeedRequest& operator=(NavMapFeedRequest&& from) noexcept {
    if (GetArena() == from.GetArena()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return GetMetadataStatic().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return GetMetadataStatic().reflection;
  }
  static const NavMapFeedRequest& default_instance();

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

  friend void swap(NavMapFeedRequest& a, NavMapFeedRequest& b) {
    a.Swap(&b);
  }
  inline void Swap(NavMapFeedRequest* other) {
    if (other == this) return;
    if (GetArena() == other->GetArena()) {
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(NavMapFeedRequest* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

  inline NavMapFeedRequest* New() const final {
    return CreateMaybeMessage<NavMapFeedRequest>(nullptr);
  }

  NavMapFeedRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
    return CreateMaybeMessage<NavMapFeedRequest>(arena);
  }
  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void CopyFrom(const NavMapFeedRequest& from);
  void MergeFrom(const NavMapFeedRequest& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
      ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  inline void SharedCtor();
  inline void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(NavMapFeedRequest* other);
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "Anki.Vector.external_interface.NavMapFeedRequest";
  }
  protected:
  explicit NavMapFeedRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
  private:
  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
    ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_nav_5fmap_2eproto);
    return ::descriptor_table_nav_5fmap_2eproto.file_level_metadata[kIndexInFileMessages];
  }

  public:

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

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

  enum : int {
    kFrequencyFieldNumber = 1,
  };
  // float frequency = 1;
  void clear_frequency();
  float frequency() const;
  void set_frequency(float value);
  private:
  float _internal_frequency() const;
  void _internal_set_frequency(float value);
  public:

  
  // Begin code inserted by Anki plugin.
  explicit NavMapFeedRequest( float frequency );
  // End code inserted by Anki plugin.
  
  // @@protoc_insertion_point(class_scope:Anki.Vector.external_interface.NavMapFeedRequest)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  float frequency_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_nav_5fmap_2eproto;
};
// -------------------------------------------------------------------

class NavMapFeedResponse PROTOBUF_FINAL :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:Anki.Vector.external_interface.NavMapFeedResponse) */ {
 public:
  inline NavMapFeedResponse() : NavMapFeedResponse(static_cast<::PROTOBUF_NAMESPACE_ID::Arena*>(nullptr)) {}
  virtual ~NavMapFeedResponse();

  NavMapFeedResponse(const NavMapFeedResponse& from);
  NavMapFeedResponse(NavMapFeedResponse&& from) noexcept
    : NavMapFeedResponse() {
    *this = ::std::move(from);
  }

  inline NavMapFeedResponse& operator=(const NavMapFeedResponse& from) {
    CopyFrom(from);
    return *this;
  }
  inline NavMapFeedResponse& operator=(NavMapFeedResponse&& from) noexcept {
    if (GetArena() == from.GetArena()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return GetMetadataStatic().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return GetMetadataStatic().reflection;
  }
  static const NavMapFeedResponse& default_instance();

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

  friend void swap(NavMapFeedResponse& a, NavMapFeedResponse& b) {
    a.Swap(&b);
  }
  inline void Swap(NavMapFeedResponse* other) {
    if (other == this) return;
    if (GetArena() == other->GetArena()) {
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(NavMapFeedResponse* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

  inline NavMapFeedResponse* New() const final {
    return CreateMaybeMessage<NavMapFeedResponse>(nullptr);
  }

  NavMapFeedResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
    return CreateMaybeMessage<NavMapFeedResponse>(arena);
  }
  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void CopyFrom(const NavMapFeedResponse& from);
  void MergeFrom(const NavMapFeedResponse& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
      ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  inline void SharedCtor();
  inline void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(NavMapFeedResponse* other);
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "Anki.Vector.external_interface.NavMapFeedResponse";
  }
  protected:
  explicit NavMapFeedResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
  private:
  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
    ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_nav_5fmap_2eproto);
    return ::descriptor_table_nav_5fmap_2eproto.file_level_metadata[kIndexInFileMessages];
  }

  public:

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

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

  enum : int {
    kQuadInfosFieldNumber = 3,
    kMapInfoFieldNumber = 2,
    kOriginIdFieldNumber = 1,
  };
  // repeated .Anki.Vector.external_interface.NavMapQuadInfo quad_infos = 3;
  int quad_infos_size() const;
  private:
  int _internal_quad_infos_size() const;
  public:
  void clear_quad_infos();
  ::Anki::Vector::external_interface::NavMapQuadInfo* mutable_quad_infos(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Anki::Vector::external_interface::NavMapQuadInfo >*
      mutable_quad_infos();
  private:
  const ::Anki::Vector::external_interface::NavMapQuadInfo& _internal_quad_infos(int index) const;
  ::Anki::Vector::external_interface::NavMapQuadInfo* _internal_add_quad_infos();
  public:
  const ::Anki::Vector::external_interface::NavMapQuadInfo& quad_infos(int index) const;
  ::Anki::Vector::external_interface::NavMapQuadInfo* add_quad_infos();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Anki::Vector::external_interface::NavMapQuadInfo >&
      quad_infos() const;

  // .Anki.Vector.external_interface.NavMapInfo map_info = 2;
  bool has_map_info() const;
  private:
  bool _internal_has_map_info() const;
  public:
  void clear_map_info();
  const ::Anki::Vector::external_interface::NavMapInfo& map_info() const;
  ::Anki::Vector::external_interface::NavMapInfo* release_map_info();
  ::Anki::Vector::external_interface::NavMapInfo* mutable_map_info();
  void set_allocated_map_info(::Anki::Vector::external_interface::NavMapInfo* map_info);
  private:
  const ::Anki::Vector::external_interface::NavMapInfo& _internal_map_info() const;
  ::Anki::Vector::external_interface::NavMapInfo* _internal_mutable_map_info();
  public:
  void unsafe_arena_set_allocated_map_info(
      ::Anki::Vector::external_interface::NavMapInfo* map_info);
  ::Anki::Vector::external_interface::NavMapInfo* unsafe_arena_release_map_info();

  // uint32 origin_id = 1;
  void clear_origin_id();
  ::PROTOBUF_NAMESPACE_ID::uint32 origin_id() const;
  void set_origin_id(::PROTOBUF_NAMESPACE_ID::uint32 value);
  private:
  ::PROTOBUF_NAMESPACE_ID::uint32 _internal_origin_id() const;
  void _internal_set_origin_id(::PROTOBUF_NAMESPACE_ID::uint32 value);
  public:

  // @@protoc_insertion_point(class_scope:Anki.Vector.external_interface.NavMapFeedResponse)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Anki::Vector::external_interface::NavMapQuadInfo > quad_infos_;
  ::Anki::Vector::external_interface::NavMapInfo* map_info_;
  ::PROTOBUF_NAMESPACE_ID::uint32 origin_id_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_nav_5fmap_2eproto;
};
// ===================================================================


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

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

// .Anki.Vector.external_interface.NavNodeContentType content = 1;
inline void NavMapQuadInfo::clear_content() {
  content_ = 0;
}
inline ::Anki::Vector::external_interface::NavNodeContentType NavMapQuadInfo::_internal_content() const {
  return static_cast< ::Anki::Vector::external_interface::NavNodeContentType >(content_);
}
inline ::Anki::Vector::external_interface::NavNodeContentType NavMapQuadInfo::content() const {
  // @@protoc_insertion_point(field_get:Anki.Vector.external_interface.NavMapQuadInfo.content)
  return _internal_content();
}
inline void NavMapQuadInfo::_internal_set_content(::Anki::Vector::external_interface::NavNodeContentType value) {
  
  content_ = value;
}
inline void NavMapQuadInfo::set_content(::Anki::Vector::external_interface::NavNodeContentType value) {
  _internal_set_content(value);
  // @@protoc_insertion_point(field_set:Anki.Vector.external_interface.NavMapQuadInfo.content)
}

// uint32 depth = 2;
inline void NavMapQuadInfo::clear_depth() {
  depth_ = 0u;
}
inline ::PROTOBUF_NAMESPACE_ID::uint32 NavMapQuadInfo::_internal_depth() const {
  return depth_;
}
inline ::PROTOBUF_NAMESPACE_ID::uint32 NavMapQuadInfo::depth() const {
  // @@protoc_insertion_point(field_get:Anki.Vector.external_interface.NavMapQuadInfo.depth)
  return _internal_depth();
}
inline void NavMapQuadInfo::_internal_set_depth(::PROTOBUF_NAMESPACE_ID::uint32 value) {
  
  depth_ = value;
}
inline void NavMapQuadInfo::set_depth(::PROTOBUF_NAMESPACE_ID::uint32 value) {
  _internal_set_depth(value);
  // @@protoc_insertion_point(field_set:Anki.Vector.external_interface.NavMapQuadInfo.depth)
}

// uint32 color_rgba = 3;
inline void NavMapQuadInfo::clear_color_rgba() {
  color_rgba_ = 0u;
}
inline ::PROTOBUF_NAMESPACE_ID::uint32 NavMapQuadInfo::_internal_color_rgba() const {
  return color_rgba_;
}
inline ::PROTOBUF_NAMESPACE_ID::uint32 NavMapQuadInfo::color_rgba() const {
  // @@protoc_insertion_point(field_get:Anki.Vector.external_interface.NavMapQuadInfo.color_rgba)
  return _internal_color_rgba();
}
inline void NavMapQuadInfo::_internal_set_color_rgba(::PROTOBUF_NAMESPACE_ID::uint32 value) {
  
  color_rgba_ = value;
}
inline void NavMapQuadInfo::set_color_rgba(::PROTOBUF_NAMESPACE_ID::uint32 value) {
  _internal_set_color_rgba(value);
  // @@protoc_insertion_point(field_set:Anki.Vector.external_interface.NavMapQuadInfo.color_rgba)
}

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

// NavMapInfo

// int32 root_depth = 1;
inline void NavMapInfo::clear_root_depth() {
  root_depth_ = 0;
}
inline ::PROTOBUF_NAMESPACE_ID::int32 NavMapInfo::_internal_root_depth() const {
  return root_depth_;
}
inline ::PROTOBUF_NAMESPACE_ID::int32 NavMapInfo::root_depth() const {
  // @@protoc_insertion_point(field_get:Anki.Vector.external_interface.NavMapInfo.root_depth)
  return _internal_root_depth();
}
inline void NavMapInfo::_internal_set_root_depth(::PROTOBUF_NAMESPACE_ID::int32 value) {
  
  root_depth_ = value;
}
inline void NavMapInfo::set_root_depth(::PROTOBUF_NAMESPACE_ID::int32 value) {
  _internal_set_root_depth(value);
  // @@protoc_insertion_point(field_set:Anki.Vector.external_interface.NavMapInfo.root_depth)
}

// float root_size_mm = 2;
inline void NavMapInfo::clear_root_size_mm() {
  root_size_mm_ = 0;
}
inline float NavMapInfo::_internal_root_size_mm() const {
  return root_size_mm_;
}
inline float NavMapInfo::root_size_mm() const {
  // @@protoc_insertion_point(field_get:Anki.Vector.external_interface.NavMapInfo.root_size_mm)
  return _internal_root_size_mm();
}
inline void NavMapInfo::_internal_set_root_size_mm(float value) {
  
  root_size_mm_ = value;
}
inline void NavMapInfo::set_root_size_mm(float value) {
  _internal_set_root_size_mm(value);
  // @@protoc_insertion_point(field_set:Anki.Vector.external_interface.NavMapInfo.root_size_mm)
}

// float root_center_x = 3;
inline void NavMapInfo::clear_root_center_x() {
  root_center_x_ = 0;
}
inline float NavMapInfo::_internal_root_center_x() const {
  return root_center_x_;
}
inline float NavMapInfo::root_center_x() const {
  // @@protoc_insertion_point(field_get:Anki.Vector.external_interface.NavMapInfo.root_center_x)
  return _internal_root_center_x();
}
inline void NavMapInfo::_internal_set_root_center_x(float value) {
  
  root_center_x_ = value;
}
inline void NavMapInfo::set_root_center_x(float value) {
  _internal_set_root_center_x(value);
  // @@protoc_insertion_point(field_set:Anki.Vector.external_interface.NavMapInfo.root_center_x)
}

// float root_center_y = 4;
inline void NavMapInfo::clear_root_center_y() {
  root_center_y_ = 0;
}
inline float NavMapInfo::_internal_root_center_y() const {
  return root_center_y_;
}
inline float NavMapInfo::root_center_y() const {
  // @@protoc_insertion_point(field_get:Anki.Vector.external_interface.NavMapInfo.root_center_y)
  return _internal_root_center_y();
}
inline void NavMapInfo::_internal_set_root_center_y(float value) {
  
  root_center_y_ = value;
}
inline void NavMapInfo::set_root_center_y(float value) {
  _internal_set_root_center_y(value);
  // @@protoc_insertion_point(field_set:Anki.Vector.external_interface.NavMapInfo.root_center_y)
}

// float root_center_z = 5;
inline void NavMapInfo::clear_root_center_z() {
  root_center_z_ = 0;
}
inline float NavMapInfo::_internal_root_center_z() const {
  return root_center_z_;
}
inline float NavMapInfo::root_center_z() const {
  // @@protoc_insertion_point(field_get:Anki.Vector.external_interface.NavMapInfo.root_center_z)
  return _internal_root_center_z();
}
inline void NavMapInfo::_internal_set_root_center_z(float value) {
  
  root_center_z_ = value;
}
inline void NavMapInfo::set_root_center_z(float value) {
  _internal_set_root_center_z(value);
  // @@protoc_insertion_point(field_set:Anki.Vector.external_interface.NavMapInfo.root_center_z)
}

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

// NavMapFeedRequest

// float frequency = 1;
inline void NavMapFeedRequest::clear_frequency() {
  frequency_ = 0;
}
inline float NavMapFeedRequest::_internal_frequency() const {
  return frequency_;
}
inline float NavMapFeedRequest::frequency() const {
  // @@protoc_insertion_point(field_get:Anki.Vector.external_interface.NavMapFeedRequest.frequency)
  return _internal_frequency();
}
inline void NavMapFeedRequest::_internal_set_frequency(float value) {
  
  frequency_ = value;
}
inline void NavMapFeedRequest::set_frequency(float value) {
  _internal_set_frequency(value);
  // @@protoc_insertion_point(field_set:Anki.Vector.external_interface.NavMapFeedRequest.frequency)
}

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

// NavMapFeedResponse

// uint32 origin_id = 1;
inline void NavMapFeedResponse::clear_origin_id() {
  origin_id_ = 0u;
}
inline ::PROTOBUF_NAMESPACE_ID::uint32 NavMapFeedResponse::_internal_origin_id() const {
  return origin_id_;
}
inline ::PROTOBUF_NAMESPACE_ID::uint32 NavMapFeedResponse::origin_id() const {
  // @@protoc_insertion_point(field_get:Anki.Vector.external_interface.NavMapFeedResponse.origin_id)
  return _internal_origin_id();
}
inline void NavMapFeedResponse::_internal_set_origin_id(::PROTOBUF_NAMESPACE_ID::uint32 value) {
  
  origin_id_ = value;
}
inline void NavMapFeedResponse::set_origin_id(::PROTOBUF_NAMESPACE_ID::uint32 value) {
  _internal_set_origin_id(value);
  // @@protoc_insertion_point(field_set:Anki.Vector.external_interface.NavMapFeedResponse.origin_id)
}

// .Anki.Vector.external_interface.NavMapInfo map_info = 2;
inline bool NavMapFeedResponse::_internal_has_map_info() const {
  return this != internal_default_instance() && map_info_ != nullptr;
}
inline bool NavMapFeedResponse::has_map_info() const {
  return _internal_has_map_info();
}
inline void NavMapFeedResponse::clear_map_info() {
  if (GetArena() == nullptr && map_info_ != nullptr) {
    delete map_info_;
  }
  map_info_ = nullptr;
}
inline const ::Anki::Vector::external_interface::NavMapInfo& NavMapFeedResponse::_internal_map_info() const {
  const ::Anki::Vector::external_interface::NavMapInfo* p = map_info_;
  return p != nullptr ? *p : *reinterpret_cast<const ::Anki::Vector::external_interface::NavMapInfo*>(
      &::Anki::Vector::external_interface::_NavMapInfo_default_instance_);
}
inline const ::Anki::Vector::external_interface::NavMapInfo& NavMapFeedResponse::map_info() const {
  // @@protoc_insertion_point(field_get:Anki.Vector.external_interface.NavMapFeedResponse.map_info)
  return _internal_map_info();
}
inline void NavMapFeedResponse::unsafe_arena_set_allocated_map_info(
    ::Anki::Vector::external_interface::NavMapInfo* map_info) {
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(map_info_);
  }
  map_info_ = map_info;
  if (map_info) {
    
  } else {
    
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:Anki.Vector.external_interface.NavMapFeedResponse.map_info)
}
inline ::Anki::Vector::external_interface::NavMapInfo* NavMapFeedResponse::release_map_info() {
  auto temp = unsafe_arena_release_map_info();
  if (GetArena() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
  return temp;
}
inline ::Anki::Vector::external_interface::NavMapInfo* NavMapFeedResponse::unsafe_arena_release_map_info() {
  // @@protoc_insertion_point(field_release:Anki.Vector.external_interface.NavMapFeedResponse.map_info)
  
  ::Anki::Vector::external_interface::NavMapInfo* temp = map_info_;
  map_info_ = nullptr;
  return temp;
}
inline ::Anki::Vector::external_interface::NavMapInfo* NavMapFeedResponse::_internal_mutable_map_info() {
  
  if (map_info_ == nullptr) {
    auto* p = CreateMaybeMessage<::Anki::Vector::external_interface::NavMapInfo>(GetArena());
    map_info_ = p;
  }
  return map_info_;
}
inline ::Anki::Vector::external_interface::NavMapInfo* NavMapFeedResponse::mutable_map_info() {
  // @@protoc_insertion_point(field_mutable:Anki.Vector.external_interface.NavMapFeedResponse.map_info)
  return _internal_mutable_map_info();
}
inline void NavMapFeedResponse::set_allocated_map_info(::Anki::Vector::external_interface::NavMapInfo* map_info) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  if (message_arena == nullptr) {
    delete map_info_;
  }
  if (map_info) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(map_info);
    if (message_arena != submessage_arena) {
      map_info = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, map_info, submessage_arena);
    }
    
  } else {
    
  }
  map_info_ = map_info;
  // @@protoc_insertion_point(field_set_allocated:Anki.Vector.external_interface.NavMapFeedResponse.map_info)
}

// repeated .Anki.Vector.external_interface.NavMapQuadInfo quad_infos = 3;
inline int NavMapFeedResponse::_internal_quad_infos_size() const {
  return quad_infos_.size();
}
inline int NavMapFeedResponse::quad_infos_size() const {
  return _internal_quad_infos_size();
}
inline void NavMapFeedResponse::clear_quad_infos() {
  quad_infos_.Clear();
}
inline ::Anki::Vector::external_interface::NavMapQuadInfo* NavMapFeedResponse::mutable_quad_infos(int index) {
  // @@protoc_insertion_point(field_mutable:Anki.Vector.external_interface.NavMapFeedResponse.quad_infos)
  return quad_infos_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Anki::Vector::external_interface::NavMapQuadInfo >*
NavMapFeedResponse::mutable_quad_infos() {
  // @@protoc_insertion_point(field_mutable_list:Anki.Vector.external_interface.NavMapFeedResponse.quad_infos)
  return &quad_infos_;
}
inline const ::Anki::Vector::external_interface::NavMapQuadInfo& NavMapFeedResponse::_internal_quad_infos(int index) const {
  return quad_infos_.Get(index);
}
inline const ::Anki::Vector::external_interface::NavMapQuadInfo& NavMapFeedResponse::quad_infos(int index) const {
  // @@protoc_insertion_point(field_get:Anki.Vector.external_interface.NavMapFeedResponse.quad_infos)
  return _internal_quad_infos(index);
}
inline ::Anki::Vector::external_interface::NavMapQuadInfo* NavMapFeedResponse::_internal_add_quad_infos() {
  return quad_infos_.Add();
}
inline ::Anki::Vector::external_interface::NavMapQuadInfo* NavMapFeedResponse::add_quad_infos() {
  // @@protoc_insertion_point(field_add:Anki.Vector.external_interface.NavMapFeedResponse.quad_infos)
  return _internal_add_quad_infos();
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Anki::Vector::external_interface::NavMapQuadInfo >&
NavMapFeedResponse::quad_infos() const {
  // @@protoc_insertion_point(field_list:Anki.Vector.external_interface.NavMapFeedResponse.quad_infos)
  return quad_infos_;
}

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

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

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


// @@protoc_insertion_point(namespace_scope)

}  // namespace external_interface
}  // namespace Vector
}  // namespace Anki

PROTOBUF_NAMESPACE_OPEN

template <> struct is_proto_enum< ::Anki::Vector::external_interface::NavNodeContentType> : ::std::true_type {};
template <>
inline const EnumDescriptor* GetEnumDescriptor< ::Anki::Vector::external_interface::NavNodeContentType>() {
  return ::Anki::Vector::external_interface::NavNodeContentType_descriptor();
}

PROTOBUF_NAMESPACE_CLOSE

// @@protoc_insertion_point(global_scope)

#include <google/protobuf/port_undef.inc>
#endif  // GOOGLE_PROTOBUF_INCLUDED_GOOGLE_PROTOBUF_INCLUDED_nav_5fmap_2eproto
