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

#ifndef GOOGLE_PROTOBUF_INCLUDED_meta_2eproto
#define GOOGLE_PROTOBUF_INCLUDED_meta_2eproto

#include <limits>
#include <string>

#include <google/protobuf/port_def.inc>
#if PROTOBUF_VERSION < 3020000
#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 3020003 < 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_util.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/unknown_field_set.h>
#include "vector.pb.h"
#include "spatial.pb.h"
// @@protoc_insertion_point(includes)
#include <google/protobuf/port_def.inc>
#define PROTOBUF_INTERNAL_EXPORT_meta_2eproto
PROTOBUF_NAMESPACE_OPEN
namespace internal {
class AnyMetadata;
}  // namespace internal
PROTOBUF_NAMESPACE_CLOSE

// Internal implementation detail -- do not use these members.
struct TableStruct_meta_2eproto {
  static const uint32_t offsets[];
};
extern const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_meta_2eproto;
namespace Messages {
class CameraControl;
struct CameraControlDefaultTypeInternal;
extern CameraControlDefaultTypeInternal _CameraControl_default_instance_;
class GraphicsControl;
struct GraphicsControlDefaultTypeInternal;
extern GraphicsControlDefaultTypeInternal _GraphicsControl_default_instance_;
class Meta;
struct MetaDefaultTypeInternal;
extern MetaDefaultTypeInternal _Meta_default_instance_;
class Representation;
struct RepresentationDefaultTypeInternal;
extern RepresentationDefaultTypeInternal _Representation_default_instance_;
class SliceControl;
struct SliceControlDefaultTypeInternal;
extern SliceControlDefaultTypeInternal _SliceControl_default_instance_;
class Visual;
struct VisualDefaultTypeInternal;
extern VisualDefaultTypeInternal _Visual_default_instance_;
}  // namespace Messages
PROTOBUF_NAMESPACE_OPEN
template<> ::Messages::CameraControl* Arena::CreateMaybeMessage<::Messages::CameraControl>(Arena*);
template<> ::Messages::GraphicsControl* Arena::CreateMaybeMessage<::Messages::GraphicsControl>(Arena*);
template<> ::Messages::Meta* Arena::CreateMaybeMessage<::Messages::Meta>(Arena*);
template<> ::Messages::Representation* Arena::CreateMaybeMessage<::Messages::Representation>(Arena*);
template<> ::Messages::SliceControl* Arena::CreateMaybeMessage<::Messages::SliceControl>(Arena*);
template<> ::Messages::Visual* Arena::CreateMaybeMessage<::Messages::Visual>(Arena*);
PROTOBUF_NAMESPACE_CLOSE
namespace Messages {

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

class GraphicsControl final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:Messages.GraphicsControl) */ {
 public:
  inline GraphicsControl() : GraphicsControl(nullptr) {}
  ~GraphicsControl() override;
  explicit PROTOBUF_CONSTEXPR GraphicsControl(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

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

  inline GraphicsControl& operator=(const GraphicsControl& from) {
    CopyFrom(from);
    return *this;
  }
  inline GraphicsControl& operator=(GraphicsControl&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const GraphicsControl& default_instance() {
    return *internal_default_instance();
  }
  static inline const GraphicsControl* internal_default_instance() {
    return reinterpret_cast<const GraphicsControl*>(
               &_GraphicsControl_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    0;

  friend void swap(GraphicsControl& a, GraphicsControl& b) {
    a.Swap(&b);
  }
  inline void Swap(GraphicsControl* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(GraphicsControl* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  GraphicsControl* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<GraphicsControl>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const GraphicsControl& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom(const GraphicsControl& from);
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
  public:
  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;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(GraphicsControl* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "Messages.GraphicsControl";
  }
  protected:
  explicit GraphicsControl(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

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

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

  enum : int {
    kColorFieldNumber = 4,
    kModeFieldNumber = 1,
    kStyleFieldNumber = 2,
    kAlphaFieldNumber = 5,
    kPointWidthFieldNumber = 6,
    kLineWidthFieldNumber = 7,
    kVisibleFieldNumber = 10,
  };
  // repeated float color = 4;
  int color_size() const;
  private:
  int _internal_color_size() const;
  public:
  void clear_color();
  private:
  float _internal_color(int index) const;
  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< float >&
      _internal_color() const;
  void _internal_add_color(float value);
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< float >*
      _internal_mutable_color();
  public:
  float color(int index) const;
  void set_color(int index, float value);
  void add_color(float value);
  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< float >&
      color() const;
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< float >*
      mutable_color();

  // uint32 mode = 1;
  void clear_mode();
  uint32_t mode() const;
  void set_mode(uint32_t value);
  private:
  uint32_t _internal_mode() const;
  void _internal_set_mode(uint32_t value);
  public:

  // uint32 style = 2;
  void clear_style();
  uint32_t style() const;
  void set_style(uint32_t value);
  private:
  uint32_t _internal_style() const;
  void _internal_set_style(uint32_t value);
  public:

  // float alpha = 5;
  void clear_alpha();
  float alpha() const;
  void set_alpha(float value);
  private:
  float _internal_alpha() const;
  void _internal_set_alpha(float value);
  public:

  // float point_width = 6;
  void clear_point_width();
  float point_width() const;
  void set_point_width(float value);
  private:
  float _internal_point_width() const;
  void _internal_set_point_width(float value);
  public:

  // float line_width = 7;
  void clear_line_width();
  float line_width() const;
  void set_line_width(float value);
  private:
  float _internal_line_width() const;
  void _internal_set_line_width(float value);
  public:

  // bool visible = 10;
  void clear_visible();
  bool visible() const;
  void set_visible(bool value);
  private:
  bool _internal_visible() const;
  void _internal_set_visible(bool value);
  public:

  // @@protoc_insertion_point(class_scope:Messages.GraphicsControl)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< float > color_;
  uint32_t mode_;
  uint32_t style_;
  float alpha_;
  float point_width_;
  float line_width_;
  bool visible_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_meta_2eproto;
};
// -------------------------------------------------------------------

class Representation final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:Messages.Representation) */ {
 public:
  inline Representation() : Representation(nullptr) {}
  ~Representation() override;
  explicit PROTOBUF_CONSTEXPR Representation(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

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

  inline Representation& operator=(const Representation& from) {
    CopyFrom(from);
    return *this;
  }
  inline Representation& operator=(Representation&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const Representation& default_instance() {
    return *internal_default_instance();
  }
  static inline const Representation* internal_default_instance() {
    return reinterpret_cast<const Representation*>(
               &_Representation_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    1;

  friend void swap(Representation& a, Representation& b) {
    a.Swap(&b);
  }
  inline void Swap(Representation* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(Representation* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  Representation* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<Representation>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const Representation& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom(const Representation& from);
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
  public:
  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;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(Representation* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "Messages.Representation";
  }
  protected:
  explicit Representation(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

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

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

  enum : int {
    kRangeFieldNumber = 10,
    kPropertyKeyFieldNumber = 1,
    kColorMapFieldNumber = 2,
    kComponentFieldNumber = 3,
    kAutoRangeFieldNumber = 4,
    kUseDefaultKeyFieldNumber = 5,
    kColorOutOfRangeFieldNumber = 6,
    kUseMagnitudeFieldNumber = 7,
    kDisplacementMultiplierFieldNumber = 9,
  };
  // repeated float range = 10;
  int range_size() const;
  private:
  int _internal_range_size() const;
  public:
  void clear_range();
  private:
  float _internal_range(int index) const;
  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< float >&
      _internal_range() const;
  void _internal_add_range(float value);
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< float >*
      _internal_mutable_range();
  public:
  float range(int index) const;
  void set_range(int index, float value);
  void add_range(float value);
  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< float >&
      range() const;
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< float >*
      mutable_range();

  // string property_key = 1;
  void clear_property_key();
  const std::string& property_key() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_property_key(ArgT0&& arg0, ArgT... args);
  std::string* mutable_property_key();
  PROTOBUF_NODISCARD std::string* release_property_key();
  void set_allocated_property_key(std::string* property_key);
  private:
  const std::string& _internal_property_key() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_property_key(const std::string& value);
  std::string* _internal_mutable_property_key();
  public:

  // uint32 color_map = 2;
  void clear_color_map();
  uint32_t color_map() const;
  void set_color_map(uint32_t value);
  private:
  uint32_t _internal_color_map() const;
  void _internal_set_color_map(uint32_t value);
  public:

  // uint32 component = 3;
  void clear_component();
  uint32_t component() const;
  void set_component(uint32_t value);
  private:
  uint32_t _internal_component() const;
  void _internal_set_component(uint32_t value);
  public:

  // bool auto_range = 4;
  void clear_auto_range();
  bool auto_range() const;
  void set_auto_range(bool value);
  private:
  bool _internal_auto_range() const;
  void _internal_set_auto_range(bool value);
  public:

  // bool use_default_key = 5;
  void clear_use_default_key();
  bool use_default_key() const;
  void set_use_default_key(bool value);
  private:
  bool _internal_use_default_key() const;
  void _internal_set_use_default_key(bool value);
  public:

  // bool color_out_of_range = 6;
  void clear_color_out_of_range();
  bool color_out_of_range() const;
  void set_color_out_of_range(bool value);
  private:
  bool _internal_color_out_of_range() const;
  void _internal_set_color_out_of_range(bool value);
  public:

  // bool use_magnitude = 7;
  void clear_use_magnitude();
  bool use_magnitude() const;
  void set_use_magnitude(bool value);
  private:
  bool _internal_use_magnitude() const;
  void _internal_set_use_magnitude(bool value);
  public:

  // float displacement_multiplier = 9;
  void clear_displacement_multiplier();
  float displacement_multiplier() const;
  void set_displacement_multiplier(float value);
  private:
  float _internal_displacement_multiplier() const;
  void _internal_set_displacement_multiplier(float value);
  public:

  // @@protoc_insertion_point(class_scope:Messages.Representation)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< float > range_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr property_key_;
  uint32_t color_map_;
  uint32_t component_;
  bool auto_range_;
  bool use_default_key_;
  bool color_out_of_range_;
  bool use_magnitude_;
  float displacement_multiplier_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_meta_2eproto;
};
// -------------------------------------------------------------------

class Visual final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:Messages.Visual) */ {
 public:
  inline Visual() : Visual(nullptr) {}
  ~Visual() override;
  explicit PROTOBUF_CONSTEXPR Visual(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

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

  inline Visual& operator=(const Visual& from) {
    CopyFrom(from);
    return *this;
  }
  inline Visual& operator=(Visual&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const Visual& default_instance() {
    return *internal_default_instance();
  }
  static inline const Visual* internal_default_instance() {
    return reinterpret_cast<const Visual*>(
               &_Visual_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    2;

  friend void swap(Visual& a, Visual& b) {
    a.Swap(&b);
  }
  inline void Swap(Visual* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(Visual* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  Visual* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<Visual>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const Visual& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom(const Visual& from);
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
  public:
  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;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(Visual* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "Messages.Visual";
  }
  protected:
  explicit Visual(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

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

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

  enum : int {
    kPointsFieldNumber = 5,
    kLinesFieldNumber = 6,
    kTrianglesFieldNumber = 7,
    kIndicesPerElementFieldNumber = 8,
    kElementsToIndicesFieldNumber = 9,
    kIndicesToElementsFieldNumber = 10,
    kExtrasFieldNumber = 15,
    kRegionFieldNumber = 1,
    kControlFieldNumber = 2,
    kRepresentationFieldNumber = 3,
  };
  // repeated uint32 points = 5;
  int points_size() const;
  private:
  int _internal_points_size() const;
  public:
  void clear_points();
  private:
  uint32_t _internal_points(int index) const;
  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint32_t >&
      _internal_points() const;
  void _internal_add_points(uint32_t value);
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint32_t >*
      _internal_mutable_points();
  public:
  uint32_t points(int index) const;
  void set_points(int index, uint32_t value);
  void add_points(uint32_t value);
  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint32_t >&
      points() const;
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint32_t >*
      mutable_points();

  // repeated uint32 lines = 6;
  int lines_size() const;
  private:
  int _internal_lines_size() const;
  public:
  void clear_lines();
  private:
  uint32_t _internal_lines(int index) const;
  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint32_t >&
      _internal_lines() const;
  void _internal_add_lines(uint32_t value);
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint32_t >*
      _internal_mutable_lines();
  public:
  uint32_t lines(int index) const;
  void set_lines(int index, uint32_t value);
  void add_lines(uint32_t value);
  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint32_t >&
      lines() const;
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint32_t >*
      mutable_lines();

  // repeated uint32 triangles = 7;
  int triangles_size() const;
  private:
  int _internal_triangles_size() const;
  public:
  void clear_triangles();
  private:
  uint32_t _internal_triangles(int index) const;
  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint32_t >&
      _internal_triangles() const;
  void _internal_add_triangles(uint32_t value);
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint32_t >*
      _internal_mutable_triangles();
  public:
  uint32_t triangles(int index) const;
  void set_triangles(int index, uint32_t value);
  void add_triangles(uint32_t value);
  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint32_t >&
      triangles() const;
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint32_t >*
      mutable_triangles();

  // repeated uint32 indices_per_element = 8;
  int indices_per_element_size() const;
  private:
  int _internal_indices_per_element_size() const;
  public:
  void clear_indices_per_element();
  private:
  uint32_t _internal_indices_per_element(int index) const;
  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint32_t >&
      _internal_indices_per_element() const;
  void _internal_add_indices_per_element(uint32_t value);
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint32_t >*
      _internal_mutable_indices_per_element();
  public:
  uint32_t indices_per_element(int index) const;
  void set_indices_per_element(int index, uint32_t value);
  void add_indices_per_element(uint32_t value);
  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint32_t >&
      indices_per_element() const;
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint32_t >*
      mutable_indices_per_element();

  // repeated uint32 elements_to_indices = 9;
  int elements_to_indices_size() const;
  private:
  int _internal_elements_to_indices_size() const;
  public:
  void clear_elements_to_indices();
  private:
  uint32_t _internal_elements_to_indices(int index) const;
  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint32_t >&
      _internal_elements_to_indices() const;
  void _internal_add_elements_to_indices(uint32_t value);
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint32_t >*
      _internal_mutable_elements_to_indices();
  public:
  uint32_t elements_to_indices(int index) const;
  void set_elements_to_indices(int index, uint32_t value);
  void add_elements_to_indices(uint32_t value);
  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint32_t >&
      elements_to_indices() const;
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint32_t >*
      mutable_elements_to_indices();

  // repeated uint32 indices_to_elements = 10;
  int indices_to_elements_size() const;
  private:
  int _internal_indices_to_elements_size() const;
  public:
  void clear_indices_to_elements();
  private:
  uint32_t _internal_indices_to_elements(int index) const;
  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint32_t >&
      _internal_indices_to_elements() const;
  void _internal_add_indices_to_elements(uint32_t value);
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint32_t >*
      _internal_mutable_indices_to_elements();
  public:
  uint32_t indices_to_elements(int index) const;
  void set_indices_to_elements(int index, uint32_t value);
  void add_indices_to_elements(uint32_t value);
  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint32_t >&
      indices_to_elements() const;
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint32_t >*
      mutable_indices_to_elements();

  // repeated .Messages.Vector32 extras = 15;
  int extras_size() const;
  private:
  int _internal_extras_size() const;
  public:
  void clear_extras();
  ::Messages::Vector32* mutable_extras(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Messages::Vector32 >*
      mutable_extras();
  private:
  const ::Messages::Vector32& _internal_extras(int index) const;
  ::Messages::Vector32* _internal_add_extras();
  public:
  const ::Messages::Vector32& extras(int index) const;
  ::Messages::Vector32* add_extras();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Messages::Vector32 >&
      extras() const;

  // .Messages.Zone region = 1;
  bool has_region() const;
  private:
  bool _internal_has_region() const;
  public:
  void clear_region();
  const ::Messages::Zone& region() const;
  PROTOBUF_NODISCARD ::Messages::Zone* release_region();
  ::Messages::Zone* mutable_region();
  void set_allocated_region(::Messages::Zone* region);
  private:
  const ::Messages::Zone& _internal_region() const;
  ::Messages::Zone* _internal_mutable_region();
  public:
  void unsafe_arena_set_allocated_region(
      ::Messages::Zone* region);
  ::Messages::Zone* unsafe_arena_release_region();

  // .Messages.GraphicsControl control = 2;
  bool has_control() const;
  private:
  bool _internal_has_control() const;
  public:
  void clear_control();
  const ::Messages::GraphicsControl& control() const;
  PROTOBUF_NODISCARD ::Messages::GraphicsControl* release_control();
  ::Messages::GraphicsControl* mutable_control();
  void set_allocated_control(::Messages::GraphicsControl* control);
  private:
  const ::Messages::GraphicsControl& _internal_control() const;
  ::Messages::GraphicsControl* _internal_mutable_control();
  public:
  void unsafe_arena_set_allocated_control(
      ::Messages::GraphicsControl* control);
  ::Messages::GraphicsControl* unsafe_arena_release_control();

  // .Messages.Representation representation = 3;
  bool has_representation() const;
  private:
  bool _internal_has_representation() const;
  public:
  void clear_representation();
  const ::Messages::Representation& representation() const;
  PROTOBUF_NODISCARD ::Messages::Representation* release_representation();
  ::Messages::Representation* mutable_representation();
  void set_allocated_representation(::Messages::Representation* representation);
  private:
  const ::Messages::Representation& _internal_representation() const;
  ::Messages::Representation* _internal_mutable_representation();
  public:
  void unsafe_arena_set_allocated_representation(
      ::Messages::Representation* representation);
  ::Messages::Representation* unsafe_arena_release_representation();

  // @@protoc_insertion_point(class_scope:Messages.Visual)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint32_t > points_;
  mutable std::atomic<int> _points_cached_byte_size_;
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint32_t > lines_;
  mutable std::atomic<int> _lines_cached_byte_size_;
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint32_t > triangles_;
  mutable std::atomic<int> _triangles_cached_byte_size_;
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint32_t > indices_per_element_;
  mutable std::atomic<int> _indices_per_element_cached_byte_size_;
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint32_t > elements_to_indices_;
  mutable std::atomic<int> _elements_to_indices_cached_byte_size_;
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint32_t > indices_to_elements_;
  mutable std::atomic<int> _indices_to_elements_cached_byte_size_;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Messages::Vector32 > extras_;
  ::Messages::Zone* region_;
  ::Messages::GraphicsControl* control_;
  ::Messages::Representation* representation_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_meta_2eproto;
};
// -------------------------------------------------------------------

class Meta final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:Messages.Meta) */ {
 public:
  inline Meta() : Meta(nullptr) {}
  ~Meta() override;
  explicit PROTOBUF_CONSTEXPR Meta(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

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

  inline Meta& operator=(const Meta& from) {
    CopyFrom(from);
    return *this;
  }
  inline Meta& operator=(Meta&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const Meta& default_instance() {
    return *internal_default_instance();
  }
  static inline const Meta* internal_default_instance() {
    return reinterpret_cast<const Meta*>(
               &_Meta_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    3;

  friend void swap(Meta& a, Meta& b) {
    a.Swap(&b);
  }
  inline void Swap(Meta* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(Meta* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  Meta* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<Meta>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const Meta& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom(const Meta& from);
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
  public:
  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;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(Meta* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "Messages.Meta";
  }
  protected:
  explicit Meta(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

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

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

  enum : int {
    kChildrenFieldNumber = 25,
    kGroupsFieldNumber = 26,
    kLoopsFieldNumber = 27,
    kSurfacesFieldNumber = 28,
    kVolumesFieldNumber = 29,
    kGlobalTransformFieldNumber = 30,
    kGlobalRateFieldNumber = 31,
    kGlobalAccelFieldNumber = 32,
    kPropertiesFieldNumber = 33,
    kMediaFieldNumber = 34,
    kSymbolTransformFieldNumber = 35,
    kNameFieldNumber = 1,
    kDirectoryFieldNumber = 3,
    kSymbolFieldNumber = 4,
    kOwnerFieldNumber = 5,
    kCommentsFieldNumber = 6,
    kSeriesFieldNumber = 7,
    kSysInfoFieldNumber = 8,
    kGeomInfoFieldNumber = 9,
    kUrlFieldNumber = 23,
    kRevisionFieldNumber = 20,
    kVersionFieldNumber = 21,
    kBoundsFieldNumber = 22,
    kAppearanceFieldNumber = 24,
    kUidFieldNumber = 2,
    kParentFieldNumber = 10,
    kCreatedFieldNumber = 11,
    kSavedFieldNumber = 12,
    kModifiedFieldNumber = 13,
    kIterationFieldNumber = 14,
    kSaveIntervalFieldNumber = 15,
    kEnabledFieldNumber = 16,
    kLockedFieldNumber = 17,
    kAutoSaveFieldNumber = 18,
    kLightweightFieldNumber = 19,
    kLengthUnitsFieldNumber = 40,
  };
  // repeated int64 children = 25;
  int children_size() const;
  private:
  int _internal_children_size() const;
  public:
  void clear_children();
  private:
  int64_t _internal_children(int index) const;
  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >&
      _internal_children() const;
  void _internal_add_children(int64_t value);
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >*
      _internal_mutable_children();
  public:
  int64_t children(int index) const;
  void set_children(int index, int64_t value);
  void add_children(int64_t value);
  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >&
      children() const;
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >*
      mutable_children();

  // repeated int32 groups = 26;
  int groups_size() const;
  private:
  int _internal_groups_size() const;
  public:
  void clear_groups();
  private:
  int32_t _internal_groups(int index) const;
  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
      _internal_groups() const;
  void _internal_add_groups(int32_t value);
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
      _internal_mutable_groups();
  public:
  int32_t groups(int index) const;
  void set_groups(int index, int32_t value);
  void add_groups(int32_t value);
  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
      groups() const;
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
      mutable_groups();

  // repeated int32 loops = 27;
  int loops_size() const;
  private:
  int _internal_loops_size() const;
  public:
  void clear_loops();
  private:
  int32_t _internal_loops(int index) const;
  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
      _internal_loops() const;
  void _internal_add_loops(int32_t value);
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
      _internal_mutable_loops();
  public:
  int32_t loops(int index) const;
  void set_loops(int index, int32_t value);
  void add_loops(int32_t value);
  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
      loops() const;
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
      mutable_loops();

  // repeated int32 surfaces = 28;
  int surfaces_size() const;
  private:
  int _internal_surfaces_size() const;
  public:
  void clear_surfaces();
  private:
  int32_t _internal_surfaces(int index) const;
  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
      _internal_surfaces() const;
  void _internal_add_surfaces(int32_t value);
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
      _internal_mutable_surfaces();
  public:
  int32_t surfaces(int index) const;
  void set_surfaces(int index, int32_t value);
  void add_surfaces(int32_t value);
  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
      surfaces() const;
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
      mutable_surfaces();

  // repeated int32 volumes = 29;
  int volumes_size() const;
  private:
  int _internal_volumes_size() const;
  public:
  void clear_volumes();
  private:
  int32_t _internal_volumes(int index) const;
  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
      _internal_volumes() const;
  void _internal_add_volumes(int32_t value);
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
      _internal_mutable_volumes();
  public:
  int32_t volumes(int index) const;
  void set_volumes(int index, int32_t value);
  void add_volumes(int32_t value);
  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
      volumes() const;
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
      mutable_volumes();

  // repeated double global_transform = 30;
  int global_transform_size() const;
  private:
  int _internal_global_transform_size() const;
  public:
  void clear_global_transform();
  private:
  double _internal_global_transform(int index) const;
  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >&
      _internal_global_transform() const;
  void _internal_add_global_transform(double value);
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >*
      _internal_mutable_global_transform();
  public:
  double global_transform(int index) const;
  void set_global_transform(int index, double value);
  void add_global_transform(double value);
  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >&
      global_transform() const;
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >*
      mutable_global_transform();

  // repeated double global_rate = 31;
  int global_rate_size() const;
  private:
  int _internal_global_rate_size() const;
  public:
  void clear_global_rate();
  private:
  double _internal_global_rate(int index) const;
  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >&
      _internal_global_rate() const;
  void _internal_add_global_rate(double value);
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >*
      _internal_mutable_global_rate();
  public:
  double global_rate(int index) const;
  void set_global_rate(int index, double value);
  void add_global_rate(double value);
  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >&
      global_rate() const;
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >*
      mutable_global_rate();

  // repeated double global_accel = 32;
  int global_accel_size() const;
  private:
  int _internal_global_accel_size() const;
  public:
  void clear_global_accel();
  private:
  double _internal_global_accel(int index) const;
  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >&
      _internal_global_accel() const;
  void _internal_add_global_accel(double value);
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >*
      _internal_mutable_global_accel();
  public:
  double global_accel(int index) const;
  void set_global_accel(int index, double value);
  void add_global_accel(double value);
  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >&
      global_accel() const;
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >*
      mutable_global_accel();

  // repeated string properties = 33;
  int properties_size() const;
  private:
  int _internal_properties_size() const;
  public:
  void clear_properties();
  const std::string& properties(int index) const;
  std::string* mutable_properties(int index);
  void set_properties(int index, const std::string& value);
  void set_properties(int index, std::string&& value);
  void set_properties(int index, const char* value);
  void set_properties(int index, const char* value, size_t size);
  std::string* add_properties();
  void add_properties(const std::string& value);
  void add_properties(std::string&& value);
  void add_properties(const char* value);
  void add_properties(const char* value, size_t size);
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>& properties() const;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>* mutable_properties();
  private:
  const std::string& _internal_properties(int index) const;
  std::string* _internal_add_properties();
  public:

  // repeated .Messages.Visual media = 34;
  int media_size() const;
  private:
  int _internal_media_size() const;
  public:
  void clear_media();
  ::Messages::Visual* mutable_media(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Messages::Visual >*
      mutable_media();
  private:
  const ::Messages::Visual& _internal_media(int index) const;
  ::Messages::Visual* _internal_add_media();
  public:
  const ::Messages::Visual& media(int index) const;
  ::Messages::Visual* add_media();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Messages::Visual >&
      media() const;

  // repeated float symbol_transform = 35;
  int symbol_transform_size() const;
  private:
  int _internal_symbol_transform_size() const;
  public:
  void clear_symbol_transform();
  private:
  float _internal_symbol_transform(int index) const;
  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< float >&
      _internal_symbol_transform() const;
  void _internal_add_symbol_transform(float value);
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< float >*
      _internal_mutable_symbol_transform();
  public:
  float symbol_transform(int index) const;
  void set_symbol_transform(int index, float value);
  void add_symbol_transform(float value);
  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< float >&
      symbol_transform() const;
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< float >*
      mutable_symbol_transform();

  // string name = 1;
  void clear_name();
  const std::string& name() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_name(ArgT0&& arg0, ArgT... args);
  std::string* mutable_name();
  PROTOBUF_NODISCARD std::string* release_name();
  void set_allocated_name(std::string* name);
  private:
  const std::string& _internal_name() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_name(const std::string& value);
  std::string* _internal_mutable_name();
  public:

  // string directory = 3;
  void clear_directory();
  const std::string& directory() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_directory(ArgT0&& arg0, ArgT... args);
  std::string* mutable_directory();
  PROTOBUF_NODISCARD std::string* release_directory();
  void set_allocated_directory(std::string* directory);
  private:
  const std::string& _internal_directory() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_directory(const std::string& value);
  std::string* _internal_mutable_directory();
  public:

  // string symbol = 4;
  void clear_symbol();
  const std::string& symbol() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_symbol(ArgT0&& arg0, ArgT... args);
  std::string* mutable_symbol();
  PROTOBUF_NODISCARD std::string* release_symbol();
  void set_allocated_symbol(std::string* symbol);
  private:
  const std::string& _internal_symbol() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_symbol(const std::string& value);
  std::string* _internal_mutable_symbol();
  public:

  // string owner = 5;
  void clear_owner();
  const std::string& owner() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_owner(ArgT0&& arg0, ArgT... args);
  std::string* mutable_owner();
  PROTOBUF_NODISCARD std::string* release_owner();
  void set_allocated_owner(std::string* owner);
  private:
  const std::string& _internal_owner() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_owner(const std::string& value);
  std::string* _internal_mutable_owner();
  public:

  // string comments = 6;
  void clear_comments();
  const std::string& comments() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_comments(ArgT0&& arg0, ArgT... args);
  std::string* mutable_comments();
  PROTOBUF_NODISCARD std::string* release_comments();
  void set_allocated_comments(std::string* comments);
  private:
  const std::string& _internal_comments() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_comments(const std::string& value);
  std::string* _internal_mutable_comments();
  public:

  // string series = 7;
  void clear_series();
  const std::string& series() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_series(ArgT0&& arg0, ArgT... args);
  std::string* mutable_series();
  PROTOBUF_NODISCARD std::string* release_series();
  void set_allocated_series(std::string* series);
  private:
  const std::string& _internal_series() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_series(const std::string& value);
  std::string* _internal_mutable_series();
  public:

  // string sys_info = 8;
  void clear_sys_info();
  const std::string& sys_info() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_sys_info(ArgT0&& arg0, ArgT... args);
  std::string* mutable_sys_info();
  PROTOBUF_NODISCARD std::string* release_sys_info();
  void set_allocated_sys_info(std::string* sys_info);
  private:
  const std::string& _internal_sys_info() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_sys_info(const std::string& value);
  std::string* _internal_mutable_sys_info();
  public:

  // string geom_info = 9;
  void clear_geom_info();
  const std::string& geom_info() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_geom_info(ArgT0&& arg0, ArgT... args);
  std::string* mutable_geom_info();
  PROTOBUF_NODISCARD std::string* release_geom_info();
  void set_allocated_geom_info(std::string* geom_info);
  private:
  const std::string& _internal_geom_info() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_geom_info(const std::string& value);
  std::string* _internal_mutable_geom_info();
  public:

  // string url = 23;
  void clear_url();
  const std::string& url() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_url(ArgT0&& arg0, ArgT... args);
  std::string* mutable_url();
  PROTOBUF_NODISCARD std::string* release_url();
  void set_allocated_url(std::string* url);
  private:
  const std::string& _internal_url() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_url(const std::string& value);
  std::string* _internal_mutable_url();
  public:

  // .Messages.Revision revision = 20;
  bool has_revision() const;
  private:
  bool _internal_has_revision() const;
  public:
  void clear_revision();
  const ::Messages::Revision& revision() const;
  PROTOBUF_NODISCARD ::Messages::Revision* release_revision();
  ::Messages::Revision* mutable_revision();
  void set_allocated_revision(::Messages::Revision* revision);
  private:
  const ::Messages::Revision& _internal_revision() const;
  ::Messages::Revision* _internal_mutable_revision();
  public:
  void unsafe_arena_set_allocated_revision(
      ::Messages::Revision* revision);
  ::Messages::Revision* unsafe_arena_release_revision();

  // .Messages.Revision version = 21;
  bool has_version() const;
  private:
  bool _internal_has_version() const;
  public:
  void clear_version();
  const ::Messages::Revision& version() const;
  PROTOBUF_NODISCARD ::Messages::Revision* release_version();
  ::Messages::Revision* mutable_version();
  void set_allocated_version(::Messages::Revision* version);
  private:
  const ::Messages::Revision& _internal_version() const;
  ::Messages::Revision* _internal_mutable_version();
  public:
  void unsafe_arena_set_allocated_version(
      ::Messages::Revision* version);
  ::Messages::Revision* unsafe_arena_release_version();

  // .Messages.Extrema bounds = 22;
  bool has_bounds() const;
  private:
  bool _internal_has_bounds() const;
  public:
  void clear_bounds();
  const ::Messages::Extrema& bounds() const;
  PROTOBUF_NODISCARD ::Messages::Extrema* release_bounds();
  ::Messages::Extrema* mutable_bounds();
  void set_allocated_bounds(::Messages::Extrema* bounds);
  private:
  const ::Messages::Extrema& _internal_bounds() const;
  ::Messages::Extrema* _internal_mutable_bounds();
  public:
  void unsafe_arena_set_allocated_bounds(
      ::Messages::Extrema* bounds);
  ::Messages::Extrema* unsafe_arena_release_bounds();

  // .Messages.GraphicsControl appearance = 24;
  bool has_appearance() const;
  private:
  bool _internal_has_appearance() const;
  public:
  void clear_appearance();
  const ::Messages::GraphicsControl& appearance() const;
  PROTOBUF_NODISCARD ::Messages::GraphicsControl* release_appearance();
  ::Messages::GraphicsControl* mutable_appearance();
  void set_allocated_appearance(::Messages::GraphicsControl* appearance);
  private:
  const ::Messages::GraphicsControl& _internal_appearance() const;
  ::Messages::GraphicsControl* _internal_mutable_appearance();
  public:
  void unsafe_arena_set_allocated_appearance(
      ::Messages::GraphicsControl* appearance);
  ::Messages::GraphicsControl* unsafe_arena_release_appearance();

  // int64 uid = 2;
  void clear_uid();
  int64_t uid() const;
  void set_uid(int64_t value);
  private:
  int64_t _internal_uid() const;
  void _internal_set_uid(int64_t value);
  public:

  // int64 parent = 10;
  void clear_parent();
  int64_t parent() const;
  void set_parent(int64_t value);
  private:
  int64_t _internal_parent() const;
  void _internal_set_parent(int64_t value);
  public:

  // int64 created = 11;
  void clear_created();
  int64_t created() const;
  void set_created(int64_t value);
  private:
  int64_t _internal_created() const;
  void _internal_set_created(int64_t value);
  public:

  // int64 saved = 12;
  void clear_saved();
  int64_t saved() const;
  void set_saved(int64_t value);
  private:
  int64_t _internal_saved() const;
  void _internal_set_saved(int64_t value);
  public:

  // int64 modified = 13;
  void clear_modified();
  int64_t modified() const;
  void set_modified(int64_t value);
  private:
  int64_t _internal_modified() const;
  void _internal_set_modified(int64_t value);
  public:

  // uint64 iteration = 14;
  void clear_iteration();
  uint64_t iteration() const;
  void set_iteration(uint64_t value);
  private:
  uint64_t _internal_iteration() const;
  void _internal_set_iteration(uint64_t value);
  public:

  // uint64 save_interval = 15;
  void clear_save_interval();
  uint64_t save_interval() const;
  void set_save_interval(uint64_t value);
  private:
  uint64_t _internal_save_interval() const;
  void _internal_set_save_interval(uint64_t value);
  public:

  // bool enabled = 16;
  void clear_enabled();
  bool enabled() const;
  void set_enabled(bool value);
  private:
  bool _internal_enabled() const;
  void _internal_set_enabled(bool value);
  public:

  // bool locked = 17;
  void clear_locked();
  bool locked() const;
  void set_locked(bool value);
  private:
  bool _internal_locked() const;
  void _internal_set_locked(bool value);
  public:

  // bool auto_save = 18;
  void clear_auto_save();
  bool auto_save() const;
  void set_auto_save(bool value);
  private:
  bool _internal_auto_save() const;
  void _internal_set_auto_save(bool value);
  public:

  // bool lightweight = 19;
  void clear_lightweight();
  bool lightweight() const;
  void set_lightweight(bool value);
  private:
  bool _internal_lightweight() const;
  void _internal_set_lightweight(bool value);
  public:

  // uint32 length_units = 40;
  void clear_length_units();
  uint32_t length_units() const;
  void set_length_units(uint32_t value);
  private:
  uint32_t _internal_length_units() const;
  void _internal_set_length_units(uint32_t value);
  public:

  // @@protoc_insertion_point(class_scope:Messages.Meta)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t > children_;
  mutable std::atomic<int> _children_cached_byte_size_;
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > groups_;
  mutable std::atomic<int> _groups_cached_byte_size_;
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > loops_;
  mutable std::atomic<int> _loops_cached_byte_size_;
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > surfaces_;
  mutable std::atomic<int> _surfaces_cached_byte_size_;
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > volumes_;
  mutable std::atomic<int> _volumes_cached_byte_size_;
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< double > global_transform_;
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< double > global_rate_;
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< double > global_accel_;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string> properties_;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Messages::Visual > media_;
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< float > symbol_transform_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr directory_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr symbol_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr owner_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr comments_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr series_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr sys_info_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr geom_info_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr url_;
  ::Messages::Revision* revision_;
  ::Messages::Revision* version_;
  ::Messages::Extrema* bounds_;
  ::Messages::GraphicsControl* appearance_;
  int64_t uid_;
  int64_t parent_;
  int64_t created_;
  int64_t saved_;
  int64_t modified_;
  uint64_t iteration_;
  uint64_t save_interval_;
  bool enabled_;
  bool locked_;
  bool auto_save_;
  bool lightweight_;
  uint32_t length_units_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_meta_2eproto;
};
// -------------------------------------------------------------------

class SliceControl final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:Messages.SliceControl) */ {
 public:
  inline SliceControl() : SliceControl(nullptr) {}
  ~SliceControl() override;
  explicit PROTOBUF_CONSTEXPR SliceControl(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

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

  inline SliceControl& operator=(const SliceControl& from) {
    CopyFrom(from);
    return *this;
  }
  inline SliceControl& operator=(SliceControl&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const SliceControl& default_instance() {
    return *internal_default_instance();
  }
  static inline const SliceControl* internal_default_instance() {
    return reinterpret_cast<const SliceControl*>(
               &_SliceControl_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    4;

  friend void swap(SliceControl& a, SliceControl& b) {
    a.Swap(&b);
  }
  inline void Swap(SliceControl* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(SliceControl* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  SliceControl* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<SliceControl>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const SliceControl& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom(const SliceControl& from);
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
  public:
  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;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(SliceControl* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "Messages.SliceControl";
  }
  protected:
  explicit SliceControl(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

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

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

  enum : int {
    kCenterFieldNumber = 2,
    kNormalFieldNumber = 3,
    kNameFieldNumber = 1,
    kIntersectFieldNumber = 4,
    kNegativeFieldNumber = 5,
    kPositiveFieldNumber = 6,
  };
  // repeated double center = 2;
  int center_size() const;
  private:
  int _internal_center_size() const;
  public:
  void clear_center();
  private:
  double _internal_center(int index) const;
  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >&
      _internal_center() const;
  void _internal_add_center(double value);
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >*
      _internal_mutable_center();
  public:
  double center(int index) const;
  void set_center(int index, double value);
  void add_center(double value);
  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >&
      center() const;
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >*
      mutable_center();

  // repeated double normal = 3;
  int normal_size() const;
  private:
  int _internal_normal_size() const;
  public:
  void clear_normal();
  private:
  double _internal_normal(int index) const;
  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >&
      _internal_normal() const;
  void _internal_add_normal(double value);
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >*
      _internal_mutable_normal();
  public:
  double normal(int index) const;
  void set_normal(int index, double value);
  void add_normal(double value);
  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >&
      normal() const;
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >*
      mutable_normal();

  // string name = 1;
  void clear_name();
  const std::string& name() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_name(ArgT0&& arg0, ArgT... args);
  std::string* mutable_name();
  PROTOBUF_NODISCARD std::string* release_name();
  void set_allocated_name(std::string* name);
  private:
  const std::string& _internal_name() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_name(const std::string& value);
  std::string* _internal_mutable_name();
  public:

  // bool intersect = 4;
  void clear_intersect();
  bool intersect() const;
  void set_intersect(bool value);
  private:
  bool _internal_intersect() const;
  void _internal_set_intersect(bool value);
  public:

  // bool negative = 5;
  void clear_negative();
  bool negative() const;
  void set_negative(bool value);
  private:
  bool _internal_negative() const;
  void _internal_set_negative(bool value);
  public:

  // bool positive = 6;
  void clear_positive();
  bool positive() const;
  void set_positive(bool value);
  private:
  bool _internal_positive() const;
  void _internal_set_positive(bool value);
  public:

  // @@protoc_insertion_point(class_scope:Messages.SliceControl)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< double > center_;
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< double > normal_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_;
  bool intersect_;
  bool negative_;
  bool positive_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_meta_2eproto;
};
// -------------------------------------------------------------------

class CameraControl final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:Messages.CameraControl) */ {
 public:
  inline CameraControl() : CameraControl(nullptr) {}
  ~CameraControl() override;
  explicit PROTOBUF_CONSTEXPR CameraControl(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

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

  inline CameraControl& operator=(const CameraControl& from) {
    CopyFrom(from);
    return *this;
  }
  inline CameraControl& operator=(CameraControl&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const CameraControl& default_instance() {
    return *internal_default_instance();
  }
  static inline const CameraControl* internal_default_instance() {
    return reinterpret_cast<const CameraControl*>(
               &_CameraControl_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    5;

  friend void swap(CameraControl& a, CameraControl& b) {
    a.Swap(&b);
  }
  inline void Swap(CameraControl* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(CameraControl* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  CameraControl* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<CameraControl>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const CameraControl& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom(const CameraControl& from);
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
  public:
  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;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(CameraControl* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "Messages.CameraControl";
  }
  protected:
  explicit CameraControl(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

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

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

  enum : int {
    kSubjectFieldNumber = 1,
    kOffsetFieldNumber = 2,
    kAngleFieldNumber = 3,
    kResolutionFieldNumber = 13,
    kSceneTimeFieldNumber = 4,
    kMagnificationFieldNumber = 5,
    kTimeConstantFieldNumber = 6,
    kPanSensitivityFieldNumber = 7,
    kRotationSensitivityFieldNumber = 8,
    kZoomSensitivityFieldNumber = 9,
    kZnearFieldNumber = 10,
    kZfarFieldNumber = 11,
    kAovFieldNumber = 12,
    kPerspectiveFieldNumber = 15,
    kSmoothFieldNumber = 16,
    kOrbitFieldNumber = 17,
    kFollowFieldNumber = 18,
  };
  // repeated float subject = 1;
  int subject_size() const;
  private:
  int _internal_subject_size() const;
  public:
  void clear_subject();
  private:
  float _internal_subject(int index) const;
  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< float >&
      _internal_subject() const;
  void _internal_add_subject(float value);
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< float >*
      _internal_mutable_subject();
  public:
  float subject(int index) const;
  void set_subject(int index, float value);
  void add_subject(float value);
  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< float >&
      subject() const;
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< float >*
      mutable_subject();

  // repeated float offset = 2;
  int offset_size() const;
  private:
  int _internal_offset_size() const;
  public:
  void clear_offset();
  private:
  float _internal_offset(int index) const;
  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< float >&
      _internal_offset() const;
  void _internal_add_offset(float value);
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< float >*
      _internal_mutable_offset();
  public:
  float offset(int index) const;
  void set_offset(int index, float value);
  void add_offset(float value);
  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< float >&
      offset() const;
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< float >*
      mutable_offset();

  // repeated float angle = 3;
  int angle_size() const;
  private:
  int _internal_angle_size() const;
  public:
  void clear_angle();
  private:
  float _internal_angle(int index) const;
  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< float >&
      _internal_angle() const;
  void _internal_add_angle(float value);
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< float >*
      _internal_mutable_angle();
  public:
  float angle(int index) const;
  void set_angle(int index, float value);
  void add_angle(float value);
  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< float >&
      angle() const;
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< float >*
      mutable_angle();

  // repeated uint32 resolution = 13;
  int resolution_size() const;
  private:
  int _internal_resolution_size() const;
  public:
  void clear_resolution();
  private:
  uint32_t _internal_resolution(int index) const;
  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint32_t >&
      _internal_resolution() const;
  void _internal_add_resolution(uint32_t value);
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint32_t >*
      _internal_mutable_resolution();
  public:
  uint32_t resolution(int index) const;
  void set_resolution(int index, uint32_t value);
  void add_resolution(uint32_t value);
  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint32_t >&
      resolution() const;
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint32_t >*
      mutable_resolution();

  // float scene_time = 4;
  void clear_scene_time();
  float scene_time() const;
  void set_scene_time(float value);
  private:
  float _internal_scene_time() const;
  void _internal_set_scene_time(float value);
  public:

  // float magnification = 5;
  void clear_magnification();
  float magnification() const;
  void set_magnification(float value);
  private:
  float _internal_magnification() const;
  void _internal_set_magnification(float value);
  public:

  // float time_constant = 6;
  void clear_time_constant();
  float time_constant() const;
  void set_time_constant(float value);
  private:
  float _internal_time_constant() const;
  void _internal_set_time_constant(float value);
  public:

  // float pan_sensitivity = 7;
  void clear_pan_sensitivity();
  float pan_sensitivity() const;
  void set_pan_sensitivity(float value);
  private:
  float _internal_pan_sensitivity() const;
  void _internal_set_pan_sensitivity(float value);
  public:

  // float rotation_sensitivity = 8;
  void clear_rotation_sensitivity();
  float rotation_sensitivity() const;
  void set_rotation_sensitivity(float value);
  private:
  float _internal_rotation_sensitivity() const;
  void _internal_set_rotation_sensitivity(float value);
  public:

  // float zoom_sensitivity = 9;
  void clear_zoom_sensitivity();
  float zoom_sensitivity() const;
  void set_zoom_sensitivity(float value);
  private:
  float _internal_zoom_sensitivity() const;
  void _internal_set_zoom_sensitivity(float value);
  public:

  // float znear = 10;
  void clear_znear();
  float znear() const;
  void set_znear(float value);
  private:
  float _internal_znear() const;
  void _internal_set_znear(float value);
  public:

  // float zfar = 11;
  void clear_zfar();
  float zfar() const;
  void set_zfar(float value);
  private:
  float _internal_zfar() const;
  void _internal_set_zfar(float value);
  public:

  // float aov = 12;
  void clear_aov();
  float aov() const;
  void set_aov(float value);
  private:
  float _internal_aov() const;
  void _internal_set_aov(float value);
  public:

  // bool perspective = 15;
  void clear_perspective();
  bool perspective() const;
  void set_perspective(bool value);
  private:
  bool _internal_perspective() const;
  void _internal_set_perspective(bool value);
  public:

  // bool smooth = 16;
  void clear_smooth();
  bool smooth() const;
  void set_smooth(bool value);
  private:
  bool _internal_smooth() const;
  void _internal_set_smooth(bool value);
  public:

  // bool orbit = 17;
  void clear_orbit();
  bool orbit() const;
  void set_orbit(bool value);
  private:
  bool _internal_orbit() const;
  void _internal_set_orbit(bool value);
  public:

  // bool follow = 18;
  void clear_follow();
  bool follow() const;
  void set_follow(bool value);
  private:
  bool _internal_follow() const;
  void _internal_set_follow(bool value);
  public:

  // @@protoc_insertion_point(class_scope:Messages.CameraControl)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< float > subject_;
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< float > offset_;
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< float > angle_;
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint32_t > resolution_;
  mutable std::atomic<int> _resolution_cached_byte_size_;
  float scene_time_;
  float magnification_;
  float time_constant_;
  float pan_sensitivity_;
  float rotation_sensitivity_;
  float zoom_sensitivity_;
  float znear_;
  float zfar_;
  float aov_;
  bool perspective_;
  bool smooth_;
  bool orbit_;
  bool follow_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_meta_2eproto;
};
// ===================================================================


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

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

// uint32 mode = 1;
inline void GraphicsControl::clear_mode() {
  mode_ = 0u;
}
inline uint32_t GraphicsControl::_internal_mode() const {
  return mode_;
}
inline uint32_t GraphicsControl::mode() const {
  // @@protoc_insertion_point(field_get:Messages.GraphicsControl.mode)
  return _internal_mode();
}
inline void GraphicsControl::_internal_set_mode(uint32_t value) {
  
  mode_ = value;
}
inline void GraphicsControl::set_mode(uint32_t value) {
  _internal_set_mode(value);
  // @@protoc_insertion_point(field_set:Messages.GraphicsControl.mode)
}

// uint32 style = 2;
inline void GraphicsControl::clear_style() {
  style_ = 0u;
}
inline uint32_t GraphicsControl::_internal_style() const {
  return style_;
}
inline uint32_t GraphicsControl::style() const {
  // @@protoc_insertion_point(field_get:Messages.GraphicsControl.style)
  return _internal_style();
}
inline void GraphicsControl::_internal_set_style(uint32_t value) {
  
  style_ = value;
}
inline void GraphicsControl::set_style(uint32_t value) {
  _internal_set_style(value);
  // @@protoc_insertion_point(field_set:Messages.GraphicsControl.style)
}

// repeated float color = 4;
inline int GraphicsControl::_internal_color_size() const {
  return color_.size();
}
inline int GraphicsControl::color_size() const {
  return _internal_color_size();
}
inline void GraphicsControl::clear_color() {
  color_.Clear();
}
inline float GraphicsControl::_internal_color(int index) const {
  return color_.Get(index);
}
inline float GraphicsControl::color(int index) const {
  // @@protoc_insertion_point(field_get:Messages.GraphicsControl.color)
  return _internal_color(index);
}
inline void GraphicsControl::set_color(int index, float value) {
  color_.Set(index, value);
  // @@protoc_insertion_point(field_set:Messages.GraphicsControl.color)
}
inline void GraphicsControl::_internal_add_color(float value) {
  color_.Add(value);
}
inline void GraphicsControl::add_color(float value) {
  _internal_add_color(value);
  // @@protoc_insertion_point(field_add:Messages.GraphicsControl.color)
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< float >&
GraphicsControl::_internal_color() const {
  return color_;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< float >&
GraphicsControl::color() const {
  // @@protoc_insertion_point(field_list:Messages.GraphicsControl.color)
  return _internal_color();
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< float >*
GraphicsControl::_internal_mutable_color() {
  return &color_;
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< float >*
GraphicsControl::mutable_color() {
  // @@protoc_insertion_point(field_mutable_list:Messages.GraphicsControl.color)
  return _internal_mutable_color();
}

// float alpha = 5;
inline void GraphicsControl::clear_alpha() {
  alpha_ = 0;
}
inline float GraphicsControl::_internal_alpha() const {
  return alpha_;
}
inline float GraphicsControl::alpha() const {
  // @@protoc_insertion_point(field_get:Messages.GraphicsControl.alpha)
  return _internal_alpha();
}
inline void GraphicsControl::_internal_set_alpha(float value) {
  
  alpha_ = value;
}
inline void GraphicsControl::set_alpha(float value) {
  _internal_set_alpha(value);
  // @@protoc_insertion_point(field_set:Messages.GraphicsControl.alpha)
}

// float point_width = 6;
inline void GraphicsControl::clear_point_width() {
  point_width_ = 0;
}
inline float GraphicsControl::_internal_point_width() const {
  return point_width_;
}
inline float GraphicsControl::point_width() const {
  // @@protoc_insertion_point(field_get:Messages.GraphicsControl.point_width)
  return _internal_point_width();
}
inline void GraphicsControl::_internal_set_point_width(float value) {
  
  point_width_ = value;
}
inline void GraphicsControl::set_point_width(float value) {
  _internal_set_point_width(value);
  // @@protoc_insertion_point(field_set:Messages.GraphicsControl.point_width)
}

// float line_width = 7;
inline void GraphicsControl::clear_line_width() {
  line_width_ = 0;
}
inline float GraphicsControl::_internal_line_width() const {
  return line_width_;
}
inline float GraphicsControl::line_width() const {
  // @@protoc_insertion_point(field_get:Messages.GraphicsControl.line_width)
  return _internal_line_width();
}
inline void GraphicsControl::_internal_set_line_width(float value) {
  
  line_width_ = value;
}
inline void GraphicsControl::set_line_width(float value) {
  _internal_set_line_width(value);
  // @@protoc_insertion_point(field_set:Messages.GraphicsControl.line_width)
}

// bool visible = 10;
inline void GraphicsControl::clear_visible() {
  visible_ = false;
}
inline bool GraphicsControl::_internal_visible() const {
  return visible_;
}
inline bool GraphicsControl::visible() const {
  // @@protoc_insertion_point(field_get:Messages.GraphicsControl.visible)
  return _internal_visible();
}
inline void GraphicsControl::_internal_set_visible(bool value) {
  
  visible_ = value;
}
inline void GraphicsControl::set_visible(bool value) {
  _internal_set_visible(value);
  // @@protoc_insertion_point(field_set:Messages.GraphicsControl.visible)
}

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

// Representation

// string property_key = 1;
inline void Representation::clear_property_key() {
  property_key_.ClearToEmpty();
}
inline const std::string& Representation::property_key() const {
  // @@protoc_insertion_point(field_get:Messages.Representation.property_key)
  return _internal_property_key();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void Representation::set_property_key(ArgT0&& arg0, ArgT... args) {
 
 property_key_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:Messages.Representation.property_key)
}
inline std::string* Representation::mutable_property_key() {
  std::string* _s = _internal_mutable_property_key();
  // @@protoc_insertion_point(field_mutable:Messages.Representation.property_key)
  return _s;
}
inline const std::string& Representation::_internal_property_key() const {
  return property_key_.Get();
}
inline void Representation::_internal_set_property_key(const std::string& value) {
  
  property_key_.Set(value, GetArenaForAllocation());
}
inline std::string* Representation::_internal_mutable_property_key() {
  
  return property_key_.Mutable(GetArenaForAllocation());
}
inline std::string* Representation::release_property_key() {
  // @@protoc_insertion_point(field_release:Messages.Representation.property_key)
  return property_key_.Release();
}
inline void Representation::set_allocated_property_key(std::string* property_key) {
  if (property_key != nullptr) {
    
  } else {
    
  }
  property_key_.SetAllocated(property_key, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (property_key_.IsDefault()) {
    property_key_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:Messages.Representation.property_key)
}

// uint32 color_map = 2;
inline void Representation::clear_color_map() {
  color_map_ = 0u;
}
inline uint32_t Representation::_internal_color_map() const {
  return color_map_;
}
inline uint32_t Representation::color_map() const {
  // @@protoc_insertion_point(field_get:Messages.Representation.color_map)
  return _internal_color_map();
}
inline void Representation::_internal_set_color_map(uint32_t value) {
  
  color_map_ = value;
}
inline void Representation::set_color_map(uint32_t value) {
  _internal_set_color_map(value);
  // @@protoc_insertion_point(field_set:Messages.Representation.color_map)
}

// uint32 component = 3;
inline void Representation::clear_component() {
  component_ = 0u;
}
inline uint32_t Representation::_internal_component() const {
  return component_;
}
inline uint32_t Representation::component() const {
  // @@protoc_insertion_point(field_get:Messages.Representation.component)
  return _internal_component();
}
inline void Representation::_internal_set_component(uint32_t value) {
  
  component_ = value;
}
inline void Representation::set_component(uint32_t value) {
  _internal_set_component(value);
  // @@protoc_insertion_point(field_set:Messages.Representation.component)
}

// bool auto_range = 4;
inline void Representation::clear_auto_range() {
  auto_range_ = false;
}
inline bool Representation::_internal_auto_range() const {
  return auto_range_;
}
inline bool Representation::auto_range() const {
  // @@protoc_insertion_point(field_get:Messages.Representation.auto_range)
  return _internal_auto_range();
}
inline void Representation::_internal_set_auto_range(bool value) {
  
  auto_range_ = value;
}
inline void Representation::set_auto_range(bool value) {
  _internal_set_auto_range(value);
  // @@protoc_insertion_point(field_set:Messages.Representation.auto_range)
}

// bool use_default_key = 5;
inline void Representation::clear_use_default_key() {
  use_default_key_ = false;
}
inline bool Representation::_internal_use_default_key() const {
  return use_default_key_;
}
inline bool Representation::use_default_key() const {
  // @@protoc_insertion_point(field_get:Messages.Representation.use_default_key)
  return _internal_use_default_key();
}
inline void Representation::_internal_set_use_default_key(bool value) {
  
  use_default_key_ = value;
}
inline void Representation::set_use_default_key(bool value) {
  _internal_set_use_default_key(value);
  // @@protoc_insertion_point(field_set:Messages.Representation.use_default_key)
}

// bool color_out_of_range = 6;
inline void Representation::clear_color_out_of_range() {
  color_out_of_range_ = false;
}
inline bool Representation::_internal_color_out_of_range() const {
  return color_out_of_range_;
}
inline bool Representation::color_out_of_range() const {
  // @@protoc_insertion_point(field_get:Messages.Representation.color_out_of_range)
  return _internal_color_out_of_range();
}
inline void Representation::_internal_set_color_out_of_range(bool value) {
  
  color_out_of_range_ = value;
}
inline void Representation::set_color_out_of_range(bool value) {
  _internal_set_color_out_of_range(value);
  // @@protoc_insertion_point(field_set:Messages.Representation.color_out_of_range)
}

// bool use_magnitude = 7;
inline void Representation::clear_use_magnitude() {
  use_magnitude_ = false;
}
inline bool Representation::_internal_use_magnitude() const {
  return use_magnitude_;
}
inline bool Representation::use_magnitude() const {
  // @@protoc_insertion_point(field_get:Messages.Representation.use_magnitude)
  return _internal_use_magnitude();
}
inline void Representation::_internal_set_use_magnitude(bool value) {
  
  use_magnitude_ = value;
}
inline void Representation::set_use_magnitude(bool value) {
  _internal_set_use_magnitude(value);
  // @@protoc_insertion_point(field_set:Messages.Representation.use_magnitude)
}

// float displacement_multiplier = 9;
inline void Representation::clear_displacement_multiplier() {
  displacement_multiplier_ = 0;
}
inline float Representation::_internal_displacement_multiplier() const {
  return displacement_multiplier_;
}
inline float Representation::displacement_multiplier() const {
  // @@protoc_insertion_point(field_get:Messages.Representation.displacement_multiplier)
  return _internal_displacement_multiplier();
}
inline void Representation::_internal_set_displacement_multiplier(float value) {
  
  displacement_multiplier_ = value;
}
inline void Representation::set_displacement_multiplier(float value) {
  _internal_set_displacement_multiplier(value);
  // @@protoc_insertion_point(field_set:Messages.Representation.displacement_multiplier)
}

// repeated float range = 10;
inline int Representation::_internal_range_size() const {
  return range_.size();
}
inline int Representation::range_size() const {
  return _internal_range_size();
}
inline void Representation::clear_range() {
  range_.Clear();
}
inline float Representation::_internal_range(int index) const {
  return range_.Get(index);
}
inline float Representation::range(int index) const {
  // @@protoc_insertion_point(field_get:Messages.Representation.range)
  return _internal_range(index);
}
inline void Representation::set_range(int index, float value) {
  range_.Set(index, value);
  // @@protoc_insertion_point(field_set:Messages.Representation.range)
}
inline void Representation::_internal_add_range(float value) {
  range_.Add(value);
}
inline void Representation::add_range(float value) {
  _internal_add_range(value);
  // @@protoc_insertion_point(field_add:Messages.Representation.range)
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< float >&
Representation::_internal_range() const {
  return range_;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< float >&
Representation::range() const {
  // @@protoc_insertion_point(field_list:Messages.Representation.range)
  return _internal_range();
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< float >*
Representation::_internal_mutable_range() {
  return &range_;
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< float >*
Representation::mutable_range() {
  // @@protoc_insertion_point(field_mutable_list:Messages.Representation.range)
  return _internal_mutable_range();
}

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

// Visual

// .Messages.Zone region = 1;
inline bool Visual::_internal_has_region() const {
  return this != internal_default_instance() && region_ != nullptr;
}
inline bool Visual::has_region() const {
  return _internal_has_region();
}
inline const ::Messages::Zone& Visual::_internal_region() const {
  const ::Messages::Zone* p = region_;
  return p != nullptr ? *p : reinterpret_cast<const ::Messages::Zone&>(
      ::Messages::_Zone_default_instance_);
}
inline const ::Messages::Zone& Visual::region() const {
  // @@protoc_insertion_point(field_get:Messages.Visual.region)
  return _internal_region();
}
inline void Visual::unsafe_arena_set_allocated_region(
    ::Messages::Zone* region) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(region_);
  }
  region_ = region;
  if (region) {
    
  } else {
    
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:Messages.Visual.region)
}
inline ::Messages::Zone* Visual::release_region() {
  
  ::Messages::Zone* temp = region_;
  region_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::Messages::Zone* Visual::unsafe_arena_release_region() {
  // @@protoc_insertion_point(field_release:Messages.Visual.region)
  
  ::Messages::Zone* temp = region_;
  region_ = nullptr;
  return temp;
}
inline ::Messages::Zone* Visual::_internal_mutable_region() {
  
  if (region_ == nullptr) {
    auto* p = CreateMaybeMessage<::Messages::Zone>(GetArenaForAllocation());
    region_ = p;
  }
  return region_;
}
inline ::Messages::Zone* Visual::mutable_region() {
  ::Messages::Zone* _msg = _internal_mutable_region();
  // @@protoc_insertion_point(field_mutable:Messages.Visual.region)
  return _msg;
}
inline void Visual::set_allocated_region(::Messages::Zone* region) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(region_);
  }
  if (region) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(
                reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(region));
    if (message_arena != submessage_arena) {
      region = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, region, submessage_arena);
    }
    
  } else {
    
  }
  region_ = region;
  // @@protoc_insertion_point(field_set_allocated:Messages.Visual.region)
}

// .Messages.GraphicsControl control = 2;
inline bool Visual::_internal_has_control() const {
  return this != internal_default_instance() && control_ != nullptr;
}
inline bool Visual::has_control() const {
  return _internal_has_control();
}
inline void Visual::clear_control() {
  if (GetArenaForAllocation() == nullptr && control_ != nullptr) {
    delete control_;
  }
  control_ = nullptr;
}
inline const ::Messages::GraphicsControl& Visual::_internal_control() const {
  const ::Messages::GraphicsControl* p = control_;
  return p != nullptr ? *p : reinterpret_cast<const ::Messages::GraphicsControl&>(
      ::Messages::_GraphicsControl_default_instance_);
}
inline const ::Messages::GraphicsControl& Visual::control() const {
  // @@protoc_insertion_point(field_get:Messages.Visual.control)
  return _internal_control();
}
inline void Visual::unsafe_arena_set_allocated_control(
    ::Messages::GraphicsControl* control) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(control_);
  }
  control_ = control;
  if (control) {
    
  } else {
    
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:Messages.Visual.control)
}
inline ::Messages::GraphicsControl* Visual::release_control() {
  
  ::Messages::GraphicsControl* temp = control_;
  control_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::Messages::GraphicsControl* Visual::unsafe_arena_release_control() {
  // @@protoc_insertion_point(field_release:Messages.Visual.control)
  
  ::Messages::GraphicsControl* temp = control_;
  control_ = nullptr;
  return temp;
}
inline ::Messages::GraphicsControl* Visual::_internal_mutable_control() {
  
  if (control_ == nullptr) {
    auto* p = CreateMaybeMessage<::Messages::GraphicsControl>(GetArenaForAllocation());
    control_ = p;
  }
  return control_;
}
inline ::Messages::GraphicsControl* Visual::mutable_control() {
  ::Messages::GraphicsControl* _msg = _internal_mutable_control();
  // @@protoc_insertion_point(field_mutable:Messages.Visual.control)
  return _msg;
}
inline void Visual::set_allocated_control(::Messages::GraphicsControl* control) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete control_;
  }
  if (control) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(control);
    if (message_arena != submessage_arena) {
      control = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, control, submessage_arena);
    }
    
  } else {
    
  }
  control_ = control;
  // @@protoc_insertion_point(field_set_allocated:Messages.Visual.control)
}

// .Messages.Representation representation = 3;
inline bool Visual::_internal_has_representation() const {
  return this != internal_default_instance() && representation_ != nullptr;
}
inline bool Visual::has_representation() const {
  return _internal_has_representation();
}
inline void Visual::clear_representation() {
  if (GetArenaForAllocation() == nullptr && representation_ != nullptr) {
    delete representation_;
  }
  representation_ = nullptr;
}
inline const ::Messages::Representation& Visual::_internal_representation() const {
  const ::Messages::Representation* p = representation_;
  return p != nullptr ? *p : reinterpret_cast<const ::Messages::Representation&>(
      ::Messages::_Representation_default_instance_);
}
inline const ::Messages::Representation& Visual::representation() const {
  // @@protoc_insertion_point(field_get:Messages.Visual.representation)
  return _internal_representation();
}
inline void Visual::unsafe_arena_set_allocated_representation(
    ::Messages::Representation* representation) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(representation_);
  }
  representation_ = representation;
  if (representation) {
    
  } else {
    
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:Messages.Visual.representation)
}
inline ::Messages::Representation* Visual::release_representation() {
  
  ::Messages::Representation* temp = representation_;
  representation_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::Messages::Representation* Visual::unsafe_arena_release_representation() {
  // @@protoc_insertion_point(field_release:Messages.Visual.representation)
  
  ::Messages::Representation* temp = representation_;
  representation_ = nullptr;
  return temp;
}
inline ::Messages::Representation* Visual::_internal_mutable_representation() {
  
  if (representation_ == nullptr) {
    auto* p = CreateMaybeMessage<::Messages::Representation>(GetArenaForAllocation());
    representation_ = p;
  }
  return representation_;
}
inline ::Messages::Representation* Visual::mutable_representation() {
  ::Messages::Representation* _msg = _internal_mutable_representation();
  // @@protoc_insertion_point(field_mutable:Messages.Visual.representation)
  return _msg;
}
inline void Visual::set_allocated_representation(::Messages::Representation* representation) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete representation_;
  }
  if (representation) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(representation);
    if (message_arena != submessage_arena) {
      representation = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, representation, submessage_arena);
    }
    
  } else {
    
  }
  representation_ = representation;
  // @@protoc_insertion_point(field_set_allocated:Messages.Visual.representation)
}

// repeated uint32 points = 5;
inline int Visual::_internal_points_size() const {
  return points_.size();
}
inline int Visual::points_size() const {
  return _internal_points_size();
}
inline void Visual::clear_points() {
  points_.Clear();
}
inline uint32_t Visual::_internal_points(int index) const {
  return points_.Get(index);
}
inline uint32_t Visual::points(int index) const {
  // @@protoc_insertion_point(field_get:Messages.Visual.points)
  return _internal_points(index);
}
inline void Visual::set_points(int index, uint32_t value) {
  points_.Set(index, value);
  // @@protoc_insertion_point(field_set:Messages.Visual.points)
}
inline void Visual::_internal_add_points(uint32_t value) {
  points_.Add(value);
}
inline void Visual::add_points(uint32_t value) {
  _internal_add_points(value);
  // @@protoc_insertion_point(field_add:Messages.Visual.points)
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint32_t >&
Visual::_internal_points() const {
  return points_;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint32_t >&
Visual::points() const {
  // @@protoc_insertion_point(field_list:Messages.Visual.points)
  return _internal_points();
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint32_t >*
Visual::_internal_mutable_points() {
  return &points_;
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint32_t >*
Visual::mutable_points() {
  // @@protoc_insertion_point(field_mutable_list:Messages.Visual.points)
  return _internal_mutable_points();
}

// repeated uint32 lines = 6;
inline int Visual::_internal_lines_size() const {
  return lines_.size();
}
inline int Visual::lines_size() const {
  return _internal_lines_size();
}
inline void Visual::clear_lines() {
  lines_.Clear();
}
inline uint32_t Visual::_internal_lines(int index) const {
  return lines_.Get(index);
}
inline uint32_t Visual::lines(int index) const {
  // @@protoc_insertion_point(field_get:Messages.Visual.lines)
  return _internal_lines(index);
}
inline void Visual::set_lines(int index, uint32_t value) {
  lines_.Set(index, value);
  // @@protoc_insertion_point(field_set:Messages.Visual.lines)
}
inline void Visual::_internal_add_lines(uint32_t value) {
  lines_.Add(value);
}
inline void Visual::add_lines(uint32_t value) {
  _internal_add_lines(value);
  // @@protoc_insertion_point(field_add:Messages.Visual.lines)
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint32_t >&
Visual::_internal_lines() const {
  return lines_;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint32_t >&
Visual::lines() const {
  // @@protoc_insertion_point(field_list:Messages.Visual.lines)
  return _internal_lines();
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint32_t >*
Visual::_internal_mutable_lines() {
  return &lines_;
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint32_t >*
Visual::mutable_lines() {
  // @@protoc_insertion_point(field_mutable_list:Messages.Visual.lines)
  return _internal_mutable_lines();
}

// repeated uint32 triangles = 7;
inline int Visual::_internal_triangles_size() const {
  return triangles_.size();
}
inline int Visual::triangles_size() const {
  return _internal_triangles_size();
}
inline void Visual::clear_triangles() {
  triangles_.Clear();
}
inline uint32_t Visual::_internal_triangles(int index) const {
  return triangles_.Get(index);
}
inline uint32_t Visual::triangles(int index) const {
  // @@protoc_insertion_point(field_get:Messages.Visual.triangles)
  return _internal_triangles(index);
}
inline void Visual::set_triangles(int index, uint32_t value) {
  triangles_.Set(index, value);
  // @@protoc_insertion_point(field_set:Messages.Visual.triangles)
}
inline void Visual::_internal_add_triangles(uint32_t value) {
  triangles_.Add(value);
}
inline void Visual::add_triangles(uint32_t value) {
  _internal_add_triangles(value);
  // @@protoc_insertion_point(field_add:Messages.Visual.triangles)
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint32_t >&
Visual::_internal_triangles() const {
  return triangles_;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint32_t >&
Visual::triangles() const {
  // @@protoc_insertion_point(field_list:Messages.Visual.triangles)
  return _internal_triangles();
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint32_t >*
Visual::_internal_mutable_triangles() {
  return &triangles_;
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint32_t >*
Visual::mutable_triangles() {
  // @@protoc_insertion_point(field_mutable_list:Messages.Visual.triangles)
  return _internal_mutable_triangles();
}

// repeated uint32 indices_per_element = 8;
inline int Visual::_internal_indices_per_element_size() const {
  return indices_per_element_.size();
}
inline int Visual::indices_per_element_size() const {
  return _internal_indices_per_element_size();
}
inline void Visual::clear_indices_per_element() {
  indices_per_element_.Clear();
}
inline uint32_t Visual::_internal_indices_per_element(int index) const {
  return indices_per_element_.Get(index);
}
inline uint32_t Visual::indices_per_element(int index) const {
  // @@protoc_insertion_point(field_get:Messages.Visual.indices_per_element)
  return _internal_indices_per_element(index);
}
inline void Visual::set_indices_per_element(int index, uint32_t value) {
  indices_per_element_.Set(index, value);
  // @@protoc_insertion_point(field_set:Messages.Visual.indices_per_element)
}
inline void Visual::_internal_add_indices_per_element(uint32_t value) {
  indices_per_element_.Add(value);
}
inline void Visual::add_indices_per_element(uint32_t value) {
  _internal_add_indices_per_element(value);
  // @@protoc_insertion_point(field_add:Messages.Visual.indices_per_element)
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint32_t >&
Visual::_internal_indices_per_element() const {
  return indices_per_element_;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint32_t >&
Visual::indices_per_element() const {
  // @@protoc_insertion_point(field_list:Messages.Visual.indices_per_element)
  return _internal_indices_per_element();
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint32_t >*
Visual::_internal_mutable_indices_per_element() {
  return &indices_per_element_;
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint32_t >*
Visual::mutable_indices_per_element() {
  // @@protoc_insertion_point(field_mutable_list:Messages.Visual.indices_per_element)
  return _internal_mutable_indices_per_element();
}

// repeated uint32 elements_to_indices = 9;
inline int Visual::_internal_elements_to_indices_size() const {
  return elements_to_indices_.size();
}
inline int Visual::elements_to_indices_size() const {
  return _internal_elements_to_indices_size();
}
inline void Visual::clear_elements_to_indices() {
  elements_to_indices_.Clear();
}
inline uint32_t Visual::_internal_elements_to_indices(int index) const {
  return elements_to_indices_.Get(index);
}
inline uint32_t Visual::elements_to_indices(int index) const {
  // @@protoc_insertion_point(field_get:Messages.Visual.elements_to_indices)
  return _internal_elements_to_indices(index);
}
inline void Visual::set_elements_to_indices(int index, uint32_t value) {
  elements_to_indices_.Set(index, value);
  // @@protoc_insertion_point(field_set:Messages.Visual.elements_to_indices)
}
inline void Visual::_internal_add_elements_to_indices(uint32_t value) {
  elements_to_indices_.Add(value);
}
inline void Visual::add_elements_to_indices(uint32_t value) {
  _internal_add_elements_to_indices(value);
  // @@protoc_insertion_point(field_add:Messages.Visual.elements_to_indices)
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint32_t >&
Visual::_internal_elements_to_indices() const {
  return elements_to_indices_;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint32_t >&
Visual::elements_to_indices() const {
  // @@protoc_insertion_point(field_list:Messages.Visual.elements_to_indices)
  return _internal_elements_to_indices();
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint32_t >*
Visual::_internal_mutable_elements_to_indices() {
  return &elements_to_indices_;
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint32_t >*
Visual::mutable_elements_to_indices() {
  // @@protoc_insertion_point(field_mutable_list:Messages.Visual.elements_to_indices)
  return _internal_mutable_elements_to_indices();
}

// repeated uint32 indices_to_elements = 10;
inline int Visual::_internal_indices_to_elements_size() const {
  return indices_to_elements_.size();
}
inline int Visual::indices_to_elements_size() const {
  return _internal_indices_to_elements_size();
}
inline void Visual::clear_indices_to_elements() {
  indices_to_elements_.Clear();
}
inline uint32_t Visual::_internal_indices_to_elements(int index) const {
  return indices_to_elements_.Get(index);
}
inline uint32_t Visual::indices_to_elements(int index) const {
  // @@protoc_insertion_point(field_get:Messages.Visual.indices_to_elements)
  return _internal_indices_to_elements(index);
}
inline void Visual::set_indices_to_elements(int index, uint32_t value) {
  indices_to_elements_.Set(index, value);
  // @@protoc_insertion_point(field_set:Messages.Visual.indices_to_elements)
}
inline void Visual::_internal_add_indices_to_elements(uint32_t value) {
  indices_to_elements_.Add(value);
}
inline void Visual::add_indices_to_elements(uint32_t value) {
  _internal_add_indices_to_elements(value);
  // @@protoc_insertion_point(field_add:Messages.Visual.indices_to_elements)
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint32_t >&
Visual::_internal_indices_to_elements() const {
  return indices_to_elements_;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint32_t >&
Visual::indices_to_elements() const {
  // @@protoc_insertion_point(field_list:Messages.Visual.indices_to_elements)
  return _internal_indices_to_elements();
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint32_t >*
Visual::_internal_mutable_indices_to_elements() {
  return &indices_to_elements_;
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint32_t >*
Visual::mutable_indices_to_elements() {
  // @@protoc_insertion_point(field_mutable_list:Messages.Visual.indices_to_elements)
  return _internal_mutable_indices_to_elements();
}

// repeated .Messages.Vector32 extras = 15;
inline int Visual::_internal_extras_size() const {
  return extras_.size();
}
inline int Visual::extras_size() const {
  return _internal_extras_size();
}
inline ::Messages::Vector32* Visual::mutable_extras(int index) {
  // @@protoc_insertion_point(field_mutable:Messages.Visual.extras)
  return extras_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Messages::Vector32 >*
Visual::mutable_extras() {
  // @@protoc_insertion_point(field_mutable_list:Messages.Visual.extras)
  return &extras_;
}
inline const ::Messages::Vector32& Visual::_internal_extras(int index) const {
  return extras_.Get(index);
}
inline const ::Messages::Vector32& Visual::extras(int index) const {
  // @@protoc_insertion_point(field_get:Messages.Visual.extras)
  return _internal_extras(index);
}
inline ::Messages::Vector32* Visual::_internal_add_extras() {
  return extras_.Add();
}
inline ::Messages::Vector32* Visual::add_extras() {
  ::Messages::Vector32* _add = _internal_add_extras();
  // @@protoc_insertion_point(field_add:Messages.Visual.extras)
  return _add;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Messages::Vector32 >&
Visual::extras() const {
  // @@protoc_insertion_point(field_list:Messages.Visual.extras)
  return extras_;
}

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

// Meta

// string name = 1;
inline void Meta::clear_name() {
  name_.ClearToEmpty();
}
inline const std::string& Meta::name() const {
  // @@protoc_insertion_point(field_get:Messages.Meta.name)
  return _internal_name();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void Meta::set_name(ArgT0&& arg0, ArgT... args) {
 
 name_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:Messages.Meta.name)
}
inline std::string* Meta::mutable_name() {
  std::string* _s = _internal_mutable_name();
  // @@protoc_insertion_point(field_mutable:Messages.Meta.name)
  return _s;
}
inline const std::string& Meta::_internal_name() const {
  return name_.Get();
}
inline void Meta::_internal_set_name(const std::string& value) {
  
  name_.Set(value, GetArenaForAllocation());
}
inline std::string* Meta::_internal_mutable_name() {
  
  return name_.Mutable(GetArenaForAllocation());
}
inline std::string* Meta::release_name() {
  // @@protoc_insertion_point(field_release:Messages.Meta.name)
  return name_.Release();
}
inline void Meta::set_allocated_name(std::string* name) {
  if (name != nullptr) {
    
  } else {
    
  }
  name_.SetAllocated(name, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (name_.IsDefault()) {
    name_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:Messages.Meta.name)
}

// int64 uid = 2;
inline void Meta::clear_uid() {
  uid_ = int64_t{0};
}
inline int64_t Meta::_internal_uid() const {
  return uid_;
}
inline int64_t Meta::uid() const {
  // @@protoc_insertion_point(field_get:Messages.Meta.uid)
  return _internal_uid();
}
inline void Meta::_internal_set_uid(int64_t value) {
  
  uid_ = value;
}
inline void Meta::set_uid(int64_t value) {
  _internal_set_uid(value);
  // @@protoc_insertion_point(field_set:Messages.Meta.uid)
}

// string directory = 3;
inline void Meta::clear_directory() {
  directory_.ClearToEmpty();
}
inline const std::string& Meta::directory() const {
  // @@protoc_insertion_point(field_get:Messages.Meta.directory)
  return _internal_directory();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void Meta::set_directory(ArgT0&& arg0, ArgT... args) {
 
 directory_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:Messages.Meta.directory)
}
inline std::string* Meta::mutable_directory() {
  std::string* _s = _internal_mutable_directory();
  // @@protoc_insertion_point(field_mutable:Messages.Meta.directory)
  return _s;
}
inline const std::string& Meta::_internal_directory() const {
  return directory_.Get();
}
inline void Meta::_internal_set_directory(const std::string& value) {
  
  directory_.Set(value, GetArenaForAllocation());
}
inline std::string* Meta::_internal_mutable_directory() {
  
  return directory_.Mutable(GetArenaForAllocation());
}
inline std::string* Meta::release_directory() {
  // @@protoc_insertion_point(field_release:Messages.Meta.directory)
  return directory_.Release();
}
inline void Meta::set_allocated_directory(std::string* directory) {
  if (directory != nullptr) {
    
  } else {
    
  }
  directory_.SetAllocated(directory, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (directory_.IsDefault()) {
    directory_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:Messages.Meta.directory)
}

// string symbol = 4;
inline void Meta::clear_symbol() {
  symbol_.ClearToEmpty();
}
inline const std::string& Meta::symbol() const {
  // @@protoc_insertion_point(field_get:Messages.Meta.symbol)
  return _internal_symbol();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void Meta::set_symbol(ArgT0&& arg0, ArgT... args) {
 
 symbol_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:Messages.Meta.symbol)
}
inline std::string* Meta::mutable_symbol() {
  std::string* _s = _internal_mutable_symbol();
  // @@protoc_insertion_point(field_mutable:Messages.Meta.symbol)
  return _s;
}
inline const std::string& Meta::_internal_symbol() const {
  return symbol_.Get();
}
inline void Meta::_internal_set_symbol(const std::string& value) {
  
  symbol_.Set(value, GetArenaForAllocation());
}
inline std::string* Meta::_internal_mutable_symbol() {
  
  return symbol_.Mutable(GetArenaForAllocation());
}
inline std::string* Meta::release_symbol() {
  // @@protoc_insertion_point(field_release:Messages.Meta.symbol)
  return symbol_.Release();
}
inline void Meta::set_allocated_symbol(std::string* symbol) {
  if (symbol != nullptr) {
    
  } else {
    
  }
  symbol_.SetAllocated(symbol, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (symbol_.IsDefault()) {
    symbol_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:Messages.Meta.symbol)
}

// string owner = 5;
inline void Meta::clear_owner() {
  owner_.ClearToEmpty();
}
inline const std::string& Meta::owner() const {
  // @@protoc_insertion_point(field_get:Messages.Meta.owner)
  return _internal_owner();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void Meta::set_owner(ArgT0&& arg0, ArgT... args) {
 
 owner_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:Messages.Meta.owner)
}
inline std::string* Meta::mutable_owner() {
  std::string* _s = _internal_mutable_owner();
  // @@protoc_insertion_point(field_mutable:Messages.Meta.owner)
  return _s;
}
inline const std::string& Meta::_internal_owner() const {
  return owner_.Get();
}
inline void Meta::_internal_set_owner(const std::string& value) {
  
  owner_.Set(value, GetArenaForAllocation());
}
inline std::string* Meta::_internal_mutable_owner() {
  
  return owner_.Mutable(GetArenaForAllocation());
}
inline std::string* Meta::release_owner() {
  // @@protoc_insertion_point(field_release:Messages.Meta.owner)
  return owner_.Release();
}
inline void Meta::set_allocated_owner(std::string* owner) {
  if (owner != nullptr) {
    
  } else {
    
  }
  owner_.SetAllocated(owner, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (owner_.IsDefault()) {
    owner_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:Messages.Meta.owner)
}

// string comments = 6;
inline void Meta::clear_comments() {
  comments_.ClearToEmpty();
}
inline const std::string& Meta::comments() const {
  // @@protoc_insertion_point(field_get:Messages.Meta.comments)
  return _internal_comments();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void Meta::set_comments(ArgT0&& arg0, ArgT... args) {
 
 comments_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:Messages.Meta.comments)
}
inline std::string* Meta::mutable_comments() {
  std::string* _s = _internal_mutable_comments();
  // @@protoc_insertion_point(field_mutable:Messages.Meta.comments)
  return _s;
}
inline const std::string& Meta::_internal_comments() const {
  return comments_.Get();
}
inline void Meta::_internal_set_comments(const std::string& value) {
  
  comments_.Set(value, GetArenaForAllocation());
}
inline std::string* Meta::_internal_mutable_comments() {
  
  return comments_.Mutable(GetArenaForAllocation());
}
inline std::string* Meta::release_comments() {
  // @@protoc_insertion_point(field_release:Messages.Meta.comments)
  return comments_.Release();
}
inline void Meta::set_allocated_comments(std::string* comments) {
  if (comments != nullptr) {
    
  } else {
    
  }
  comments_.SetAllocated(comments, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (comments_.IsDefault()) {
    comments_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:Messages.Meta.comments)
}

// string series = 7;
inline void Meta::clear_series() {
  series_.ClearToEmpty();
}
inline const std::string& Meta::series() const {
  // @@protoc_insertion_point(field_get:Messages.Meta.series)
  return _internal_series();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void Meta::set_series(ArgT0&& arg0, ArgT... args) {
 
 series_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:Messages.Meta.series)
}
inline std::string* Meta::mutable_series() {
  std::string* _s = _internal_mutable_series();
  // @@protoc_insertion_point(field_mutable:Messages.Meta.series)
  return _s;
}
inline const std::string& Meta::_internal_series() const {
  return series_.Get();
}
inline void Meta::_internal_set_series(const std::string& value) {
  
  series_.Set(value, GetArenaForAllocation());
}
inline std::string* Meta::_internal_mutable_series() {
  
  return series_.Mutable(GetArenaForAllocation());
}
inline std::string* Meta::release_series() {
  // @@protoc_insertion_point(field_release:Messages.Meta.series)
  return series_.Release();
}
inline void Meta::set_allocated_series(std::string* series) {
  if (series != nullptr) {
    
  } else {
    
  }
  series_.SetAllocated(series, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (series_.IsDefault()) {
    series_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:Messages.Meta.series)
}

// string sys_info = 8;
inline void Meta::clear_sys_info() {
  sys_info_.ClearToEmpty();
}
inline const std::string& Meta::sys_info() const {
  // @@protoc_insertion_point(field_get:Messages.Meta.sys_info)
  return _internal_sys_info();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void Meta::set_sys_info(ArgT0&& arg0, ArgT... args) {
 
 sys_info_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:Messages.Meta.sys_info)
}
inline std::string* Meta::mutable_sys_info() {
  std::string* _s = _internal_mutable_sys_info();
  // @@protoc_insertion_point(field_mutable:Messages.Meta.sys_info)
  return _s;
}
inline const std::string& Meta::_internal_sys_info() const {
  return sys_info_.Get();
}
inline void Meta::_internal_set_sys_info(const std::string& value) {
  
  sys_info_.Set(value, GetArenaForAllocation());
}
inline std::string* Meta::_internal_mutable_sys_info() {
  
  return sys_info_.Mutable(GetArenaForAllocation());
}
inline std::string* Meta::release_sys_info() {
  // @@protoc_insertion_point(field_release:Messages.Meta.sys_info)
  return sys_info_.Release();
}
inline void Meta::set_allocated_sys_info(std::string* sys_info) {
  if (sys_info != nullptr) {
    
  } else {
    
  }
  sys_info_.SetAllocated(sys_info, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (sys_info_.IsDefault()) {
    sys_info_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:Messages.Meta.sys_info)
}

// string geom_info = 9;
inline void Meta::clear_geom_info() {
  geom_info_.ClearToEmpty();
}
inline const std::string& Meta::geom_info() const {
  // @@protoc_insertion_point(field_get:Messages.Meta.geom_info)
  return _internal_geom_info();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void Meta::set_geom_info(ArgT0&& arg0, ArgT... args) {
 
 geom_info_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:Messages.Meta.geom_info)
}
inline std::string* Meta::mutable_geom_info() {
  std::string* _s = _internal_mutable_geom_info();
  // @@protoc_insertion_point(field_mutable:Messages.Meta.geom_info)
  return _s;
}
inline const std::string& Meta::_internal_geom_info() const {
  return geom_info_.Get();
}
inline void Meta::_internal_set_geom_info(const std::string& value) {
  
  geom_info_.Set(value, GetArenaForAllocation());
}
inline std::string* Meta::_internal_mutable_geom_info() {
  
  return geom_info_.Mutable(GetArenaForAllocation());
}
inline std::string* Meta::release_geom_info() {
  // @@protoc_insertion_point(field_release:Messages.Meta.geom_info)
  return geom_info_.Release();
}
inline void Meta::set_allocated_geom_info(std::string* geom_info) {
  if (geom_info != nullptr) {
    
  } else {
    
  }
  geom_info_.SetAllocated(geom_info, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (geom_info_.IsDefault()) {
    geom_info_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:Messages.Meta.geom_info)
}

// int64 parent = 10;
inline void Meta::clear_parent() {
  parent_ = int64_t{0};
}
inline int64_t Meta::_internal_parent() const {
  return parent_;
}
inline int64_t Meta::parent() const {
  // @@protoc_insertion_point(field_get:Messages.Meta.parent)
  return _internal_parent();
}
inline void Meta::_internal_set_parent(int64_t value) {
  
  parent_ = value;
}
inline void Meta::set_parent(int64_t value) {
  _internal_set_parent(value);
  // @@protoc_insertion_point(field_set:Messages.Meta.parent)
}

// int64 created = 11;
inline void Meta::clear_created() {
  created_ = int64_t{0};
}
inline int64_t Meta::_internal_created() const {
  return created_;
}
inline int64_t Meta::created() const {
  // @@protoc_insertion_point(field_get:Messages.Meta.created)
  return _internal_created();
}
inline void Meta::_internal_set_created(int64_t value) {
  
  created_ = value;
}
inline void Meta::set_created(int64_t value) {
  _internal_set_created(value);
  // @@protoc_insertion_point(field_set:Messages.Meta.created)
}

// int64 saved = 12;
inline void Meta::clear_saved() {
  saved_ = int64_t{0};
}
inline int64_t Meta::_internal_saved() const {
  return saved_;
}
inline int64_t Meta::saved() const {
  // @@protoc_insertion_point(field_get:Messages.Meta.saved)
  return _internal_saved();
}
inline void Meta::_internal_set_saved(int64_t value) {
  
  saved_ = value;
}
inline void Meta::set_saved(int64_t value) {
  _internal_set_saved(value);
  // @@protoc_insertion_point(field_set:Messages.Meta.saved)
}

// int64 modified = 13;
inline void Meta::clear_modified() {
  modified_ = int64_t{0};
}
inline int64_t Meta::_internal_modified() const {
  return modified_;
}
inline int64_t Meta::modified() const {
  // @@protoc_insertion_point(field_get:Messages.Meta.modified)
  return _internal_modified();
}
inline void Meta::_internal_set_modified(int64_t value) {
  
  modified_ = value;
}
inline void Meta::set_modified(int64_t value) {
  _internal_set_modified(value);
  // @@protoc_insertion_point(field_set:Messages.Meta.modified)
}

// uint64 iteration = 14;
inline void Meta::clear_iteration() {
  iteration_ = uint64_t{0u};
}
inline uint64_t Meta::_internal_iteration() const {
  return iteration_;
}
inline uint64_t Meta::iteration() const {
  // @@protoc_insertion_point(field_get:Messages.Meta.iteration)
  return _internal_iteration();
}
inline void Meta::_internal_set_iteration(uint64_t value) {
  
  iteration_ = value;
}
inline void Meta::set_iteration(uint64_t value) {
  _internal_set_iteration(value);
  // @@protoc_insertion_point(field_set:Messages.Meta.iteration)
}

// uint64 save_interval = 15;
inline void Meta::clear_save_interval() {
  save_interval_ = uint64_t{0u};
}
inline uint64_t Meta::_internal_save_interval() const {
  return save_interval_;
}
inline uint64_t Meta::save_interval() const {
  // @@protoc_insertion_point(field_get:Messages.Meta.save_interval)
  return _internal_save_interval();
}
inline void Meta::_internal_set_save_interval(uint64_t value) {
  
  save_interval_ = value;
}
inline void Meta::set_save_interval(uint64_t value) {
  _internal_set_save_interval(value);
  // @@protoc_insertion_point(field_set:Messages.Meta.save_interval)
}

// bool enabled = 16;
inline void Meta::clear_enabled() {
  enabled_ = false;
}
inline bool Meta::_internal_enabled() const {
  return enabled_;
}
inline bool Meta::enabled() const {
  // @@protoc_insertion_point(field_get:Messages.Meta.enabled)
  return _internal_enabled();
}
inline void Meta::_internal_set_enabled(bool value) {
  
  enabled_ = value;
}
inline void Meta::set_enabled(bool value) {
  _internal_set_enabled(value);
  // @@protoc_insertion_point(field_set:Messages.Meta.enabled)
}

// bool locked = 17;
inline void Meta::clear_locked() {
  locked_ = false;
}
inline bool Meta::_internal_locked() const {
  return locked_;
}
inline bool Meta::locked() const {
  // @@protoc_insertion_point(field_get:Messages.Meta.locked)
  return _internal_locked();
}
inline void Meta::_internal_set_locked(bool value) {
  
  locked_ = value;
}
inline void Meta::set_locked(bool value) {
  _internal_set_locked(value);
  // @@protoc_insertion_point(field_set:Messages.Meta.locked)
}

// bool auto_save = 18;
inline void Meta::clear_auto_save() {
  auto_save_ = false;
}
inline bool Meta::_internal_auto_save() const {
  return auto_save_;
}
inline bool Meta::auto_save() const {
  // @@protoc_insertion_point(field_get:Messages.Meta.auto_save)
  return _internal_auto_save();
}
inline void Meta::_internal_set_auto_save(bool value) {
  
  auto_save_ = value;
}
inline void Meta::set_auto_save(bool value) {
  _internal_set_auto_save(value);
  // @@protoc_insertion_point(field_set:Messages.Meta.auto_save)
}

// bool lightweight = 19;
inline void Meta::clear_lightweight() {
  lightweight_ = false;
}
inline bool Meta::_internal_lightweight() const {
  return lightweight_;
}
inline bool Meta::lightweight() const {
  // @@protoc_insertion_point(field_get:Messages.Meta.lightweight)
  return _internal_lightweight();
}
inline void Meta::_internal_set_lightweight(bool value) {
  
  lightweight_ = value;
}
inline void Meta::set_lightweight(bool value) {
  _internal_set_lightweight(value);
  // @@protoc_insertion_point(field_set:Messages.Meta.lightweight)
}

// .Messages.Revision revision = 20;
inline bool Meta::_internal_has_revision() const {
  return this != internal_default_instance() && revision_ != nullptr;
}
inline bool Meta::has_revision() const {
  return _internal_has_revision();
}
inline const ::Messages::Revision& Meta::_internal_revision() const {
  const ::Messages::Revision* p = revision_;
  return p != nullptr ? *p : reinterpret_cast<const ::Messages::Revision&>(
      ::Messages::_Revision_default_instance_);
}
inline const ::Messages::Revision& Meta::revision() const {
  // @@protoc_insertion_point(field_get:Messages.Meta.revision)
  return _internal_revision();
}
inline void Meta::unsafe_arena_set_allocated_revision(
    ::Messages::Revision* revision) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(revision_);
  }
  revision_ = revision;
  if (revision) {
    
  } else {
    
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:Messages.Meta.revision)
}
inline ::Messages::Revision* Meta::release_revision() {
  
  ::Messages::Revision* temp = revision_;
  revision_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::Messages::Revision* Meta::unsafe_arena_release_revision() {
  // @@protoc_insertion_point(field_release:Messages.Meta.revision)
  
  ::Messages::Revision* temp = revision_;
  revision_ = nullptr;
  return temp;
}
inline ::Messages::Revision* Meta::_internal_mutable_revision() {
  
  if (revision_ == nullptr) {
    auto* p = CreateMaybeMessage<::Messages::Revision>(GetArenaForAllocation());
    revision_ = p;
  }
  return revision_;
}
inline ::Messages::Revision* Meta::mutable_revision() {
  ::Messages::Revision* _msg = _internal_mutable_revision();
  // @@protoc_insertion_point(field_mutable:Messages.Meta.revision)
  return _msg;
}
inline void Meta::set_allocated_revision(::Messages::Revision* revision) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(revision_);
  }
  if (revision) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(
                reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(revision));
    if (message_arena != submessage_arena) {
      revision = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, revision, submessage_arena);
    }
    
  } else {
    
  }
  revision_ = revision;
  // @@protoc_insertion_point(field_set_allocated:Messages.Meta.revision)
}

// .Messages.Revision version = 21;
inline bool Meta::_internal_has_version() const {
  return this != internal_default_instance() && version_ != nullptr;
}
inline bool Meta::has_version() const {
  return _internal_has_version();
}
inline const ::Messages::Revision& Meta::_internal_version() const {
  const ::Messages::Revision* p = version_;
  return p != nullptr ? *p : reinterpret_cast<const ::Messages::Revision&>(
      ::Messages::_Revision_default_instance_);
}
inline const ::Messages::Revision& Meta::version() const {
  // @@protoc_insertion_point(field_get:Messages.Meta.version)
  return _internal_version();
}
inline void Meta::unsafe_arena_set_allocated_version(
    ::Messages::Revision* version) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(version_);
  }
  version_ = version;
  if (version) {
    
  } else {
    
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:Messages.Meta.version)
}
inline ::Messages::Revision* Meta::release_version() {
  
  ::Messages::Revision* temp = version_;
  version_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::Messages::Revision* Meta::unsafe_arena_release_version() {
  // @@protoc_insertion_point(field_release:Messages.Meta.version)
  
  ::Messages::Revision* temp = version_;
  version_ = nullptr;
  return temp;
}
inline ::Messages::Revision* Meta::_internal_mutable_version() {
  
  if (version_ == nullptr) {
    auto* p = CreateMaybeMessage<::Messages::Revision>(GetArenaForAllocation());
    version_ = p;
  }
  return version_;
}
inline ::Messages::Revision* Meta::mutable_version() {
  ::Messages::Revision* _msg = _internal_mutable_version();
  // @@protoc_insertion_point(field_mutable:Messages.Meta.version)
  return _msg;
}
inline void Meta::set_allocated_version(::Messages::Revision* version) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(version_);
  }
  if (version) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(
                reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(version));
    if (message_arena != submessage_arena) {
      version = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, version, submessage_arena);
    }
    
  } else {
    
  }
  version_ = version;
  // @@protoc_insertion_point(field_set_allocated:Messages.Meta.version)
}

// .Messages.Extrema bounds = 22;
inline bool Meta::_internal_has_bounds() const {
  return this != internal_default_instance() && bounds_ != nullptr;
}
inline bool Meta::has_bounds() const {
  return _internal_has_bounds();
}
inline const ::Messages::Extrema& Meta::_internal_bounds() const {
  const ::Messages::Extrema* p = bounds_;
  return p != nullptr ? *p : reinterpret_cast<const ::Messages::Extrema&>(
      ::Messages::_Extrema_default_instance_);
}
inline const ::Messages::Extrema& Meta::bounds() const {
  // @@protoc_insertion_point(field_get:Messages.Meta.bounds)
  return _internal_bounds();
}
inline void Meta::unsafe_arena_set_allocated_bounds(
    ::Messages::Extrema* bounds) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(bounds_);
  }
  bounds_ = bounds;
  if (bounds) {
    
  } else {
    
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:Messages.Meta.bounds)
}
inline ::Messages::Extrema* Meta::release_bounds() {
  
  ::Messages::Extrema* temp = bounds_;
  bounds_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::Messages::Extrema* Meta::unsafe_arena_release_bounds() {
  // @@protoc_insertion_point(field_release:Messages.Meta.bounds)
  
  ::Messages::Extrema* temp = bounds_;
  bounds_ = nullptr;
  return temp;
}
inline ::Messages::Extrema* Meta::_internal_mutable_bounds() {
  
  if (bounds_ == nullptr) {
    auto* p = CreateMaybeMessage<::Messages::Extrema>(GetArenaForAllocation());
    bounds_ = p;
  }
  return bounds_;
}
inline ::Messages::Extrema* Meta::mutable_bounds() {
  ::Messages::Extrema* _msg = _internal_mutable_bounds();
  // @@protoc_insertion_point(field_mutable:Messages.Meta.bounds)
  return _msg;
}
inline void Meta::set_allocated_bounds(::Messages::Extrema* bounds) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(bounds_);
  }
  if (bounds) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(
                reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(bounds));
    if (message_arena != submessage_arena) {
      bounds = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, bounds, submessage_arena);
    }
    
  } else {
    
  }
  bounds_ = bounds;
  // @@protoc_insertion_point(field_set_allocated:Messages.Meta.bounds)
}

// string url = 23;
inline void Meta::clear_url() {
  url_.ClearToEmpty();
}
inline const std::string& Meta::url() const {
  // @@protoc_insertion_point(field_get:Messages.Meta.url)
  return _internal_url();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void Meta::set_url(ArgT0&& arg0, ArgT... args) {
 
 url_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:Messages.Meta.url)
}
inline std::string* Meta::mutable_url() {
  std::string* _s = _internal_mutable_url();
  // @@protoc_insertion_point(field_mutable:Messages.Meta.url)
  return _s;
}
inline const std::string& Meta::_internal_url() const {
  return url_.Get();
}
inline void Meta::_internal_set_url(const std::string& value) {
  
  url_.Set(value, GetArenaForAllocation());
}
inline std::string* Meta::_internal_mutable_url() {
  
  return url_.Mutable(GetArenaForAllocation());
}
inline std::string* Meta::release_url() {
  // @@protoc_insertion_point(field_release:Messages.Meta.url)
  return url_.Release();
}
inline void Meta::set_allocated_url(std::string* url) {
  if (url != nullptr) {
    
  } else {
    
  }
  url_.SetAllocated(url, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (url_.IsDefault()) {
    url_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:Messages.Meta.url)
}

// .Messages.GraphicsControl appearance = 24;
inline bool Meta::_internal_has_appearance() const {
  return this != internal_default_instance() && appearance_ != nullptr;
}
inline bool Meta::has_appearance() const {
  return _internal_has_appearance();
}
inline void Meta::clear_appearance() {
  if (GetArenaForAllocation() == nullptr && appearance_ != nullptr) {
    delete appearance_;
  }
  appearance_ = nullptr;
}
inline const ::Messages::GraphicsControl& Meta::_internal_appearance() const {
  const ::Messages::GraphicsControl* p = appearance_;
  return p != nullptr ? *p : reinterpret_cast<const ::Messages::GraphicsControl&>(
      ::Messages::_GraphicsControl_default_instance_);
}
inline const ::Messages::GraphicsControl& Meta::appearance() const {
  // @@protoc_insertion_point(field_get:Messages.Meta.appearance)
  return _internal_appearance();
}
inline void Meta::unsafe_arena_set_allocated_appearance(
    ::Messages::GraphicsControl* appearance) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(appearance_);
  }
  appearance_ = appearance;
  if (appearance) {
    
  } else {
    
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:Messages.Meta.appearance)
}
inline ::Messages::GraphicsControl* Meta::release_appearance() {
  
  ::Messages::GraphicsControl* temp = appearance_;
  appearance_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::Messages::GraphicsControl* Meta::unsafe_arena_release_appearance() {
  // @@protoc_insertion_point(field_release:Messages.Meta.appearance)
  
  ::Messages::GraphicsControl* temp = appearance_;
  appearance_ = nullptr;
  return temp;
}
inline ::Messages::GraphicsControl* Meta::_internal_mutable_appearance() {
  
  if (appearance_ == nullptr) {
    auto* p = CreateMaybeMessage<::Messages::GraphicsControl>(GetArenaForAllocation());
    appearance_ = p;
  }
  return appearance_;
}
inline ::Messages::GraphicsControl* Meta::mutable_appearance() {
  ::Messages::GraphicsControl* _msg = _internal_mutable_appearance();
  // @@protoc_insertion_point(field_mutable:Messages.Meta.appearance)
  return _msg;
}
inline void Meta::set_allocated_appearance(::Messages::GraphicsControl* appearance) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete appearance_;
  }
  if (appearance) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(appearance);
    if (message_arena != submessage_arena) {
      appearance = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, appearance, submessage_arena);
    }
    
  } else {
    
  }
  appearance_ = appearance;
  // @@protoc_insertion_point(field_set_allocated:Messages.Meta.appearance)
}

// repeated int64 children = 25;
inline int Meta::_internal_children_size() const {
  return children_.size();
}
inline int Meta::children_size() const {
  return _internal_children_size();
}
inline void Meta::clear_children() {
  children_.Clear();
}
inline int64_t Meta::_internal_children(int index) const {
  return children_.Get(index);
}
inline int64_t Meta::children(int index) const {
  // @@protoc_insertion_point(field_get:Messages.Meta.children)
  return _internal_children(index);
}
inline void Meta::set_children(int index, int64_t value) {
  children_.Set(index, value);
  // @@protoc_insertion_point(field_set:Messages.Meta.children)
}
inline void Meta::_internal_add_children(int64_t value) {
  children_.Add(value);
}
inline void Meta::add_children(int64_t value) {
  _internal_add_children(value);
  // @@protoc_insertion_point(field_add:Messages.Meta.children)
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >&
Meta::_internal_children() const {
  return children_;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >&
Meta::children() const {
  // @@protoc_insertion_point(field_list:Messages.Meta.children)
  return _internal_children();
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >*
Meta::_internal_mutable_children() {
  return &children_;
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >*
Meta::mutable_children() {
  // @@protoc_insertion_point(field_mutable_list:Messages.Meta.children)
  return _internal_mutable_children();
}

// repeated int32 groups = 26;
inline int Meta::_internal_groups_size() const {
  return groups_.size();
}
inline int Meta::groups_size() const {
  return _internal_groups_size();
}
inline void Meta::clear_groups() {
  groups_.Clear();
}
inline int32_t Meta::_internal_groups(int index) const {
  return groups_.Get(index);
}
inline int32_t Meta::groups(int index) const {
  // @@protoc_insertion_point(field_get:Messages.Meta.groups)
  return _internal_groups(index);
}
inline void Meta::set_groups(int index, int32_t value) {
  groups_.Set(index, value);
  // @@protoc_insertion_point(field_set:Messages.Meta.groups)
}
inline void Meta::_internal_add_groups(int32_t value) {
  groups_.Add(value);
}
inline void Meta::add_groups(int32_t value) {
  _internal_add_groups(value);
  // @@protoc_insertion_point(field_add:Messages.Meta.groups)
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
Meta::_internal_groups() const {
  return groups_;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
Meta::groups() const {
  // @@protoc_insertion_point(field_list:Messages.Meta.groups)
  return _internal_groups();
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
Meta::_internal_mutable_groups() {
  return &groups_;
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
Meta::mutable_groups() {
  // @@protoc_insertion_point(field_mutable_list:Messages.Meta.groups)
  return _internal_mutable_groups();
}

// repeated int32 loops = 27;
inline int Meta::_internal_loops_size() const {
  return loops_.size();
}
inline int Meta::loops_size() const {
  return _internal_loops_size();
}
inline void Meta::clear_loops() {
  loops_.Clear();
}
inline int32_t Meta::_internal_loops(int index) const {
  return loops_.Get(index);
}
inline int32_t Meta::loops(int index) const {
  // @@protoc_insertion_point(field_get:Messages.Meta.loops)
  return _internal_loops(index);
}
inline void Meta::set_loops(int index, int32_t value) {
  loops_.Set(index, value);
  // @@protoc_insertion_point(field_set:Messages.Meta.loops)
}
inline void Meta::_internal_add_loops(int32_t value) {
  loops_.Add(value);
}
inline void Meta::add_loops(int32_t value) {
  _internal_add_loops(value);
  // @@protoc_insertion_point(field_add:Messages.Meta.loops)
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
Meta::_internal_loops() const {
  return loops_;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
Meta::loops() const {
  // @@protoc_insertion_point(field_list:Messages.Meta.loops)
  return _internal_loops();
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
Meta::_internal_mutable_loops() {
  return &loops_;
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
Meta::mutable_loops() {
  // @@protoc_insertion_point(field_mutable_list:Messages.Meta.loops)
  return _internal_mutable_loops();
}

// repeated int32 surfaces = 28;
inline int Meta::_internal_surfaces_size() const {
  return surfaces_.size();
}
inline int Meta::surfaces_size() const {
  return _internal_surfaces_size();
}
inline void Meta::clear_surfaces() {
  surfaces_.Clear();
}
inline int32_t Meta::_internal_surfaces(int index) const {
  return surfaces_.Get(index);
}
inline int32_t Meta::surfaces(int index) const {
  // @@protoc_insertion_point(field_get:Messages.Meta.surfaces)
  return _internal_surfaces(index);
}
inline void Meta::set_surfaces(int index, int32_t value) {
  surfaces_.Set(index, value);
  // @@protoc_insertion_point(field_set:Messages.Meta.surfaces)
}
inline void Meta::_internal_add_surfaces(int32_t value) {
  surfaces_.Add(value);
}
inline void Meta::add_surfaces(int32_t value) {
  _internal_add_surfaces(value);
  // @@protoc_insertion_point(field_add:Messages.Meta.surfaces)
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
Meta::_internal_surfaces() const {
  return surfaces_;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
Meta::surfaces() const {
  // @@protoc_insertion_point(field_list:Messages.Meta.surfaces)
  return _internal_surfaces();
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
Meta::_internal_mutable_surfaces() {
  return &surfaces_;
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
Meta::mutable_surfaces() {
  // @@protoc_insertion_point(field_mutable_list:Messages.Meta.surfaces)
  return _internal_mutable_surfaces();
}

// repeated int32 volumes = 29;
inline int Meta::_internal_volumes_size() const {
  return volumes_.size();
}
inline int Meta::volumes_size() const {
  return _internal_volumes_size();
}
inline void Meta::clear_volumes() {
  volumes_.Clear();
}
inline int32_t Meta::_internal_volumes(int index) const {
  return volumes_.Get(index);
}
inline int32_t Meta::volumes(int index) const {
  // @@protoc_insertion_point(field_get:Messages.Meta.volumes)
  return _internal_volumes(index);
}
inline void Meta::set_volumes(int index, int32_t value) {
  volumes_.Set(index, value);
  // @@protoc_insertion_point(field_set:Messages.Meta.volumes)
}
inline void Meta::_internal_add_volumes(int32_t value) {
  volumes_.Add(value);
}
inline void Meta::add_volumes(int32_t value) {
  _internal_add_volumes(value);
  // @@protoc_insertion_point(field_add:Messages.Meta.volumes)
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
Meta::_internal_volumes() const {
  return volumes_;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
Meta::volumes() const {
  // @@protoc_insertion_point(field_list:Messages.Meta.volumes)
  return _internal_volumes();
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
Meta::_internal_mutable_volumes() {
  return &volumes_;
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
Meta::mutable_volumes() {
  // @@protoc_insertion_point(field_mutable_list:Messages.Meta.volumes)
  return _internal_mutable_volumes();
}

// repeated double global_transform = 30;
inline int Meta::_internal_global_transform_size() const {
  return global_transform_.size();
}
inline int Meta::global_transform_size() const {
  return _internal_global_transform_size();
}
inline void Meta::clear_global_transform() {
  global_transform_.Clear();
}
inline double Meta::_internal_global_transform(int index) const {
  return global_transform_.Get(index);
}
inline double Meta::global_transform(int index) const {
  // @@protoc_insertion_point(field_get:Messages.Meta.global_transform)
  return _internal_global_transform(index);
}
inline void Meta::set_global_transform(int index, double value) {
  global_transform_.Set(index, value);
  // @@protoc_insertion_point(field_set:Messages.Meta.global_transform)
}
inline void Meta::_internal_add_global_transform(double value) {
  global_transform_.Add(value);
}
inline void Meta::add_global_transform(double value) {
  _internal_add_global_transform(value);
  // @@protoc_insertion_point(field_add:Messages.Meta.global_transform)
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >&
Meta::_internal_global_transform() const {
  return global_transform_;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >&
Meta::global_transform() const {
  // @@protoc_insertion_point(field_list:Messages.Meta.global_transform)
  return _internal_global_transform();
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >*
Meta::_internal_mutable_global_transform() {
  return &global_transform_;
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >*
Meta::mutable_global_transform() {
  // @@protoc_insertion_point(field_mutable_list:Messages.Meta.global_transform)
  return _internal_mutable_global_transform();
}

// repeated double global_rate = 31;
inline int Meta::_internal_global_rate_size() const {
  return global_rate_.size();
}
inline int Meta::global_rate_size() const {
  return _internal_global_rate_size();
}
inline void Meta::clear_global_rate() {
  global_rate_.Clear();
}
inline double Meta::_internal_global_rate(int index) const {
  return global_rate_.Get(index);
}
inline double Meta::global_rate(int index) const {
  // @@protoc_insertion_point(field_get:Messages.Meta.global_rate)
  return _internal_global_rate(index);
}
inline void Meta::set_global_rate(int index, double value) {
  global_rate_.Set(index, value);
  // @@protoc_insertion_point(field_set:Messages.Meta.global_rate)
}
inline void Meta::_internal_add_global_rate(double value) {
  global_rate_.Add(value);
}
inline void Meta::add_global_rate(double value) {
  _internal_add_global_rate(value);
  // @@protoc_insertion_point(field_add:Messages.Meta.global_rate)
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >&
Meta::_internal_global_rate() const {
  return global_rate_;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >&
Meta::global_rate() const {
  // @@protoc_insertion_point(field_list:Messages.Meta.global_rate)
  return _internal_global_rate();
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >*
Meta::_internal_mutable_global_rate() {
  return &global_rate_;
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >*
Meta::mutable_global_rate() {
  // @@protoc_insertion_point(field_mutable_list:Messages.Meta.global_rate)
  return _internal_mutable_global_rate();
}

// repeated double global_accel = 32;
inline int Meta::_internal_global_accel_size() const {
  return global_accel_.size();
}
inline int Meta::global_accel_size() const {
  return _internal_global_accel_size();
}
inline void Meta::clear_global_accel() {
  global_accel_.Clear();
}
inline double Meta::_internal_global_accel(int index) const {
  return global_accel_.Get(index);
}
inline double Meta::global_accel(int index) const {
  // @@protoc_insertion_point(field_get:Messages.Meta.global_accel)
  return _internal_global_accel(index);
}
inline void Meta::set_global_accel(int index, double value) {
  global_accel_.Set(index, value);
  // @@protoc_insertion_point(field_set:Messages.Meta.global_accel)
}
inline void Meta::_internal_add_global_accel(double value) {
  global_accel_.Add(value);
}
inline void Meta::add_global_accel(double value) {
  _internal_add_global_accel(value);
  // @@protoc_insertion_point(field_add:Messages.Meta.global_accel)
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >&
Meta::_internal_global_accel() const {
  return global_accel_;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >&
Meta::global_accel() const {
  // @@protoc_insertion_point(field_list:Messages.Meta.global_accel)
  return _internal_global_accel();
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >*
Meta::_internal_mutable_global_accel() {
  return &global_accel_;
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >*
Meta::mutable_global_accel() {
  // @@protoc_insertion_point(field_mutable_list:Messages.Meta.global_accel)
  return _internal_mutable_global_accel();
}

// repeated string properties = 33;
inline int Meta::_internal_properties_size() const {
  return properties_.size();
}
inline int Meta::properties_size() const {
  return _internal_properties_size();
}
inline void Meta::clear_properties() {
  properties_.Clear();
}
inline std::string* Meta::add_properties() {
  std::string* _s = _internal_add_properties();
  // @@protoc_insertion_point(field_add_mutable:Messages.Meta.properties)
  return _s;
}
inline const std::string& Meta::_internal_properties(int index) const {
  return properties_.Get(index);
}
inline const std::string& Meta::properties(int index) const {
  // @@protoc_insertion_point(field_get:Messages.Meta.properties)
  return _internal_properties(index);
}
inline std::string* Meta::mutable_properties(int index) {
  // @@protoc_insertion_point(field_mutable:Messages.Meta.properties)
  return properties_.Mutable(index);
}
inline void Meta::set_properties(int index, const std::string& value) {
  properties_.Mutable(index)->assign(value);
  // @@protoc_insertion_point(field_set:Messages.Meta.properties)
}
inline void Meta::set_properties(int index, std::string&& value) {
  properties_.Mutable(index)->assign(std::move(value));
  // @@protoc_insertion_point(field_set:Messages.Meta.properties)
}
inline void Meta::set_properties(int index, const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  properties_.Mutable(index)->assign(value);
  // @@protoc_insertion_point(field_set_char:Messages.Meta.properties)
}
inline void Meta::set_properties(int index, const char* value, size_t size) {
  properties_.Mutable(index)->assign(
    reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_set_pointer:Messages.Meta.properties)
}
inline std::string* Meta::_internal_add_properties() {
  return properties_.Add();
}
inline void Meta::add_properties(const std::string& value) {
  properties_.Add()->assign(value);
  // @@protoc_insertion_point(field_add:Messages.Meta.properties)
}
inline void Meta::add_properties(std::string&& value) {
  properties_.Add(std::move(value));
  // @@protoc_insertion_point(field_add:Messages.Meta.properties)
}
inline void Meta::add_properties(const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  properties_.Add()->assign(value);
  // @@protoc_insertion_point(field_add_char:Messages.Meta.properties)
}
inline void Meta::add_properties(const char* value, size_t size) {
  properties_.Add()->assign(reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_add_pointer:Messages.Meta.properties)
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>&
Meta::properties() const {
  // @@protoc_insertion_point(field_list:Messages.Meta.properties)
  return properties_;
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>*
Meta::mutable_properties() {
  // @@protoc_insertion_point(field_mutable_list:Messages.Meta.properties)
  return &properties_;
}

// repeated .Messages.Visual media = 34;
inline int Meta::_internal_media_size() const {
  return media_.size();
}
inline int Meta::media_size() const {
  return _internal_media_size();
}
inline void Meta::clear_media() {
  media_.Clear();
}
inline ::Messages::Visual* Meta::mutable_media(int index) {
  // @@protoc_insertion_point(field_mutable:Messages.Meta.media)
  return media_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Messages::Visual >*
Meta::mutable_media() {
  // @@protoc_insertion_point(field_mutable_list:Messages.Meta.media)
  return &media_;
}
inline const ::Messages::Visual& Meta::_internal_media(int index) const {
  return media_.Get(index);
}
inline const ::Messages::Visual& Meta::media(int index) const {
  // @@protoc_insertion_point(field_get:Messages.Meta.media)
  return _internal_media(index);
}
inline ::Messages::Visual* Meta::_internal_add_media() {
  return media_.Add();
}
inline ::Messages::Visual* Meta::add_media() {
  ::Messages::Visual* _add = _internal_add_media();
  // @@protoc_insertion_point(field_add:Messages.Meta.media)
  return _add;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Messages::Visual >&
Meta::media() const {
  // @@protoc_insertion_point(field_list:Messages.Meta.media)
  return media_;
}

// repeated float symbol_transform = 35;
inline int Meta::_internal_symbol_transform_size() const {
  return symbol_transform_.size();
}
inline int Meta::symbol_transform_size() const {
  return _internal_symbol_transform_size();
}
inline void Meta::clear_symbol_transform() {
  symbol_transform_.Clear();
}
inline float Meta::_internal_symbol_transform(int index) const {
  return symbol_transform_.Get(index);
}
inline float Meta::symbol_transform(int index) const {
  // @@protoc_insertion_point(field_get:Messages.Meta.symbol_transform)
  return _internal_symbol_transform(index);
}
inline void Meta::set_symbol_transform(int index, float value) {
  symbol_transform_.Set(index, value);
  // @@protoc_insertion_point(field_set:Messages.Meta.symbol_transform)
}
inline void Meta::_internal_add_symbol_transform(float value) {
  symbol_transform_.Add(value);
}
inline void Meta::add_symbol_transform(float value) {
  _internal_add_symbol_transform(value);
  // @@protoc_insertion_point(field_add:Messages.Meta.symbol_transform)
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< float >&
Meta::_internal_symbol_transform() const {
  return symbol_transform_;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< float >&
Meta::symbol_transform() const {
  // @@protoc_insertion_point(field_list:Messages.Meta.symbol_transform)
  return _internal_symbol_transform();
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< float >*
Meta::_internal_mutable_symbol_transform() {
  return &symbol_transform_;
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< float >*
Meta::mutable_symbol_transform() {
  // @@protoc_insertion_point(field_mutable_list:Messages.Meta.symbol_transform)
  return _internal_mutable_symbol_transform();
}

// uint32 length_units = 40;
inline void Meta::clear_length_units() {
  length_units_ = 0u;
}
inline uint32_t Meta::_internal_length_units() const {
  return length_units_;
}
inline uint32_t Meta::length_units() const {
  // @@protoc_insertion_point(field_get:Messages.Meta.length_units)
  return _internal_length_units();
}
inline void Meta::_internal_set_length_units(uint32_t value) {
  
  length_units_ = value;
}
inline void Meta::set_length_units(uint32_t value) {
  _internal_set_length_units(value);
  // @@protoc_insertion_point(field_set:Messages.Meta.length_units)
}

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

// SliceControl

// string name = 1;
inline void SliceControl::clear_name() {
  name_.ClearToEmpty();
}
inline const std::string& SliceControl::name() const {
  // @@protoc_insertion_point(field_get:Messages.SliceControl.name)
  return _internal_name();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void SliceControl::set_name(ArgT0&& arg0, ArgT... args) {
 
 name_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:Messages.SliceControl.name)
}
inline std::string* SliceControl::mutable_name() {
  std::string* _s = _internal_mutable_name();
  // @@protoc_insertion_point(field_mutable:Messages.SliceControl.name)
  return _s;
}
inline const std::string& SliceControl::_internal_name() const {
  return name_.Get();
}
inline void SliceControl::_internal_set_name(const std::string& value) {
  
  name_.Set(value, GetArenaForAllocation());
}
inline std::string* SliceControl::_internal_mutable_name() {
  
  return name_.Mutable(GetArenaForAllocation());
}
inline std::string* SliceControl::release_name() {
  // @@protoc_insertion_point(field_release:Messages.SliceControl.name)
  return name_.Release();
}
inline void SliceControl::set_allocated_name(std::string* name) {
  if (name != nullptr) {
    
  } else {
    
  }
  name_.SetAllocated(name, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (name_.IsDefault()) {
    name_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:Messages.SliceControl.name)
}

// repeated double center = 2;
inline int SliceControl::_internal_center_size() const {
  return center_.size();
}
inline int SliceControl::center_size() const {
  return _internal_center_size();
}
inline void SliceControl::clear_center() {
  center_.Clear();
}
inline double SliceControl::_internal_center(int index) const {
  return center_.Get(index);
}
inline double SliceControl::center(int index) const {
  // @@protoc_insertion_point(field_get:Messages.SliceControl.center)
  return _internal_center(index);
}
inline void SliceControl::set_center(int index, double value) {
  center_.Set(index, value);
  // @@protoc_insertion_point(field_set:Messages.SliceControl.center)
}
inline void SliceControl::_internal_add_center(double value) {
  center_.Add(value);
}
inline void SliceControl::add_center(double value) {
  _internal_add_center(value);
  // @@protoc_insertion_point(field_add:Messages.SliceControl.center)
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >&
SliceControl::_internal_center() const {
  return center_;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >&
SliceControl::center() const {
  // @@protoc_insertion_point(field_list:Messages.SliceControl.center)
  return _internal_center();
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >*
SliceControl::_internal_mutable_center() {
  return &center_;
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >*
SliceControl::mutable_center() {
  // @@protoc_insertion_point(field_mutable_list:Messages.SliceControl.center)
  return _internal_mutable_center();
}

// repeated double normal = 3;
inline int SliceControl::_internal_normal_size() const {
  return normal_.size();
}
inline int SliceControl::normal_size() const {
  return _internal_normal_size();
}
inline void SliceControl::clear_normal() {
  normal_.Clear();
}
inline double SliceControl::_internal_normal(int index) const {
  return normal_.Get(index);
}
inline double SliceControl::normal(int index) const {
  // @@protoc_insertion_point(field_get:Messages.SliceControl.normal)
  return _internal_normal(index);
}
inline void SliceControl::set_normal(int index, double value) {
  normal_.Set(index, value);
  // @@protoc_insertion_point(field_set:Messages.SliceControl.normal)
}
inline void SliceControl::_internal_add_normal(double value) {
  normal_.Add(value);
}
inline void SliceControl::add_normal(double value) {
  _internal_add_normal(value);
  // @@protoc_insertion_point(field_add:Messages.SliceControl.normal)
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >&
SliceControl::_internal_normal() const {
  return normal_;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >&
SliceControl::normal() const {
  // @@protoc_insertion_point(field_list:Messages.SliceControl.normal)
  return _internal_normal();
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >*
SliceControl::_internal_mutable_normal() {
  return &normal_;
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >*
SliceControl::mutable_normal() {
  // @@protoc_insertion_point(field_mutable_list:Messages.SliceControl.normal)
  return _internal_mutable_normal();
}

// bool intersect = 4;
inline void SliceControl::clear_intersect() {
  intersect_ = false;
}
inline bool SliceControl::_internal_intersect() const {
  return intersect_;
}
inline bool SliceControl::intersect() const {
  // @@protoc_insertion_point(field_get:Messages.SliceControl.intersect)
  return _internal_intersect();
}
inline void SliceControl::_internal_set_intersect(bool value) {
  
  intersect_ = value;
}
inline void SliceControl::set_intersect(bool value) {
  _internal_set_intersect(value);
  // @@protoc_insertion_point(field_set:Messages.SliceControl.intersect)
}

// bool negative = 5;
inline void SliceControl::clear_negative() {
  negative_ = false;
}
inline bool SliceControl::_internal_negative() const {
  return negative_;
}
inline bool SliceControl::negative() const {
  // @@protoc_insertion_point(field_get:Messages.SliceControl.negative)
  return _internal_negative();
}
inline void SliceControl::_internal_set_negative(bool value) {
  
  negative_ = value;
}
inline void SliceControl::set_negative(bool value) {
  _internal_set_negative(value);
  // @@protoc_insertion_point(field_set:Messages.SliceControl.negative)
}

// bool positive = 6;
inline void SliceControl::clear_positive() {
  positive_ = false;
}
inline bool SliceControl::_internal_positive() const {
  return positive_;
}
inline bool SliceControl::positive() const {
  // @@protoc_insertion_point(field_get:Messages.SliceControl.positive)
  return _internal_positive();
}
inline void SliceControl::_internal_set_positive(bool value) {
  
  positive_ = value;
}
inline void SliceControl::set_positive(bool value) {
  _internal_set_positive(value);
  // @@protoc_insertion_point(field_set:Messages.SliceControl.positive)
}

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

// CameraControl

// repeated float subject = 1;
inline int CameraControl::_internal_subject_size() const {
  return subject_.size();
}
inline int CameraControl::subject_size() const {
  return _internal_subject_size();
}
inline void CameraControl::clear_subject() {
  subject_.Clear();
}
inline float CameraControl::_internal_subject(int index) const {
  return subject_.Get(index);
}
inline float CameraControl::subject(int index) const {
  // @@protoc_insertion_point(field_get:Messages.CameraControl.subject)
  return _internal_subject(index);
}
inline void CameraControl::set_subject(int index, float value) {
  subject_.Set(index, value);
  // @@protoc_insertion_point(field_set:Messages.CameraControl.subject)
}
inline void CameraControl::_internal_add_subject(float value) {
  subject_.Add(value);
}
inline void CameraControl::add_subject(float value) {
  _internal_add_subject(value);
  // @@protoc_insertion_point(field_add:Messages.CameraControl.subject)
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< float >&
CameraControl::_internal_subject() const {
  return subject_;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< float >&
CameraControl::subject() const {
  // @@protoc_insertion_point(field_list:Messages.CameraControl.subject)
  return _internal_subject();
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< float >*
CameraControl::_internal_mutable_subject() {
  return &subject_;
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< float >*
CameraControl::mutable_subject() {
  // @@protoc_insertion_point(field_mutable_list:Messages.CameraControl.subject)
  return _internal_mutable_subject();
}

// repeated float offset = 2;
inline int CameraControl::_internal_offset_size() const {
  return offset_.size();
}
inline int CameraControl::offset_size() const {
  return _internal_offset_size();
}
inline void CameraControl::clear_offset() {
  offset_.Clear();
}
inline float CameraControl::_internal_offset(int index) const {
  return offset_.Get(index);
}
inline float CameraControl::offset(int index) const {
  // @@protoc_insertion_point(field_get:Messages.CameraControl.offset)
  return _internal_offset(index);
}
inline void CameraControl::set_offset(int index, float value) {
  offset_.Set(index, value);
  // @@protoc_insertion_point(field_set:Messages.CameraControl.offset)
}
inline void CameraControl::_internal_add_offset(float value) {
  offset_.Add(value);
}
inline void CameraControl::add_offset(float value) {
  _internal_add_offset(value);
  // @@protoc_insertion_point(field_add:Messages.CameraControl.offset)
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< float >&
CameraControl::_internal_offset() const {
  return offset_;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< float >&
CameraControl::offset() const {
  // @@protoc_insertion_point(field_list:Messages.CameraControl.offset)
  return _internal_offset();
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< float >*
CameraControl::_internal_mutable_offset() {
  return &offset_;
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< float >*
CameraControl::mutable_offset() {
  // @@protoc_insertion_point(field_mutable_list:Messages.CameraControl.offset)
  return _internal_mutable_offset();
}

// repeated float angle = 3;
inline int CameraControl::_internal_angle_size() const {
  return angle_.size();
}
inline int CameraControl::angle_size() const {
  return _internal_angle_size();
}
inline void CameraControl::clear_angle() {
  angle_.Clear();
}
inline float CameraControl::_internal_angle(int index) const {
  return angle_.Get(index);
}
inline float CameraControl::angle(int index) const {
  // @@protoc_insertion_point(field_get:Messages.CameraControl.angle)
  return _internal_angle(index);
}
inline void CameraControl::set_angle(int index, float value) {
  angle_.Set(index, value);
  // @@protoc_insertion_point(field_set:Messages.CameraControl.angle)
}
inline void CameraControl::_internal_add_angle(float value) {
  angle_.Add(value);
}
inline void CameraControl::add_angle(float value) {
  _internal_add_angle(value);
  // @@protoc_insertion_point(field_add:Messages.CameraControl.angle)
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< float >&
CameraControl::_internal_angle() const {
  return angle_;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< float >&
CameraControl::angle() const {
  // @@protoc_insertion_point(field_list:Messages.CameraControl.angle)
  return _internal_angle();
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< float >*
CameraControl::_internal_mutable_angle() {
  return &angle_;
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< float >*
CameraControl::mutable_angle() {
  // @@protoc_insertion_point(field_mutable_list:Messages.CameraControl.angle)
  return _internal_mutable_angle();
}

// float scene_time = 4;
inline void CameraControl::clear_scene_time() {
  scene_time_ = 0;
}
inline float CameraControl::_internal_scene_time() const {
  return scene_time_;
}
inline float CameraControl::scene_time() const {
  // @@protoc_insertion_point(field_get:Messages.CameraControl.scene_time)
  return _internal_scene_time();
}
inline void CameraControl::_internal_set_scene_time(float value) {
  
  scene_time_ = value;
}
inline void CameraControl::set_scene_time(float value) {
  _internal_set_scene_time(value);
  // @@protoc_insertion_point(field_set:Messages.CameraControl.scene_time)
}

// float magnification = 5;
inline void CameraControl::clear_magnification() {
  magnification_ = 0;
}
inline float CameraControl::_internal_magnification() const {
  return magnification_;
}
inline float CameraControl::magnification() const {
  // @@protoc_insertion_point(field_get:Messages.CameraControl.magnification)
  return _internal_magnification();
}
inline void CameraControl::_internal_set_magnification(float value) {
  
  magnification_ = value;
}
inline void CameraControl::set_magnification(float value) {
  _internal_set_magnification(value);
  // @@protoc_insertion_point(field_set:Messages.CameraControl.magnification)
}

// float time_constant = 6;
inline void CameraControl::clear_time_constant() {
  time_constant_ = 0;
}
inline float CameraControl::_internal_time_constant() const {
  return time_constant_;
}
inline float CameraControl::time_constant() const {
  // @@protoc_insertion_point(field_get:Messages.CameraControl.time_constant)
  return _internal_time_constant();
}
inline void CameraControl::_internal_set_time_constant(float value) {
  
  time_constant_ = value;
}
inline void CameraControl::set_time_constant(float value) {
  _internal_set_time_constant(value);
  // @@protoc_insertion_point(field_set:Messages.CameraControl.time_constant)
}

// float pan_sensitivity = 7;
inline void CameraControl::clear_pan_sensitivity() {
  pan_sensitivity_ = 0;
}
inline float CameraControl::_internal_pan_sensitivity() const {
  return pan_sensitivity_;
}
inline float CameraControl::pan_sensitivity() const {
  // @@protoc_insertion_point(field_get:Messages.CameraControl.pan_sensitivity)
  return _internal_pan_sensitivity();
}
inline void CameraControl::_internal_set_pan_sensitivity(float value) {
  
  pan_sensitivity_ = value;
}
inline void CameraControl::set_pan_sensitivity(float value) {
  _internal_set_pan_sensitivity(value);
  // @@protoc_insertion_point(field_set:Messages.CameraControl.pan_sensitivity)
}

// float rotation_sensitivity = 8;
inline void CameraControl::clear_rotation_sensitivity() {
  rotation_sensitivity_ = 0;
}
inline float CameraControl::_internal_rotation_sensitivity() const {
  return rotation_sensitivity_;
}
inline float CameraControl::rotation_sensitivity() const {
  // @@protoc_insertion_point(field_get:Messages.CameraControl.rotation_sensitivity)
  return _internal_rotation_sensitivity();
}
inline void CameraControl::_internal_set_rotation_sensitivity(float value) {
  
  rotation_sensitivity_ = value;
}
inline void CameraControl::set_rotation_sensitivity(float value) {
  _internal_set_rotation_sensitivity(value);
  // @@protoc_insertion_point(field_set:Messages.CameraControl.rotation_sensitivity)
}

// float zoom_sensitivity = 9;
inline void CameraControl::clear_zoom_sensitivity() {
  zoom_sensitivity_ = 0;
}
inline float CameraControl::_internal_zoom_sensitivity() const {
  return zoom_sensitivity_;
}
inline float CameraControl::zoom_sensitivity() const {
  // @@protoc_insertion_point(field_get:Messages.CameraControl.zoom_sensitivity)
  return _internal_zoom_sensitivity();
}
inline void CameraControl::_internal_set_zoom_sensitivity(float value) {
  
  zoom_sensitivity_ = value;
}
inline void CameraControl::set_zoom_sensitivity(float value) {
  _internal_set_zoom_sensitivity(value);
  // @@protoc_insertion_point(field_set:Messages.CameraControl.zoom_sensitivity)
}

// float znear = 10;
inline void CameraControl::clear_znear() {
  znear_ = 0;
}
inline float CameraControl::_internal_znear() const {
  return znear_;
}
inline float CameraControl::znear() const {
  // @@protoc_insertion_point(field_get:Messages.CameraControl.znear)
  return _internal_znear();
}
inline void CameraControl::_internal_set_znear(float value) {
  
  znear_ = value;
}
inline void CameraControl::set_znear(float value) {
  _internal_set_znear(value);
  // @@protoc_insertion_point(field_set:Messages.CameraControl.znear)
}

// float zfar = 11;
inline void CameraControl::clear_zfar() {
  zfar_ = 0;
}
inline float CameraControl::_internal_zfar() const {
  return zfar_;
}
inline float CameraControl::zfar() const {
  // @@protoc_insertion_point(field_get:Messages.CameraControl.zfar)
  return _internal_zfar();
}
inline void CameraControl::_internal_set_zfar(float value) {
  
  zfar_ = value;
}
inline void CameraControl::set_zfar(float value) {
  _internal_set_zfar(value);
  // @@protoc_insertion_point(field_set:Messages.CameraControl.zfar)
}

// float aov = 12;
inline void CameraControl::clear_aov() {
  aov_ = 0;
}
inline float CameraControl::_internal_aov() const {
  return aov_;
}
inline float CameraControl::aov() const {
  // @@protoc_insertion_point(field_get:Messages.CameraControl.aov)
  return _internal_aov();
}
inline void CameraControl::_internal_set_aov(float value) {
  
  aov_ = value;
}
inline void CameraControl::set_aov(float value) {
  _internal_set_aov(value);
  // @@protoc_insertion_point(field_set:Messages.CameraControl.aov)
}

// repeated uint32 resolution = 13;
inline int CameraControl::_internal_resolution_size() const {
  return resolution_.size();
}
inline int CameraControl::resolution_size() const {
  return _internal_resolution_size();
}
inline void CameraControl::clear_resolution() {
  resolution_.Clear();
}
inline uint32_t CameraControl::_internal_resolution(int index) const {
  return resolution_.Get(index);
}
inline uint32_t CameraControl::resolution(int index) const {
  // @@protoc_insertion_point(field_get:Messages.CameraControl.resolution)
  return _internal_resolution(index);
}
inline void CameraControl::set_resolution(int index, uint32_t value) {
  resolution_.Set(index, value);
  // @@protoc_insertion_point(field_set:Messages.CameraControl.resolution)
}
inline void CameraControl::_internal_add_resolution(uint32_t value) {
  resolution_.Add(value);
}
inline void CameraControl::add_resolution(uint32_t value) {
  _internal_add_resolution(value);
  // @@protoc_insertion_point(field_add:Messages.CameraControl.resolution)
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint32_t >&
CameraControl::_internal_resolution() const {
  return resolution_;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint32_t >&
CameraControl::resolution() const {
  // @@protoc_insertion_point(field_list:Messages.CameraControl.resolution)
  return _internal_resolution();
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint32_t >*
CameraControl::_internal_mutable_resolution() {
  return &resolution_;
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint32_t >*
CameraControl::mutable_resolution() {
  // @@protoc_insertion_point(field_mutable_list:Messages.CameraControl.resolution)
  return _internal_mutable_resolution();
}

// bool perspective = 15;
inline void CameraControl::clear_perspective() {
  perspective_ = false;
}
inline bool CameraControl::_internal_perspective() const {
  return perspective_;
}
inline bool CameraControl::perspective() const {
  // @@protoc_insertion_point(field_get:Messages.CameraControl.perspective)
  return _internal_perspective();
}
inline void CameraControl::_internal_set_perspective(bool value) {
  
  perspective_ = value;
}
inline void CameraControl::set_perspective(bool value) {
  _internal_set_perspective(value);
  // @@protoc_insertion_point(field_set:Messages.CameraControl.perspective)
}

// bool smooth = 16;
inline void CameraControl::clear_smooth() {
  smooth_ = false;
}
inline bool CameraControl::_internal_smooth() const {
  return smooth_;
}
inline bool CameraControl::smooth() const {
  // @@protoc_insertion_point(field_get:Messages.CameraControl.smooth)
  return _internal_smooth();
}
inline void CameraControl::_internal_set_smooth(bool value) {
  
  smooth_ = value;
}
inline void CameraControl::set_smooth(bool value) {
  _internal_set_smooth(value);
  // @@protoc_insertion_point(field_set:Messages.CameraControl.smooth)
}

// bool orbit = 17;
inline void CameraControl::clear_orbit() {
  orbit_ = false;
}
inline bool CameraControl::_internal_orbit() const {
  return orbit_;
}
inline bool CameraControl::orbit() const {
  // @@protoc_insertion_point(field_get:Messages.CameraControl.orbit)
  return _internal_orbit();
}
inline void CameraControl::_internal_set_orbit(bool value) {
  
  orbit_ = value;
}
inline void CameraControl::set_orbit(bool value) {
  _internal_set_orbit(value);
  // @@protoc_insertion_point(field_set:Messages.CameraControl.orbit)
}

// bool follow = 18;
inline void CameraControl::clear_follow() {
  follow_ = false;
}
inline bool CameraControl::_internal_follow() const {
  return follow_;
}
inline bool CameraControl::follow() const {
  // @@protoc_insertion_point(field_get:Messages.CameraControl.follow)
  return _internal_follow();
}
inline void CameraControl::_internal_set_follow(bool value) {
  
  follow_ = value;
}
inline void CameraControl::set_follow(bool value) {
  _internal_set_follow(value);
  // @@protoc_insertion_point(field_set:Messages.CameraControl.follow)
}

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

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

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

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

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


// @@protoc_insertion_point(namespace_scope)

}  // namespace Messages

// @@protoc_insertion_point(global_scope)

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