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

#ifndef GOOGLE_PROTOBUF_INCLUDED_osi_5fsensorview_2eproto
#define GOOGLE_PROTOBUF_INCLUDED_osi_5fsensorview_2eproto

#include <limits>
#include <string>

#include <google/protobuf/port_def.inc>
#if PROTOBUF_VERSION < 3015000
#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 3015002 < PROTOBUF_MIN_PROTOC_VERSION
#error This file was generated by an older version of protoc which is
#error incompatible with your Protocol Buffer headers. Please
#error regenerate this file with a newer version of protoc.
#endif

#include <google/protobuf/port_undef.inc>
#include <google/protobuf/io/coded_stream.h>
#include <google/protobuf/arena.h>
#include <google/protobuf/arenastring.h>
#include <google/protobuf/generated_message_table_driven.h>
#include <google/protobuf/generated_message_util.h>
#include <google/protobuf/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 "osi_version.pb.h"
#include "osi_common.pb.h"
#include "osi_groundtruth.pb.h"
#include "osi_sensorviewconfiguration.pb.h"
#include "osi_hostvehicledata.pb.h"
// @@protoc_insertion_point(includes)
#include <google/protobuf/port_def.inc>
#define PROTOBUF_INTERNAL_EXPORT_osi_5fsensorview_2eproto
PROTOBUF_NAMESPACE_OPEN
namespace internal {
class AnyMetadata;
}  // namespace internal
PROTOBUF_NAMESPACE_CLOSE

// Internal implementation detail -- do not use these members.
struct TableStruct_osi_5fsensorview_2eproto {
  static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTableField entries[]
    PROTOBUF_SECTION_VARIABLE(protodesc_cold);
  static const ::PROTOBUF_NAMESPACE_ID::internal::AuxiliaryParseTableField aux[]
    PROTOBUF_SECTION_VARIABLE(protodesc_cold);
  static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[8]
    PROTOBUF_SECTION_VARIABLE(protodesc_cold);
  static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[];
  static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[];
  static const ::PROTOBUF_NAMESPACE_ID::uint32 offsets[];
};
extern const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_osi_5fsensorview_2eproto;
::PROTOBUF_NAMESPACE_ID::Metadata descriptor_table_osi_5fsensorview_2eproto_metadata_getter(int index);
namespace osi3 {
class CameraSensorView;
struct CameraSensorViewDefaultTypeInternal;
extern CameraSensorViewDefaultTypeInternal _CameraSensorView_default_instance_;
class GenericSensorView;
struct GenericSensorViewDefaultTypeInternal;
extern GenericSensorViewDefaultTypeInternal _GenericSensorView_default_instance_;
class LidarSensorView;
struct LidarSensorViewDefaultTypeInternal;
extern LidarSensorViewDefaultTypeInternal _LidarSensorView_default_instance_;
class LidarSensorView_Reflection;
struct LidarSensorView_ReflectionDefaultTypeInternal;
extern LidarSensorView_ReflectionDefaultTypeInternal _LidarSensorView_Reflection_default_instance_;
class RadarSensorView;
struct RadarSensorViewDefaultTypeInternal;
extern RadarSensorViewDefaultTypeInternal _RadarSensorView_default_instance_;
class RadarSensorView_Reflection;
struct RadarSensorView_ReflectionDefaultTypeInternal;
extern RadarSensorView_ReflectionDefaultTypeInternal _RadarSensorView_Reflection_default_instance_;
class SensorView;
struct SensorViewDefaultTypeInternal;
extern SensorViewDefaultTypeInternal _SensorView_default_instance_;
class UltrasonicSensorView;
struct UltrasonicSensorViewDefaultTypeInternal;
extern UltrasonicSensorViewDefaultTypeInternal _UltrasonicSensorView_default_instance_;
}  // namespace osi3
PROTOBUF_NAMESPACE_OPEN
template<> ::osi3::CameraSensorView* Arena::CreateMaybeMessage<::osi3::CameraSensorView>(Arena*);
template<> ::osi3::GenericSensorView* Arena::CreateMaybeMessage<::osi3::GenericSensorView>(Arena*);
template<> ::osi3::LidarSensorView* Arena::CreateMaybeMessage<::osi3::LidarSensorView>(Arena*);
template<> ::osi3::LidarSensorView_Reflection* Arena::CreateMaybeMessage<::osi3::LidarSensorView_Reflection>(Arena*);
template<> ::osi3::RadarSensorView* Arena::CreateMaybeMessage<::osi3::RadarSensorView>(Arena*);
template<> ::osi3::RadarSensorView_Reflection* Arena::CreateMaybeMessage<::osi3::RadarSensorView_Reflection>(Arena*);
template<> ::osi3::SensorView* Arena::CreateMaybeMessage<::osi3::SensorView>(Arena*);
template<> ::osi3::UltrasonicSensorView* Arena::CreateMaybeMessage<::osi3::UltrasonicSensorView>(Arena*);
PROTOBUF_NAMESPACE_CLOSE
namespace osi3 {

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

class SensorView PROTOBUF_FINAL :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:osi3.SensorView) */ {
 public:
  inline SensorView() : SensorView(nullptr) {}
  virtual ~SensorView();
  explicit constexpr SensorView(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

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

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

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

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

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

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

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

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

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

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
  private:
  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
    return ::descriptor_table_osi_5fsensorview_2eproto_metadata_getter(kIndexInFileMessages);
  }

  public:

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

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

  enum : int {
    kGenericSensorViewFieldNumber = 1000,
    kRadarSensorViewFieldNumber = 1001,
    kLidarSensorViewFieldNumber = 1002,
    kCameraSensorViewFieldNumber = 1003,
    kUltrasonicSensorViewFieldNumber = 1004,
    kVersionFieldNumber = 1,
    kTimestampFieldNumber = 2,
    kSensorIdFieldNumber = 3,
    kMountingPositionFieldNumber = 4,
    kMountingPositionRmseFieldNumber = 5,
    kHostVehicleDataFieldNumber = 6,
    kGlobalGroundTruthFieldNumber = 7,
    kHostVehicleIdFieldNumber = 8,
  };
  // repeated .osi3.GenericSensorView generic_sensor_view = 1000;
  int generic_sensor_view_size() const;
  private:
  int _internal_generic_sensor_view_size() const;
  public:
  void clear_generic_sensor_view();
  ::osi3::GenericSensorView* mutable_generic_sensor_view(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::osi3::GenericSensorView >*
      mutable_generic_sensor_view();
  private:
  const ::osi3::GenericSensorView& _internal_generic_sensor_view(int index) const;
  ::osi3::GenericSensorView* _internal_add_generic_sensor_view();
  public:
  const ::osi3::GenericSensorView& generic_sensor_view(int index) const;
  ::osi3::GenericSensorView* add_generic_sensor_view();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::osi3::GenericSensorView >&
      generic_sensor_view() const;

  // repeated .osi3.RadarSensorView radar_sensor_view = 1001;
  int radar_sensor_view_size() const;
  private:
  int _internal_radar_sensor_view_size() const;
  public:
  void clear_radar_sensor_view();
  ::osi3::RadarSensorView* mutable_radar_sensor_view(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::osi3::RadarSensorView >*
      mutable_radar_sensor_view();
  private:
  const ::osi3::RadarSensorView& _internal_radar_sensor_view(int index) const;
  ::osi3::RadarSensorView* _internal_add_radar_sensor_view();
  public:
  const ::osi3::RadarSensorView& radar_sensor_view(int index) const;
  ::osi3::RadarSensorView* add_radar_sensor_view();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::osi3::RadarSensorView >&
      radar_sensor_view() const;

  // repeated .osi3.LidarSensorView lidar_sensor_view = 1002;
  int lidar_sensor_view_size() const;
  private:
  int _internal_lidar_sensor_view_size() const;
  public:
  void clear_lidar_sensor_view();
  ::osi3::LidarSensorView* mutable_lidar_sensor_view(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::osi3::LidarSensorView >*
      mutable_lidar_sensor_view();
  private:
  const ::osi3::LidarSensorView& _internal_lidar_sensor_view(int index) const;
  ::osi3::LidarSensorView* _internal_add_lidar_sensor_view();
  public:
  const ::osi3::LidarSensorView& lidar_sensor_view(int index) const;
  ::osi3::LidarSensorView* add_lidar_sensor_view();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::osi3::LidarSensorView >&
      lidar_sensor_view() const;

  // repeated .osi3.CameraSensorView camera_sensor_view = 1003;
  int camera_sensor_view_size() const;
  private:
  int _internal_camera_sensor_view_size() const;
  public:
  void clear_camera_sensor_view();
  ::osi3::CameraSensorView* mutable_camera_sensor_view(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::osi3::CameraSensorView >*
      mutable_camera_sensor_view();
  private:
  const ::osi3::CameraSensorView& _internal_camera_sensor_view(int index) const;
  ::osi3::CameraSensorView* _internal_add_camera_sensor_view();
  public:
  const ::osi3::CameraSensorView& camera_sensor_view(int index) const;
  ::osi3::CameraSensorView* add_camera_sensor_view();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::osi3::CameraSensorView >&
      camera_sensor_view() const;

  // repeated .osi3.UltrasonicSensorView ultrasonic_sensor_view = 1004;
  int ultrasonic_sensor_view_size() const;
  private:
  int _internal_ultrasonic_sensor_view_size() const;
  public:
  void clear_ultrasonic_sensor_view();
  ::osi3::UltrasonicSensorView* mutable_ultrasonic_sensor_view(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::osi3::UltrasonicSensorView >*
      mutable_ultrasonic_sensor_view();
  private:
  const ::osi3::UltrasonicSensorView& _internal_ultrasonic_sensor_view(int index) const;
  ::osi3::UltrasonicSensorView* _internal_add_ultrasonic_sensor_view();
  public:
  const ::osi3::UltrasonicSensorView& ultrasonic_sensor_view(int index) const;
  ::osi3::UltrasonicSensorView* add_ultrasonic_sensor_view();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::osi3::UltrasonicSensorView >&
      ultrasonic_sensor_view() const;

  // .osi3.InterfaceVersion version = 1;
  bool has_version() const;
  private:
  bool _internal_has_version() const;
  public:
  void clear_version();
  const ::osi3::InterfaceVersion& version() const;
  ::osi3::InterfaceVersion* release_version();
  ::osi3::InterfaceVersion* mutable_version();
  void set_allocated_version(::osi3::InterfaceVersion* version);
  private:
  const ::osi3::InterfaceVersion& _internal_version() const;
  ::osi3::InterfaceVersion* _internal_mutable_version();
  public:
  void unsafe_arena_set_allocated_version(
      ::osi3::InterfaceVersion* version);
  ::osi3::InterfaceVersion* unsafe_arena_release_version();

  // .osi3.Timestamp timestamp = 2;
  bool has_timestamp() const;
  private:
  bool _internal_has_timestamp() const;
  public:
  void clear_timestamp();
  const ::osi3::Timestamp& timestamp() const;
  ::osi3::Timestamp* release_timestamp();
  ::osi3::Timestamp* mutable_timestamp();
  void set_allocated_timestamp(::osi3::Timestamp* timestamp);
  private:
  const ::osi3::Timestamp& _internal_timestamp() const;
  ::osi3::Timestamp* _internal_mutable_timestamp();
  public:
  void unsafe_arena_set_allocated_timestamp(
      ::osi3::Timestamp* timestamp);
  ::osi3::Timestamp* unsafe_arena_release_timestamp();

  // .osi3.Identifier sensor_id = 3;
  bool has_sensor_id() const;
  private:
  bool _internal_has_sensor_id() const;
  public:
  void clear_sensor_id();
  const ::osi3::Identifier& sensor_id() const;
  ::osi3::Identifier* release_sensor_id();
  ::osi3::Identifier* mutable_sensor_id();
  void set_allocated_sensor_id(::osi3::Identifier* sensor_id);
  private:
  const ::osi3::Identifier& _internal_sensor_id() const;
  ::osi3::Identifier* _internal_mutable_sensor_id();
  public:
  void unsafe_arena_set_allocated_sensor_id(
      ::osi3::Identifier* sensor_id);
  ::osi3::Identifier* unsafe_arena_release_sensor_id();

  // .osi3.MountingPosition mounting_position = 4;
  bool has_mounting_position() const;
  private:
  bool _internal_has_mounting_position() const;
  public:
  void clear_mounting_position();
  const ::osi3::MountingPosition& mounting_position() const;
  ::osi3::MountingPosition* release_mounting_position();
  ::osi3::MountingPosition* mutable_mounting_position();
  void set_allocated_mounting_position(::osi3::MountingPosition* mounting_position);
  private:
  const ::osi3::MountingPosition& _internal_mounting_position() const;
  ::osi3::MountingPosition* _internal_mutable_mounting_position();
  public:
  void unsafe_arena_set_allocated_mounting_position(
      ::osi3::MountingPosition* mounting_position);
  ::osi3::MountingPosition* unsafe_arena_release_mounting_position();

  // .osi3.MountingPosition mounting_position_rmse = 5;
  bool has_mounting_position_rmse() const;
  private:
  bool _internal_has_mounting_position_rmse() const;
  public:
  void clear_mounting_position_rmse();
  const ::osi3::MountingPosition& mounting_position_rmse() const;
  ::osi3::MountingPosition* release_mounting_position_rmse();
  ::osi3::MountingPosition* mutable_mounting_position_rmse();
  void set_allocated_mounting_position_rmse(::osi3::MountingPosition* mounting_position_rmse);
  private:
  const ::osi3::MountingPosition& _internal_mounting_position_rmse() const;
  ::osi3::MountingPosition* _internal_mutable_mounting_position_rmse();
  public:
  void unsafe_arena_set_allocated_mounting_position_rmse(
      ::osi3::MountingPosition* mounting_position_rmse);
  ::osi3::MountingPosition* unsafe_arena_release_mounting_position_rmse();

  // .osi3.HostVehicleData host_vehicle_data = 6;
  bool has_host_vehicle_data() const;
  private:
  bool _internal_has_host_vehicle_data() const;
  public:
  void clear_host_vehicle_data();
  const ::osi3::HostVehicleData& host_vehicle_data() const;
  ::osi3::HostVehicleData* release_host_vehicle_data();
  ::osi3::HostVehicleData* mutable_host_vehicle_data();
  void set_allocated_host_vehicle_data(::osi3::HostVehicleData* host_vehicle_data);
  private:
  const ::osi3::HostVehicleData& _internal_host_vehicle_data() const;
  ::osi3::HostVehicleData* _internal_mutable_host_vehicle_data();
  public:
  void unsafe_arena_set_allocated_host_vehicle_data(
      ::osi3::HostVehicleData* host_vehicle_data);
  ::osi3::HostVehicleData* unsafe_arena_release_host_vehicle_data();

  // .osi3.GroundTruth global_ground_truth = 7;
  bool has_global_ground_truth() const;
  private:
  bool _internal_has_global_ground_truth() const;
  public:
  void clear_global_ground_truth();
  const ::osi3::GroundTruth& global_ground_truth() const;
  ::osi3::GroundTruth* release_global_ground_truth();
  ::osi3::GroundTruth* mutable_global_ground_truth();
  void set_allocated_global_ground_truth(::osi3::GroundTruth* global_ground_truth);
  private:
  const ::osi3::GroundTruth& _internal_global_ground_truth() const;
  ::osi3::GroundTruth* _internal_mutable_global_ground_truth();
  public:
  void unsafe_arena_set_allocated_global_ground_truth(
      ::osi3::GroundTruth* global_ground_truth);
  ::osi3::GroundTruth* unsafe_arena_release_global_ground_truth();

  // .osi3.Identifier host_vehicle_id = 8;
  bool has_host_vehicle_id() const;
  private:
  bool _internal_has_host_vehicle_id() const;
  public:
  void clear_host_vehicle_id();
  const ::osi3::Identifier& host_vehicle_id() const;
  ::osi3::Identifier* release_host_vehicle_id();
  ::osi3::Identifier* mutable_host_vehicle_id();
  void set_allocated_host_vehicle_id(::osi3::Identifier* host_vehicle_id);
  private:
  const ::osi3::Identifier& _internal_host_vehicle_id() const;
  ::osi3::Identifier* _internal_mutable_host_vehicle_id();
  public:
  void unsafe_arena_set_allocated_host_vehicle_id(
      ::osi3::Identifier* host_vehicle_id);
  ::osi3::Identifier* unsafe_arena_release_host_vehicle_id();

  // @@protoc_insertion_point(class_scope:osi3.SensorView)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::osi3::GenericSensorView > generic_sensor_view_;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::osi3::RadarSensorView > radar_sensor_view_;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::osi3::LidarSensorView > lidar_sensor_view_;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::osi3::CameraSensorView > camera_sensor_view_;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::osi3::UltrasonicSensorView > ultrasonic_sensor_view_;
  ::osi3::InterfaceVersion* version_;
  ::osi3::Timestamp* timestamp_;
  ::osi3::Identifier* sensor_id_;
  ::osi3::MountingPosition* mounting_position_;
  ::osi3::MountingPosition* mounting_position_rmse_;
  ::osi3::HostVehicleData* host_vehicle_data_;
  ::osi3::GroundTruth* global_ground_truth_;
  ::osi3::Identifier* host_vehicle_id_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_osi_5fsensorview_2eproto;
};
// -------------------------------------------------------------------

class GenericSensorView PROTOBUF_FINAL :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:osi3.GenericSensorView) */ {
 public:
  inline GenericSensorView() : GenericSensorView(nullptr) {}
  virtual ~GenericSensorView();
  explicit constexpr GenericSensorView(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

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

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

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

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

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

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

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

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

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

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
  private:
  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
    return ::descriptor_table_osi_5fsensorview_2eproto_metadata_getter(kIndexInFileMessages);
  }

  public:

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

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

  enum : int {
    kViewConfigurationFieldNumber = 1,
  };
  // .osi3.GenericSensorViewConfiguration view_configuration = 1;
  bool has_view_configuration() const;
  private:
  bool _internal_has_view_configuration() const;
  public:
  void clear_view_configuration();
  const ::osi3::GenericSensorViewConfiguration& view_configuration() const;
  ::osi3::GenericSensorViewConfiguration* release_view_configuration();
  ::osi3::GenericSensorViewConfiguration* mutable_view_configuration();
  void set_allocated_view_configuration(::osi3::GenericSensorViewConfiguration* view_configuration);
  private:
  const ::osi3::GenericSensorViewConfiguration& _internal_view_configuration() const;
  ::osi3::GenericSensorViewConfiguration* _internal_mutable_view_configuration();
  public:
  void unsafe_arena_set_allocated_view_configuration(
      ::osi3::GenericSensorViewConfiguration* view_configuration);
  ::osi3::GenericSensorViewConfiguration* unsafe_arena_release_view_configuration();

  // @@protoc_insertion_point(class_scope:osi3.GenericSensorView)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::osi3::GenericSensorViewConfiguration* view_configuration_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_osi_5fsensorview_2eproto;
};
// -------------------------------------------------------------------

class RadarSensorView_Reflection PROTOBUF_FINAL :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:osi3.RadarSensorView.Reflection) */ {
 public:
  inline RadarSensorView_Reflection() : RadarSensorView_Reflection(nullptr) {}
  virtual ~RadarSensorView_Reflection();
  explicit constexpr RadarSensorView_Reflection(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

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

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

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

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

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

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

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

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

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

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
  private:
  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
    return ::descriptor_table_osi_5fsensorview_2eproto_metadata_getter(kIndexInFileMessages);
  }

  public:

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

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

  enum : int {
    kSignalStrengthFieldNumber = 1,
    kTimeOfFlightFieldNumber = 2,
    kDopplerShiftFieldNumber = 3,
    kSourceHorizontalAngleFieldNumber = 4,
    kSourceVerticalAngleFieldNumber = 5,
  };
  // double signal_strength = 1;
  void clear_signal_strength();
  double signal_strength() const;
  void set_signal_strength(double value);
  private:
  double _internal_signal_strength() const;
  void _internal_set_signal_strength(double value);
  public:

  // double time_of_flight = 2;
  void clear_time_of_flight();
  double time_of_flight() const;
  void set_time_of_flight(double value);
  private:
  double _internal_time_of_flight() const;
  void _internal_set_time_of_flight(double value);
  public:

  // double doppler_shift = 3;
  void clear_doppler_shift();
  double doppler_shift() const;
  void set_doppler_shift(double value);
  private:
  double _internal_doppler_shift() const;
  void _internal_set_doppler_shift(double value);
  public:

  // double source_horizontal_angle = 4;
  void clear_source_horizontal_angle();
  double source_horizontal_angle() const;
  void set_source_horizontal_angle(double value);
  private:
  double _internal_source_horizontal_angle() const;
  void _internal_set_source_horizontal_angle(double value);
  public:

  // double source_vertical_angle = 5;
  void clear_source_vertical_angle();
  double source_vertical_angle() const;
  void set_source_vertical_angle(double value);
  private:
  double _internal_source_vertical_angle() const;
  void _internal_set_source_vertical_angle(double value);
  public:

  // @@protoc_insertion_point(class_scope:osi3.RadarSensorView.Reflection)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  double signal_strength_;
  double time_of_flight_;
  double doppler_shift_;
  double source_horizontal_angle_;
  double source_vertical_angle_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_osi_5fsensorview_2eproto;
};
// -------------------------------------------------------------------

class RadarSensorView PROTOBUF_FINAL :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:osi3.RadarSensorView) */ {
 public:
  inline RadarSensorView() : RadarSensorView(nullptr) {}
  virtual ~RadarSensorView();
  explicit constexpr RadarSensorView(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

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

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

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

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

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

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

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

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

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

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
  private:
  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
    return ::descriptor_table_osi_5fsensorview_2eproto_metadata_getter(kIndexInFileMessages);
  }

  public:

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

  typedef RadarSensorView_Reflection Reflection;

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

  enum : int {
    kReflectionFieldNumber = 2,
    kViewConfigurationFieldNumber = 1,
  };
  // repeated .osi3.RadarSensorView.Reflection reflection = 2;
  int reflection_size() const;
  private:
  int _internal_reflection_size() const;
  public:
  void clear_reflection();
  ::osi3::RadarSensorView_Reflection* mutable_reflection(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::osi3::RadarSensorView_Reflection >*
      mutable_reflection();
  private:
  const ::osi3::RadarSensorView_Reflection& _internal_reflection(int index) const;
  ::osi3::RadarSensorView_Reflection* _internal_add_reflection();
  public:
  const ::osi3::RadarSensorView_Reflection& reflection(int index) const;
  ::osi3::RadarSensorView_Reflection* add_reflection();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::osi3::RadarSensorView_Reflection >&
      reflection() const;

  // .osi3.RadarSensorViewConfiguration view_configuration = 1;
  bool has_view_configuration() const;
  private:
  bool _internal_has_view_configuration() const;
  public:
  void clear_view_configuration();
  const ::osi3::RadarSensorViewConfiguration& view_configuration() const;
  ::osi3::RadarSensorViewConfiguration* release_view_configuration();
  ::osi3::RadarSensorViewConfiguration* mutable_view_configuration();
  void set_allocated_view_configuration(::osi3::RadarSensorViewConfiguration* view_configuration);
  private:
  const ::osi3::RadarSensorViewConfiguration& _internal_view_configuration() const;
  ::osi3::RadarSensorViewConfiguration* _internal_mutable_view_configuration();
  public:
  void unsafe_arena_set_allocated_view_configuration(
      ::osi3::RadarSensorViewConfiguration* view_configuration);
  ::osi3::RadarSensorViewConfiguration* unsafe_arena_release_view_configuration();

  // @@protoc_insertion_point(class_scope:osi3.RadarSensorView)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::osi3::RadarSensorView_Reflection > reflection_;
  ::osi3::RadarSensorViewConfiguration* view_configuration_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_osi_5fsensorview_2eproto;
};
// -------------------------------------------------------------------

class LidarSensorView_Reflection PROTOBUF_FINAL :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:osi3.LidarSensorView.Reflection) */ {
 public:
  inline LidarSensorView_Reflection() : LidarSensorView_Reflection(nullptr) {}
  virtual ~LidarSensorView_Reflection();
  explicit constexpr LidarSensorView_Reflection(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

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

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

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

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

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

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

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

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

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

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
  private:
  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
    return ::descriptor_table_osi_5fsensorview_2eproto_metadata_getter(kIndexInFileMessages);
  }

  public:

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

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

  enum : int {
    kNormalToSurfaceFieldNumber = 5,
    kObjectIdFieldNumber = 6,
    kSignalStrengthFieldNumber = 1,
    kTimeOfFlightFieldNumber = 2,
    kDopplerShiftFieldNumber = 3,
  };
  // .osi3.Vector3d normal_to_surface = 5;
  bool has_normal_to_surface() const;
  private:
  bool _internal_has_normal_to_surface() const;
  public:
  void clear_normal_to_surface();
  const ::osi3::Vector3d& normal_to_surface() const;
  ::osi3::Vector3d* release_normal_to_surface();
  ::osi3::Vector3d* mutable_normal_to_surface();
  void set_allocated_normal_to_surface(::osi3::Vector3d* normal_to_surface);
  private:
  const ::osi3::Vector3d& _internal_normal_to_surface() const;
  ::osi3::Vector3d* _internal_mutable_normal_to_surface();
  public:
  void unsafe_arena_set_allocated_normal_to_surface(
      ::osi3::Vector3d* normal_to_surface);
  ::osi3::Vector3d* unsafe_arena_release_normal_to_surface();

  // .osi3.Identifier object_id = 6;
  bool has_object_id() const;
  private:
  bool _internal_has_object_id() const;
  public:
  void clear_object_id();
  const ::osi3::Identifier& object_id() const;
  ::osi3::Identifier* release_object_id();
  ::osi3::Identifier* mutable_object_id();
  void set_allocated_object_id(::osi3::Identifier* object_id);
  private:
  const ::osi3::Identifier& _internal_object_id() const;
  ::osi3::Identifier* _internal_mutable_object_id();
  public:
  void unsafe_arena_set_allocated_object_id(
      ::osi3::Identifier* object_id);
  ::osi3::Identifier* unsafe_arena_release_object_id();

  // double signal_strength = 1;
  void clear_signal_strength();
  double signal_strength() const;
  void set_signal_strength(double value);
  private:
  double _internal_signal_strength() const;
  void _internal_set_signal_strength(double value);
  public:

  // double time_of_flight = 2;
  void clear_time_of_flight();
  double time_of_flight() const;
  void set_time_of_flight(double value);
  private:
  double _internal_time_of_flight() const;
  void _internal_set_time_of_flight(double value);
  public:

  // double doppler_shift = 3;
  void clear_doppler_shift();
  double doppler_shift() const;
  void set_doppler_shift(double value);
  private:
  double _internal_doppler_shift() const;
  void _internal_set_doppler_shift(double value);
  public:

  // @@protoc_insertion_point(class_scope:osi3.LidarSensorView.Reflection)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::osi3::Vector3d* normal_to_surface_;
  ::osi3::Identifier* object_id_;
  double signal_strength_;
  double time_of_flight_;
  double doppler_shift_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_osi_5fsensorview_2eproto;
};
// -------------------------------------------------------------------

class LidarSensorView PROTOBUF_FINAL :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:osi3.LidarSensorView) */ {
 public:
  inline LidarSensorView() : LidarSensorView(nullptr) {}
  virtual ~LidarSensorView();
  explicit constexpr LidarSensorView(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

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

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

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

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

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

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

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

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

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

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
  private:
  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
    return ::descriptor_table_osi_5fsensorview_2eproto_metadata_getter(kIndexInFileMessages);
  }

  public:

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

  typedef LidarSensorView_Reflection Reflection;

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

  enum : int {
    kReflectionFieldNumber = 2,
    kViewConfigurationFieldNumber = 1,
  };
  // repeated .osi3.LidarSensorView.Reflection reflection = 2;
  int reflection_size() const;
  private:
  int _internal_reflection_size() const;
  public:
  void clear_reflection();
  ::osi3::LidarSensorView_Reflection* mutable_reflection(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::osi3::LidarSensorView_Reflection >*
      mutable_reflection();
  private:
  const ::osi3::LidarSensorView_Reflection& _internal_reflection(int index) const;
  ::osi3::LidarSensorView_Reflection* _internal_add_reflection();
  public:
  const ::osi3::LidarSensorView_Reflection& reflection(int index) const;
  ::osi3::LidarSensorView_Reflection* add_reflection();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::osi3::LidarSensorView_Reflection >&
      reflection() const;

  // .osi3.LidarSensorViewConfiguration view_configuration = 1;
  bool has_view_configuration() const;
  private:
  bool _internal_has_view_configuration() const;
  public:
  void clear_view_configuration();
  const ::osi3::LidarSensorViewConfiguration& view_configuration() const;
  ::osi3::LidarSensorViewConfiguration* release_view_configuration();
  ::osi3::LidarSensorViewConfiguration* mutable_view_configuration();
  void set_allocated_view_configuration(::osi3::LidarSensorViewConfiguration* view_configuration);
  private:
  const ::osi3::LidarSensorViewConfiguration& _internal_view_configuration() const;
  ::osi3::LidarSensorViewConfiguration* _internal_mutable_view_configuration();
  public:
  void unsafe_arena_set_allocated_view_configuration(
      ::osi3::LidarSensorViewConfiguration* view_configuration);
  ::osi3::LidarSensorViewConfiguration* unsafe_arena_release_view_configuration();

  // @@protoc_insertion_point(class_scope:osi3.LidarSensorView)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::osi3::LidarSensorView_Reflection > reflection_;
  ::osi3::LidarSensorViewConfiguration* view_configuration_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_osi_5fsensorview_2eproto;
};
// -------------------------------------------------------------------

class CameraSensorView PROTOBUF_FINAL :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:osi3.CameraSensorView) */ {
 public:
  inline CameraSensorView() : CameraSensorView(nullptr) {}
  virtual ~CameraSensorView();
  explicit constexpr CameraSensorView(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

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

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

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return GetMetadataStatic().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return GetMetadataStatic().reflection;
  }
  static const CameraSensorView& default_instance() {
    return *internal_default_instance();
  }
  static inline const CameraSensorView* internal_default_instance() {
    return reinterpret_cast<const CameraSensorView*>(
               &_CameraSensorView_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    6;

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

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

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

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

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

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

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
  private:
  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
    return ::descriptor_table_osi_5fsensorview_2eproto_metadata_getter(kIndexInFileMessages);
  }

  public:

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

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

  enum : int {
    kImageDataFieldNumber = 2,
    kViewConfigurationFieldNumber = 1,
  };
  // bytes image_data = 2;
  void clear_image_data();
  const std::string& image_data() const;
  void set_image_data(const std::string& value);
  void set_image_data(std::string&& value);
  void set_image_data(const char* value);
  void set_image_data(const void* value, size_t size);
  std::string* mutable_image_data();
  std::string* release_image_data();
  void set_allocated_image_data(std::string* image_data);
  private:
  const std::string& _internal_image_data() const;
  void _internal_set_image_data(const std::string& value);
  std::string* _internal_mutable_image_data();
  public:

  // .osi3.CameraSensorViewConfiguration view_configuration = 1;
  bool has_view_configuration() const;
  private:
  bool _internal_has_view_configuration() const;
  public:
  void clear_view_configuration();
  const ::osi3::CameraSensorViewConfiguration& view_configuration() const;
  ::osi3::CameraSensorViewConfiguration* release_view_configuration();
  ::osi3::CameraSensorViewConfiguration* mutable_view_configuration();
  void set_allocated_view_configuration(::osi3::CameraSensorViewConfiguration* view_configuration);
  private:
  const ::osi3::CameraSensorViewConfiguration& _internal_view_configuration() const;
  ::osi3::CameraSensorViewConfiguration* _internal_mutable_view_configuration();
  public:
  void unsafe_arena_set_allocated_view_configuration(
      ::osi3::CameraSensorViewConfiguration* view_configuration);
  ::osi3::CameraSensorViewConfiguration* unsafe_arena_release_view_configuration();

  // @@protoc_insertion_point(class_scope:osi3.CameraSensorView)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr image_data_;
  ::osi3::CameraSensorViewConfiguration* view_configuration_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_osi_5fsensorview_2eproto;
};
// -------------------------------------------------------------------

class UltrasonicSensorView PROTOBUF_FINAL :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:osi3.UltrasonicSensorView) */ {
 public:
  inline UltrasonicSensorView() : UltrasonicSensorView(nullptr) {}
  virtual ~UltrasonicSensorView();
  explicit constexpr UltrasonicSensorView(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

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

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

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return GetMetadataStatic().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return GetMetadataStatic().reflection;
  }
  static const UltrasonicSensorView& default_instance() {
    return *internal_default_instance();
  }
  static inline const UltrasonicSensorView* internal_default_instance() {
    return reinterpret_cast<const UltrasonicSensorView*>(
               &_UltrasonicSensorView_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    7;

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

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

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

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

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

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

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
  private:
  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
    return ::descriptor_table_osi_5fsensorview_2eproto_metadata_getter(kIndexInFileMessages);
  }

  public:

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

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

  enum : int {
    kViewConfigurationFieldNumber = 1,
  };
  // .osi3.UltrasonicSensorViewConfiguration view_configuration = 1;
  bool has_view_configuration() const;
  private:
  bool _internal_has_view_configuration() const;
  public:
  void clear_view_configuration();
  const ::osi3::UltrasonicSensorViewConfiguration& view_configuration() const;
  ::osi3::UltrasonicSensorViewConfiguration* release_view_configuration();
  ::osi3::UltrasonicSensorViewConfiguration* mutable_view_configuration();
  void set_allocated_view_configuration(::osi3::UltrasonicSensorViewConfiguration* view_configuration);
  private:
  const ::osi3::UltrasonicSensorViewConfiguration& _internal_view_configuration() const;
  ::osi3::UltrasonicSensorViewConfiguration* _internal_mutable_view_configuration();
  public:
  void unsafe_arena_set_allocated_view_configuration(
      ::osi3::UltrasonicSensorViewConfiguration* view_configuration);
  ::osi3::UltrasonicSensorViewConfiguration* unsafe_arena_release_view_configuration();

  // @@protoc_insertion_point(class_scope:osi3.UltrasonicSensorView)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::osi3::UltrasonicSensorViewConfiguration* view_configuration_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_osi_5fsensorview_2eproto;
};
// ===================================================================


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

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

// .osi3.InterfaceVersion version = 1;
inline bool SensorView::_internal_has_version() const {
  return this != internal_default_instance() && version_ != nullptr;
}
inline bool SensorView::has_version() const {
  return _internal_has_version();
}
inline const ::osi3::InterfaceVersion& SensorView::_internal_version() const {
  const ::osi3::InterfaceVersion* p = version_;
  return p != nullptr ? *p : reinterpret_cast<const ::osi3::InterfaceVersion&>(
      ::osi3::_InterfaceVersion_default_instance_);
}
inline const ::osi3::InterfaceVersion& SensorView::version() const {
  // @@protoc_insertion_point(field_get:osi3.SensorView.version)
  return _internal_version();
}
inline void SensorView::unsafe_arena_set_allocated_version(
    ::osi3::InterfaceVersion* version) {
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(version_);
  }
  version_ = version;
  if (version) {
    
  } else {
    
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:osi3.SensorView.version)
}
inline ::osi3::InterfaceVersion* SensorView::release_version() {
  
  ::osi3::InterfaceVersion* temp = version_;
  version_ = nullptr;
  if (GetArena() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
  return temp;
}
inline ::osi3::InterfaceVersion* SensorView::unsafe_arena_release_version() {
  // @@protoc_insertion_point(field_release:osi3.SensorView.version)
  
  ::osi3::InterfaceVersion* temp = version_;
  version_ = nullptr;
  return temp;
}
inline ::osi3::InterfaceVersion* SensorView::_internal_mutable_version() {
  
  if (version_ == nullptr) {
    auto* p = CreateMaybeMessage<::osi3::InterfaceVersion>(GetArena());
    version_ = p;
  }
  return version_;
}
inline ::osi3::InterfaceVersion* SensorView::mutable_version() {
  // @@protoc_insertion_point(field_mutable:osi3.SensorView.version)
  return _internal_mutable_version();
}
inline void SensorView::set_allocated_version(::osi3::InterfaceVersion* version) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  if (message_arena == nullptr) {
    delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(version_);
  }
  if (version) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(version)->GetArena();
    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:osi3.SensorView.version)
}

// .osi3.Timestamp timestamp = 2;
inline bool SensorView::_internal_has_timestamp() const {
  return this != internal_default_instance() && timestamp_ != nullptr;
}
inline bool SensorView::has_timestamp() const {
  return _internal_has_timestamp();
}
inline const ::osi3::Timestamp& SensorView::_internal_timestamp() const {
  const ::osi3::Timestamp* p = timestamp_;
  return p != nullptr ? *p : reinterpret_cast<const ::osi3::Timestamp&>(
      ::osi3::_Timestamp_default_instance_);
}
inline const ::osi3::Timestamp& SensorView::timestamp() const {
  // @@protoc_insertion_point(field_get:osi3.SensorView.timestamp)
  return _internal_timestamp();
}
inline void SensorView::unsafe_arena_set_allocated_timestamp(
    ::osi3::Timestamp* timestamp) {
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(timestamp_);
  }
  timestamp_ = timestamp;
  if (timestamp) {
    
  } else {
    
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:osi3.SensorView.timestamp)
}
inline ::osi3::Timestamp* SensorView::release_timestamp() {
  
  ::osi3::Timestamp* temp = timestamp_;
  timestamp_ = nullptr;
  if (GetArena() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
  return temp;
}
inline ::osi3::Timestamp* SensorView::unsafe_arena_release_timestamp() {
  // @@protoc_insertion_point(field_release:osi3.SensorView.timestamp)
  
  ::osi3::Timestamp* temp = timestamp_;
  timestamp_ = nullptr;
  return temp;
}
inline ::osi3::Timestamp* SensorView::_internal_mutable_timestamp() {
  
  if (timestamp_ == nullptr) {
    auto* p = CreateMaybeMessage<::osi3::Timestamp>(GetArena());
    timestamp_ = p;
  }
  return timestamp_;
}
inline ::osi3::Timestamp* SensorView::mutable_timestamp() {
  // @@protoc_insertion_point(field_mutable:osi3.SensorView.timestamp)
  return _internal_mutable_timestamp();
}
inline void SensorView::set_allocated_timestamp(::osi3::Timestamp* timestamp) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  if (message_arena == nullptr) {
    delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(timestamp_);
  }
  if (timestamp) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(timestamp)->GetArena();
    if (message_arena != submessage_arena) {
      timestamp = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, timestamp, submessage_arena);
    }
    
  } else {
    
  }
  timestamp_ = timestamp;
  // @@protoc_insertion_point(field_set_allocated:osi3.SensorView.timestamp)
}

// .osi3.Identifier sensor_id = 3;
inline bool SensorView::_internal_has_sensor_id() const {
  return this != internal_default_instance() && sensor_id_ != nullptr;
}
inline bool SensorView::has_sensor_id() const {
  return _internal_has_sensor_id();
}
inline const ::osi3::Identifier& SensorView::_internal_sensor_id() const {
  const ::osi3::Identifier* p = sensor_id_;
  return p != nullptr ? *p : reinterpret_cast<const ::osi3::Identifier&>(
      ::osi3::_Identifier_default_instance_);
}
inline const ::osi3::Identifier& SensorView::sensor_id() const {
  // @@protoc_insertion_point(field_get:osi3.SensorView.sensor_id)
  return _internal_sensor_id();
}
inline void SensorView::unsafe_arena_set_allocated_sensor_id(
    ::osi3::Identifier* sensor_id) {
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(sensor_id_);
  }
  sensor_id_ = sensor_id;
  if (sensor_id) {
    
  } else {
    
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:osi3.SensorView.sensor_id)
}
inline ::osi3::Identifier* SensorView::release_sensor_id() {
  
  ::osi3::Identifier* temp = sensor_id_;
  sensor_id_ = nullptr;
  if (GetArena() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
  return temp;
}
inline ::osi3::Identifier* SensorView::unsafe_arena_release_sensor_id() {
  // @@protoc_insertion_point(field_release:osi3.SensorView.sensor_id)
  
  ::osi3::Identifier* temp = sensor_id_;
  sensor_id_ = nullptr;
  return temp;
}
inline ::osi3::Identifier* SensorView::_internal_mutable_sensor_id() {
  
  if (sensor_id_ == nullptr) {
    auto* p = CreateMaybeMessage<::osi3::Identifier>(GetArena());
    sensor_id_ = p;
  }
  return sensor_id_;
}
inline ::osi3::Identifier* SensorView::mutable_sensor_id() {
  // @@protoc_insertion_point(field_mutable:osi3.SensorView.sensor_id)
  return _internal_mutable_sensor_id();
}
inline void SensorView::set_allocated_sensor_id(::osi3::Identifier* sensor_id) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  if (message_arena == nullptr) {
    delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(sensor_id_);
  }
  if (sensor_id) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(sensor_id)->GetArena();
    if (message_arena != submessage_arena) {
      sensor_id = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, sensor_id, submessage_arena);
    }
    
  } else {
    
  }
  sensor_id_ = sensor_id;
  // @@protoc_insertion_point(field_set_allocated:osi3.SensorView.sensor_id)
}

// .osi3.MountingPosition mounting_position = 4;
inline bool SensorView::_internal_has_mounting_position() const {
  return this != internal_default_instance() && mounting_position_ != nullptr;
}
inline bool SensorView::has_mounting_position() const {
  return _internal_has_mounting_position();
}
inline const ::osi3::MountingPosition& SensorView::_internal_mounting_position() const {
  const ::osi3::MountingPosition* p = mounting_position_;
  return p != nullptr ? *p : reinterpret_cast<const ::osi3::MountingPosition&>(
      ::osi3::_MountingPosition_default_instance_);
}
inline const ::osi3::MountingPosition& SensorView::mounting_position() const {
  // @@protoc_insertion_point(field_get:osi3.SensorView.mounting_position)
  return _internal_mounting_position();
}
inline void SensorView::unsafe_arena_set_allocated_mounting_position(
    ::osi3::MountingPosition* mounting_position) {
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(mounting_position_);
  }
  mounting_position_ = mounting_position;
  if (mounting_position) {
    
  } else {
    
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:osi3.SensorView.mounting_position)
}
inline ::osi3::MountingPosition* SensorView::release_mounting_position() {
  
  ::osi3::MountingPosition* temp = mounting_position_;
  mounting_position_ = nullptr;
  if (GetArena() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
  return temp;
}
inline ::osi3::MountingPosition* SensorView::unsafe_arena_release_mounting_position() {
  // @@protoc_insertion_point(field_release:osi3.SensorView.mounting_position)
  
  ::osi3::MountingPosition* temp = mounting_position_;
  mounting_position_ = nullptr;
  return temp;
}
inline ::osi3::MountingPosition* SensorView::_internal_mutable_mounting_position() {
  
  if (mounting_position_ == nullptr) {
    auto* p = CreateMaybeMessage<::osi3::MountingPosition>(GetArena());
    mounting_position_ = p;
  }
  return mounting_position_;
}
inline ::osi3::MountingPosition* SensorView::mutable_mounting_position() {
  // @@protoc_insertion_point(field_mutable:osi3.SensorView.mounting_position)
  return _internal_mutable_mounting_position();
}
inline void SensorView::set_allocated_mounting_position(::osi3::MountingPosition* mounting_position) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  if (message_arena == nullptr) {
    delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(mounting_position_);
  }
  if (mounting_position) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(mounting_position)->GetArena();
    if (message_arena != submessage_arena) {
      mounting_position = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, mounting_position, submessage_arena);
    }
    
  } else {
    
  }
  mounting_position_ = mounting_position;
  // @@protoc_insertion_point(field_set_allocated:osi3.SensorView.mounting_position)
}

// .osi3.MountingPosition mounting_position_rmse = 5;
inline bool SensorView::_internal_has_mounting_position_rmse() const {
  return this != internal_default_instance() && mounting_position_rmse_ != nullptr;
}
inline bool SensorView::has_mounting_position_rmse() const {
  return _internal_has_mounting_position_rmse();
}
inline const ::osi3::MountingPosition& SensorView::_internal_mounting_position_rmse() const {
  const ::osi3::MountingPosition* p = mounting_position_rmse_;
  return p != nullptr ? *p : reinterpret_cast<const ::osi3::MountingPosition&>(
      ::osi3::_MountingPosition_default_instance_);
}
inline const ::osi3::MountingPosition& SensorView::mounting_position_rmse() const {
  // @@protoc_insertion_point(field_get:osi3.SensorView.mounting_position_rmse)
  return _internal_mounting_position_rmse();
}
inline void SensorView::unsafe_arena_set_allocated_mounting_position_rmse(
    ::osi3::MountingPosition* mounting_position_rmse) {
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(mounting_position_rmse_);
  }
  mounting_position_rmse_ = mounting_position_rmse;
  if (mounting_position_rmse) {
    
  } else {
    
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:osi3.SensorView.mounting_position_rmse)
}
inline ::osi3::MountingPosition* SensorView::release_mounting_position_rmse() {
  
  ::osi3::MountingPosition* temp = mounting_position_rmse_;
  mounting_position_rmse_ = nullptr;
  if (GetArena() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
  return temp;
}
inline ::osi3::MountingPosition* SensorView::unsafe_arena_release_mounting_position_rmse() {
  // @@protoc_insertion_point(field_release:osi3.SensorView.mounting_position_rmse)
  
  ::osi3::MountingPosition* temp = mounting_position_rmse_;
  mounting_position_rmse_ = nullptr;
  return temp;
}
inline ::osi3::MountingPosition* SensorView::_internal_mutable_mounting_position_rmse() {
  
  if (mounting_position_rmse_ == nullptr) {
    auto* p = CreateMaybeMessage<::osi3::MountingPosition>(GetArena());
    mounting_position_rmse_ = p;
  }
  return mounting_position_rmse_;
}
inline ::osi3::MountingPosition* SensorView::mutable_mounting_position_rmse() {
  // @@protoc_insertion_point(field_mutable:osi3.SensorView.mounting_position_rmse)
  return _internal_mutable_mounting_position_rmse();
}
inline void SensorView::set_allocated_mounting_position_rmse(::osi3::MountingPosition* mounting_position_rmse) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  if (message_arena == nullptr) {
    delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(mounting_position_rmse_);
  }
  if (mounting_position_rmse) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(mounting_position_rmse)->GetArena();
    if (message_arena != submessage_arena) {
      mounting_position_rmse = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, mounting_position_rmse, submessage_arena);
    }
    
  } else {
    
  }
  mounting_position_rmse_ = mounting_position_rmse;
  // @@protoc_insertion_point(field_set_allocated:osi3.SensorView.mounting_position_rmse)
}

// .osi3.HostVehicleData host_vehicle_data = 6;
inline bool SensorView::_internal_has_host_vehicle_data() const {
  return this != internal_default_instance() && host_vehicle_data_ != nullptr;
}
inline bool SensorView::has_host_vehicle_data() const {
  return _internal_has_host_vehicle_data();
}
inline const ::osi3::HostVehicleData& SensorView::_internal_host_vehicle_data() const {
  const ::osi3::HostVehicleData* p = host_vehicle_data_;
  return p != nullptr ? *p : reinterpret_cast<const ::osi3::HostVehicleData&>(
      ::osi3::_HostVehicleData_default_instance_);
}
inline const ::osi3::HostVehicleData& SensorView::host_vehicle_data() const {
  // @@protoc_insertion_point(field_get:osi3.SensorView.host_vehicle_data)
  return _internal_host_vehicle_data();
}
inline void SensorView::unsafe_arena_set_allocated_host_vehicle_data(
    ::osi3::HostVehicleData* host_vehicle_data) {
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(host_vehicle_data_);
  }
  host_vehicle_data_ = host_vehicle_data;
  if (host_vehicle_data) {
    
  } else {
    
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:osi3.SensorView.host_vehicle_data)
}
inline ::osi3::HostVehicleData* SensorView::release_host_vehicle_data() {
  
  ::osi3::HostVehicleData* temp = host_vehicle_data_;
  host_vehicle_data_ = nullptr;
  if (GetArena() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
  return temp;
}
inline ::osi3::HostVehicleData* SensorView::unsafe_arena_release_host_vehicle_data() {
  // @@protoc_insertion_point(field_release:osi3.SensorView.host_vehicle_data)
  
  ::osi3::HostVehicleData* temp = host_vehicle_data_;
  host_vehicle_data_ = nullptr;
  return temp;
}
inline ::osi3::HostVehicleData* SensorView::_internal_mutable_host_vehicle_data() {
  
  if (host_vehicle_data_ == nullptr) {
    auto* p = CreateMaybeMessage<::osi3::HostVehicleData>(GetArena());
    host_vehicle_data_ = p;
  }
  return host_vehicle_data_;
}
inline ::osi3::HostVehicleData* SensorView::mutable_host_vehicle_data() {
  // @@protoc_insertion_point(field_mutable:osi3.SensorView.host_vehicle_data)
  return _internal_mutable_host_vehicle_data();
}
inline void SensorView::set_allocated_host_vehicle_data(::osi3::HostVehicleData* host_vehicle_data) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  if (message_arena == nullptr) {
    delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(host_vehicle_data_);
  }
  if (host_vehicle_data) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(host_vehicle_data)->GetArena();
    if (message_arena != submessage_arena) {
      host_vehicle_data = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, host_vehicle_data, submessage_arena);
    }
    
  } else {
    
  }
  host_vehicle_data_ = host_vehicle_data;
  // @@protoc_insertion_point(field_set_allocated:osi3.SensorView.host_vehicle_data)
}

// .osi3.GroundTruth global_ground_truth = 7;
inline bool SensorView::_internal_has_global_ground_truth() const {
  return this != internal_default_instance() && global_ground_truth_ != nullptr;
}
inline bool SensorView::has_global_ground_truth() const {
  return _internal_has_global_ground_truth();
}
inline const ::osi3::GroundTruth& SensorView::_internal_global_ground_truth() const {
  const ::osi3::GroundTruth* p = global_ground_truth_;
  return p != nullptr ? *p : reinterpret_cast<const ::osi3::GroundTruth&>(
      ::osi3::_GroundTruth_default_instance_);
}
inline const ::osi3::GroundTruth& SensorView::global_ground_truth() const {
  // @@protoc_insertion_point(field_get:osi3.SensorView.global_ground_truth)
  return _internal_global_ground_truth();
}
inline void SensorView::unsafe_arena_set_allocated_global_ground_truth(
    ::osi3::GroundTruth* global_ground_truth) {
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(global_ground_truth_);
  }
  global_ground_truth_ = global_ground_truth;
  if (global_ground_truth) {
    
  } else {
    
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:osi3.SensorView.global_ground_truth)
}
inline ::osi3::GroundTruth* SensorView::release_global_ground_truth() {
  
  ::osi3::GroundTruth* temp = global_ground_truth_;
  global_ground_truth_ = nullptr;
  if (GetArena() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
  return temp;
}
inline ::osi3::GroundTruth* SensorView::unsafe_arena_release_global_ground_truth() {
  // @@protoc_insertion_point(field_release:osi3.SensorView.global_ground_truth)
  
  ::osi3::GroundTruth* temp = global_ground_truth_;
  global_ground_truth_ = nullptr;
  return temp;
}
inline ::osi3::GroundTruth* SensorView::_internal_mutable_global_ground_truth() {
  
  if (global_ground_truth_ == nullptr) {
    auto* p = CreateMaybeMessage<::osi3::GroundTruth>(GetArena());
    global_ground_truth_ = p;
  }
  return global_ground_truth_;
}
inline ::osi3::GroundTruth* SensorView::mutable_global_ground_truth() {
  // @@protoc_insertion_point(field_mutable:osi3.SensorView.global_ground_truth)
  return _internal_mutable_global_ground_truth();
}
inline void SensorView::set_allocated_global_ground_truth(::osi3::GroundTruth* global_ground_truth) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  if (message_arena == nullptr) {
    delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(global_ground_truth_);
  }
  if (global_ground_truth) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(global_ground_truth)->GetArena();
    if (message_arena != submessage_arena) {
      global_ground_truth = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, global_ground_truth, submessage_arena);
    }
    
  } else {
    
  }
  global_ground_truth_ = global_ground_truth;
  // @@protoc_insertion_point(field_set_allocated:osi3.SensorView.global_ground_truth)
}

// .osi3.Identifier host_vehicle_id = 8;
inline bool SensorView::_internal_has_host_vehicle_id() const {
  return this != internal_default_instance() && host_vehicle_id_ != nullptr;
}
inline bool SensorView::has_host_vehicle_id() const {
  return _internal_has_host_vehicle_id();
}
inline const ::osi3::Identifier& SensorView::_internal_host_vehicle_id() const {
  const ::osi3::Identifier* p = host_vehicle_id_;
  return p != nullptr ? *p : reinterpret_cast<const ::osi3::Identifier&>(
      ::osi3::_Identifier_default_instance_);
}
inline const ::osi3::Identifier& SensorView::host_vehicle_id() const {
  // @@protoc_insertion_point(field_get:osi3.SensorView.host_vehicle_id)
  return _internal_host_vehicle_id();
}
inline void SensorView::unsafe_arena_set_allocated_host_vehicle_id(
    ::osi3::Identifier* host_vehicle_id) {
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(host_vehicle_id_);
  }
  host_vehicle_id_ = host_vehicle_id;
  if (host_vehicle_id) {
    
  } else {
    
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:osi3.SensorView.host_vehicle_id)
}
inline ::osi3::Identifier* SensorView::release_host_vehicle_id() {
  
  ::osi3::Identifier* temp = host_vehicle_id_;
  host_vehicle_id_ = nullptr;
  if (GetArena() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
  return temp;
}
inline ::osi3::Identifier* SensorView::unsafe_arena_release_host_vehicle_id() {
  // @@protoc_insertion_point(field_release:osi3.SensorView.host_vehicle_id)
  
  ::osi3::Identifier* temp = host_vehicle_id_;
  host_vehicle_id_ = nullptr;
  return temp;
}
inline ::osi3::Identifier* SensorView::_internal_mutable_host_vehicle_id() {
  
  if (host_vehicle_id_ == nullptr) {
    auto* p = CreateMaybeMessage<::osi3::Identifier>(GetArena());
    host_vehicle_id_ = p;
  }
  return host_vehicle_id_;
}
inline ::osi3::Identifier* SensorView::mutable_host_vehicle_id() {
  // @@protoc_insertion_point(field_mutable:osi3.SensorView.host_vehicle_id)
  return _internal_mutable_host_vehicle_id();
}
inline void SensorView::set_allocated_host_vehicle_id(::osi3::Identifier* host_vehicle_id) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  if (message_arena == nullptr) {
    delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(host_vehicle_id_);
  }
  if (host_vehicle_id) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(host_vehicle_id)->GetArena();
    if (message_arena != submessage_arena) {
      host_vehicle_id = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, host_vehicle_id, submessage_arena);
    }
    
  } else {
    
  }
  host_vehicle_id_ = host_vehicle_id;
  // @@protoc_insertion_point(field_set_allocated:osi3.SensorView.host_vehicle_id)
}

// repeated .osi3.GenericSensorView generic_sensor_view = 1000;
inline int SensorView::_internal_generic_sensor_view_size() const {
  return generic_sensor_view_.size();
}
inline int SensorView::generic_sensor_view_size() const {
  return _internal_generic_sensor_view_size();
}
inline void SensorView::clear_generic_sensor_view() {
  generic_sensor_view_.Clear();
}
inline ::osi3::GenericSensorView* SensorView::mutable_generic_sensor_view(int index) {
  // @@protoc_insertion_point(field_mutable:osi3.SensorView.generic_sensor_view)
  return generic_sensor_view_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::osi3::GenericSensorView >*
SensorView::mutable_generic_sensor_view() {
  // @@protoc_insertion_point(field_mutable_list:osi3.SensorView.generic_sensor_view)
  return &generic_sensor_view_;
}
inline const ::osi3::GenericSensorView& SensorView::_internal_generic_sensor_view(int index) const {
  return generic_sensor_view_.Get(index);
}
inline const ::osi3::GenericSensorView& SensorView::generic_sensor_view(int index) const {
  // @@protoc_insertion_point(field_get:osi3.SensorView.generic_sensor_view)
  return _internal_generic_sensor_view(index);
}
inline ::osi3::GenericSensorView* SensorView::_internal_add_generic_sensor_view() {
  return generic_sensor_view_.Add();
}
inline ::osi3::GenericSensorView* SensorView::add_generic_sensor_view() {
  // @@protoc_insertion_point(field_add:osi3.SensorView.generic_sensor_view)
  return _internal_add_generic_sensor_view();
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::osi3::GenericSensorView >&
SensorView::generic_sensor_view() const {
  // @@protoc_insertion_point(field_list:osi3.SensorView.generic_sensor_view)
  return generic_sensor_view_;
}

// repeated .osi3.RadarSensorView radar_sensor_view = 1001;
inline int SensorView::_internal_radar_sensor_view_size() const {
  return radar_sensor_view_.size();
}
inline int SensorView::radar_sensor_view_size() const {
  return _internal_radar_sensor_view_size();
}
inline void SensorView::clear_radar_sensor_view() {
  radar_sensor_view_.Clear();
}
inline ::osi3::RadarSensorView* SensorView::mutable_radar_sensor_view(int index) {
  // @@protoc_insertion_point(field_mutable:osi3.SensorView.radar_sensor_view)
  return radar_sensor_view_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::osi3::RadarSensorView >*
SensorView::mutable_radar_sensor_view() {
  // @@protoc_insertion_point(field_mutable_list:osi3.SensorView.radar_sensor_view)
  return &radar_sensor_view_;
}
inline const ::osi3::RadarSensorView& SensorView::_internal_radar_sensor_view(int index) const {
  return radar_sensor_view_.Get(index);
}
inline const ::osi3::RadarSensorView& SensorView::radar_sensor_view(int index) const {
  // @@protoc_insertion_point(field_get:osi3.SensorView.radar_sensor_view)
  return _internal_radar_sensor_view(index);
}
inline ::osi3::RadarSensorView* SensorView::_internal_add_radar_sensor_view() {
  return radar_sensor_view_.Add();
}
inline ::osi3::RadarSensorView* SensorView::add_radar_sensor_view() {
  // @@protoc_insertion_point(field_add:osi3.SensorView.radar_sensor_view)
  return _internal_add_radar_sensor_view();
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::osi3::RadarSensorView >&
SensorView::radar_sensor_view() const {
  // @@protoc_insertion_point(field_list:osi3.SensorView.radar_sensor_view)
  return radar_sensor_view_;
}

// repeated .osi3.LidarSensorView lidar_sensor_view = 1002;
inline int SensorView::_internal_lidar_sensor_view_size() const {
  return lidar_sensor_view_.size();
}
inline int SensorView::lidar_sensor_view_size() const {
  return _internal_lidar_sensor_view_size();
}
inline void SensorView::clear_lidar_sensor_view() {
  lidar_sensor_view_.Clear();
}
inline ::osi3::LidarSensorView* SensorView::mutable_lidar_sensor_view(int index) {
  // @@protoc_insertion_point(field_mutable:osi3.SensorView.lidar_sensor_view)
  return lidar_sensor_view_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::osi3::LidarSensorView >*
SensorView::mutable_lidar_sensor_view() {
  // @@protoc_insertion_point(field_mutable_list:osi3.SensorView.lidar_sensor_view)
  return &lidar_sensor_view_;
}
inline const ::osi3::LidarSensorView& SensorView::_internal_lidar_sensor_view(int index) const {
  return lidar_sensor_view_.Get(index);
}
inline const ::osi3::LidarSensorView& SensorView::lidar_sensor_view(int index) const {
  // @@protoc_insertion_point(field_get:osi3.SensorView.lidar_sensor_view)
  return _internal_lidar_sensor_view(index);
}
inline ::osi3::LidarSensorView* SensorView::_internal_add_lidar_sensor_view() {
  return lidar_sensor_view_.Add();
}
inline ::osi3::LidarSensorView* SensorView::add_lidar_sensor_view() {
  // @@protoc_insertion_point(field_add:osi3.SensorView.lidar_sensor_view)
  return _internal_add_lidar_sensor_view();
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::osi3::LidarSensorView >&
SensorView::lidar_sensor_view() const {
  // @@protoc_insertion_point(field_list:osi3.SensorView.lidar_sensor_view)
  return lidar_sensor_view_;
}

// repeated .osi3.CameraSensorView camera_sensor_view = 1003;
inline int SensorView::_internal_camera_sensor_view_size() const {
  return camera_sensor_view_.size();
}
inline int SensorView::camera_sensor_view_size() const {
  return _internal_camera_sensor_view_size();
}
inline void SensorView::clear_camera_sensor_view() {
  camera_sensor_view_.Clear();
}
inline ::osi3::CameraSensorView* SensorView::mutable_camera_sensor_view(int index) {
  // @@protoc_insertion_point(field_mutable:osi3.SensorView.camera_sensor_view)
  return camera_sensor_view_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::osi3::CameraSensorView >*
SensorView::mutable_camera_sensor_view() {
  // @@protoc_insertion_point(field_mutable_list:osi3.SensorView.camera_sensor_view)
  return &camera_sensor_view_;
}
inline const ::osi3::CameraSensorView& SensorView::_internal_camera_sensor_view(int index) const {
  return camera_sensor_view_.Get(index);
}
inline const ::osi3::CameraSensorView& SensorView::camera_sensor_view(int index) const {
  // @@protoc_insertion_point(field_get:osi3.SensorView.camera_sensor_view)
  return _internal_camera_sensor_view(index);
}
inline ::osi3::CameraSensorView* SensorView::_internal_add_camera_sensor_view() {
  return camera_sensor_view_.Add();
}
inline ::osi3::CameraSensorView* SensorView::add_camera_sensor_view() {
  // @@protoc_insertion_point(field_add:osi3.SensorView.camera_sensor_view)
  return _internal_add_camera_sensor_view();
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::osi3::CameraSensorView >&
SensorView::camera_sensor_view() const {
  // @@protoc_insertion_point(field_list:osi3.SensorView.camera_sensor_view)
  return camera_sensor_view_;
}

// repeated .osi3.UltrasonicSensorView ultrasonic_sensor_view = 1004;
inline int SensorView::_internal_ultrasonic_sensor_view_size() const {
  return ultrasonic_sensor_view_.size();
}
inline int SensorView::ultrasonic_sensor_view_size() const {
  return _internal_ultrasonic_sensor_view_size();
}
inline void SensorView::clear_ultrasonic_sensor_view() {
  ultrasonic_sensor_view_.Clear();
}
inline ::osi3::UltrasonicSensorView* SensorView::mutable_ultrasonic_sensor_view(int index) {
  // @@protoc_insertion_point(field_mutable:osi3.SensorView.ultrasonic_sensor_view)
  return ultrasonic_sensor_view_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::osi3::UltrasonicSensorView >*
SensorView::mutable_ultrasonic_sensor_view() {
  // @@protoc_insertion_point(field_mutable_list:osi3.SensorView.ultrasonic_sensor_view)
  return &ultrasonic_sensor_view_;
}
inline const ::osi3::UltrasonicSensorView& SensorView::_internal_ultrasonic_sensor_view(int index) const {
  return ultrasonic_sensor_view_.Get(index);
}
inline const ::osi3::UltrasonicSensorView& SensorView::ultrasonic_sensor_view(int index) const {
  // @@protoc_insertion_point(field_get:osi3.SensorView.ultrasonic_sensor_view)
  return _internal_ultrasonic_sensor_view(index);
}
inline ::osi3::UltrasonicSensorView* SensorView::_internal_add_ultrasonic_sensor_view() {
  return ultrasonic_sensor_view_.Add();
}
inline ::osi3::UltrasonicSensorView* SensorView::add_ultrasonic_sensor_view() {
  // @@protoc_insertion_point(field_add:osi3.SensorView.ultrasonic_sensor_view)
  return _internal_add_ultrasonic_sensor_view();
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::osi3::UltrasonicSensorView >&
SensorView::ultrasonic_sensor_view() const {
  // @@protoc_insertion_point(field_list:osi3.SensorView.ultrasonic_sensor_view)
  return ultrasonic_sensor_view_;
}

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

// GenericSensorView

// .osi3.GenericSensorViewConfiguration view_configuration = 1;
inline bool GenericSensorView::_internal_has_view_configuration() const {
  return this != internal_default_instance() && view_configuration_ != nullptr;
}
inline bool GenericSensorView::has_view_configuration() const {
  return _internal_has_view_configuration();
}
inline const ::osi3::GenericSensorViewConfiguration& GenericSensorView::_internal_view_configuration() const {
  const ::osi3::GenericSensorViewConfiguration* p = view_configuration_;
  return p != nullptr ? *p : reinterpret_cast<const ::osi3::GenericSensorViewConfiguration&>(
      ::osi3::_GenericSensorViewConfiguration_default_instance_);
}
inline const ::osi3::GenericSensorViewConfiguration& GenericSensorView::view_configuration() const {
  // @@protoc_insertion_point(field_get:osi3.GenericSensorView.view_configuration)
  return _internal_view_configuration();
}
inline void GenericSensorView::unsafe_arena_set_allocated_view_configuration(
    ::osi3::GenericSensorViewConfiguration* view_configuration) {
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(view_configuration_);
  }
  view_configuration_ = view_configuration;
  if (view_configuration) {
    
  } else {
    
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:osi3.GenericSensorView.view_configuration)
}
inline ::osi3::GenericSensorViewConfiguration* GenericSensorView::release_view_configuration() {
  
  ::osi3::GenericSensorViewConfiguration* temp = view_configuration_;
  view_configuration_ = nullptr;
  if (GetArena() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
  return temp;
}
inline ::osi3::GenericSensorViewConfiguration* GenericSensorView::unsafe_arena_release_view_configuration() {
  // @@protoc_insertion_point(field_release:osi3.GenericSensorView.view_configuration)
  
  ::osi3::GenericSensorViewConfiguration* temp = view_configuration_;
  view_configuration_ = nullptr;
  return temp;
}
inline ::osi3::GenericSensorViewConfiguration* GenericSensorView::_internal_mutable_view_configuration() {
  
  if (view_configuration_ == nullptr) {
    auto* p = CreateMaybeMessage<::osi3::GenericSensorViewConfiguration>(GetArena());
    view_configuration_ = p;
  }
  return view_configuration_;
}
inline ::osi3::GenericSensorViewConfiguration* GenericSensorView::mutable_view_configuration() {
  // @@protoc_insertion_point(field_mutable:osi3.GenericSensorView.view_configuration)
  return _internal_mutable_view_configuration();
}
inline void GenericSensorView::set_allocated_view_configuration(::osi3::GenericSensorViewConfiguration* view_configuration) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  if (message_arena == nullptr) {
    delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(view_configuration_);
  }
  if (view_configuration) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(view_configuration)->GetArena();
    if (message_arena != submessage_arena) {
      view_configuration = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, view_configuration, submessage_arena);
    }
    
  } else {
    
  }
  view_configuration_ = view_configuration;
  // @@protoc_insertion_point(field_set_allocated:osi3.GenericSensorView.view_configuration)
}

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

// RadarSensorView_Reflection

// double signal_strength = 1;
inline void RadarSensorView_Reflection::clear_signal_strength() {
  signal_strength_ = 0;
}
inline double RadarSensorView_Reflection::_internal_signal_strength() const {
  return signal_strength_;
}
inline double RadarSensorView_Reflection::signal_strength() const {
  // @@protoc_insertion_point(field_get:osi3.RadarSensorView.Reflection.signal_strength)
  return _internal_signal_strength();
}
inline void RadarSensorView_Reflection::_internal_set_signal_strength(double value) {
  
  signal_strength_ = value;
}
inline void RadarSensorView_Reflection::set_signal_strength(double value) {
  _internal_set_signal_strength(value);
  // @@protoc_insertion_point(field_set:osi3.RadarSensorView.Reflection.signal_strength)
}

// double time_of_flight = 2;
inline void RadarSensorView_Reflection::clear_time_of_flight() {
  time_of_flight_ = 0;
}
inline double RadarSensorView_Reflection::_internal_time_of_flight() const {
  return time_of_flight_;
}
inline double RadarSensorView_Reflection::time_of_flight() const {
  // @@protoc_insertion_point(field_get:osi3.RadarSensorView.Reflection.time_of_flight)
  return _internal_time_of_flight();
}
inline void RadarSensorView_Reflection::_internal_set_time_of_flight(double value) {
  
  time_of_flight_ = value;
}
inline void RadarSensorView_Reflection::set_time_of_flight(double value) {
  _internal_set_time_of_flight(value);
  // @@protoc_insertion_point(field_set:osi3.RadarSensorView.Reflection.time_of_flight)
}

// double doppler_shift = 3;
inline void RadarSensorView_Reflection::clear_doppler_shift() {
  doppler_shift_ = 0;
}
inline double RadarSensorView_Reflection::_internal_doppler_shift() const {
  return doppler_shift_;
}
inline double RadarSensorView_Reflection::doppler_shift() const {
  // @@protoc_insertion_point(field_get:osi3.RadarSensorView.Reflection.doppler_shift)
  return _internal_doppler_shift();
}
inline void RadarSensorView_Reflection::_internal_set_doppler_shift(double value) {
  
  doppler_shift_ = value;
}
inline void RadarSensorView_Reflection::set_doppler_shift(double value) {
  _internal_set_doppler_shift(value);
  // @@protoc_insertion_point(field_set:osi3.RadarSensorView.Reflection.doppler_shift)
}

// double source_horizontal_angle = 4;
inline void RadarSensorView_Reflection::clear_source_horizontal_angle() {
  source_horizontal_angle_ = 0;
}
inline double RadarSensorView_Reflection::_internal_source_horizontal_angle() const {
  return source_horizontal_angle_;
}
inline double RadarSensorView_Reflection::source_horizontal_angle() const {
  // @@protoc_insertion_point(field_get:osi3.RadarSensorView.Reflection.source_horizontal_angle)
  return _internal_source_horizontal_angle();
}
inline void RadarSensorView_Reflection::_internal_set_source_horizontal_angle(double value) {
  
  source_horizontal_angle_ = value;
}
inline void RadarSensorView_Reflection::set_source_horizontal_angle(double value) {
  _internal_set_source_horizontal_angle(value);
  // @@protoc_insertion_point(field_set:osi3.RadarSensorView.Reflection.source_horizontal_angle)
}

// double source_vertical_angle = 5;
inline void RadarSensorView_Reflection::clear_source_vertical_angle() {
  source_vertical_angle_ = 0;
}
inline double RadarSensorView_Reflection::_internal_source_vertical_angle() const {
  return source_vertical_angle_;
}
inline double RadarSensorView_Reflection::source_vertical_angle() const {
  // @@protoc_insertion_point(field_get:osi3.RadarSensorView.Reflection.source_vertical_angle)
  return _internal_source_vertical_angle();
}
inline void RadarSensorView_Reflection::_internal_set_source_vertical_angle(double value) {
  
  source_vertical_angle_ = value;
}
inline void RadarSensorView_Reflection::set_source_vertical_angle(double value) {
  _internal_set_source_vertical_angle(value);
  // @@protoc_insertion_point(field_set:osi3.RadarSensorView.Reflection.source_vertical_angle)
}

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

// RadarSensorView

// .osi3.RadarSensorViewConfiguration view_configuration = 1;
inline bool RadarSensorView::_internal_has_view_configuration() const {
  return this != internal_default_instance() && view_configuration_ != nullptr;
}
inline bool RadarSensorView::has_view_configuration() const {
  return _internal_has_view_configuration();
}
inline const ::osi3::RadarSensorViewConfiguration& RadarSensorView::_internal_view_configuration() const {
  const ::osi3::RadarSensorViewConfiguration* p = view_configuration_;
  return p != nullptr ? *p : reinterpret_cast<const ::osi3::RadarSensorViewConfiguration&>(
      ::osi3::_RadarSensorViewConfiguration_default_instance_);
}
inline const ::osi3::RadarSensorViewConfiguration& RadarSensorView::view_configuration() const {
  // @@protoc_insertion_point(field_get:osi3.RadarSensorView.view_configuration)
  return _internal_view_configuration();
}
inline void RadarSensorView::unsafe_arena_set_allocated_view_configuration(
    ::osi3::RadarSensorViewConfiguration* view_configuration) {
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(view_configuration_);
  }
  view_configuration_ = view_configuration;
  if (view_configuration) {
    
  } else {
    
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:osi3.RadarSensorView.view_configuration)
}
inline ::osi3::RadarSensorViewConfiguration* RadarSensorView::release_view_configuration() {
  
  ::osi3::RadarSensorViewConfiguration* temp = view_configuration_;
  view_configuration_ = nullptr;
  if (GetArena() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
  return temp;
}
inline ::osi3::RadarSensorViewConfiguration* RadarSensorView::unsafe_arena_release_view_configuration() {
  // @@protoc_insertion_point(field_release:osi3.RadarSensorView.view_configuration)
  
  ::osi3::RadarSensorViewConfiguration* temp = view_configuration_;
  view_configuration_ = nullptr;
  return temp;
}
inline ::osi3::RadarSensorViewConfiguration* RadarSensorView::_internal_mutable_view_configuration() {
  
  if (view_configuration_ == nullptr) {
    auto* p = CreateMaybeMessage<::osi3::RadarSensorViewConfiguration>(GetArena());
    view_configuration_ = p;
  }
  return view_configuration_;
}
inline ::osi3::RadarSensorViewConfiguration* RadarSensorView::mutable_view_configuration() {
  // @@protoc_insertion_point(field_mutable:osi3.RadarSensorView.view_configuration)
  return _internal_mutable_view_configuration();
}
inline void RadarSensorView::set_allocated_view_configuration(::osi3::RadarSensorViewConfiguration* view_configuration) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  if (message_arena == nullptr) {
    delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(view_configuration_);
  }
  if (view_configuration) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(view_configuration)->GetArena();
    if (message_arena != submessage_arena) {
      view_configuration = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, view_configuration, submessage_arena);
    }
    
  } else {
    
  }
  view_configuration_ = view_configuration;
  // @@protoc_insertion_point(field_set_allocated:osi3.RadarSensorView.view_configuration)
}

// repeated .osi3.RadarSensorView.Reflection reflection = 2;
inline int RadarSensorView::_internal_reflection_size() const {
  return reflection_.size();
}
inline int RadarSensorView::reflection_size() const {
  return _internal_reflection_size();
}
inline void RadarSensorView::clear_reflection() {
  reflection_.Clear();
}
inline ::osi3::RadarSensorView_Reflection* RadarSensorView::mutable_reflection(int index) {
  // @@protoc_insertion_point(field_mutable:osi3.RadarSensorView.reflection)
  return reflection_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::osi3::RadarSensorView_Reflection >*
RadarSensorView::mutable_reflection() {
  // @@protoc_insertion_point(field_mutable_list:osi3.RadarSensorView.reflection)
  return &reflection_;
}
inline const ::osi3::RadarSensorView_Reflection& RadarSensorView::_internal_reflection(int index) const {
  return reflection_.Get(index);
}
inline const ::osi3::RadarSensorView_Reflection& RadarSensorView::reflection(int index) const {
  // @@protoc_insertion_point(field_get:osi3.RadarSensorView.reflection)
  return _internal_reflection(index);
}
inline ::osi3::RadarSensorView_Reflection* RadarSensorView::_internal_add_reflection() {
  return reflection_.Add();
}
inline ::osi3::RadarSensorView_Reflection* RadarSensorView::add_reflection() {
  // @@protoc_insertion_point(field_add:osi3.RadarSensorView.reflection)
  return _internal_add_reflection();
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::osi3::RadarSensorView_Reflection >&
RadarSensorView::reflection() const {
  // @@protoc_insertion_point(field_list:osi3.RadarSensorView.reflection)
  return reflection_;
}

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

// LidarSensorView_Reflection

// double signal_strength = 1;
inline void LidarSensorView_Reflection::clear_signal_strength() {
  signal_strength_ = 0;
}
inline double LidarSensorView_Reflection::_internal_signal_strength() const {
  return signal_strength_;
}
inline double LidarSensorView_Reflection::signal_strength() const {
  // @@protoc_insertion_point(field_get:osi3.LidarSensorView.Reflection.signal_strength)
  return _internal_signal_strength();
}
inline void LidarSensorView_Reflection::_internal_set_signal_strength(double value) {
  
  signal_strength_ = value;
}
inline void LidarSensorView_Reflection::set_signal_strength(double value) {
  _internal_set_signal_strength(value);
  // @@protoc_insertion_point(field_set:osi3.LidarSensorView.Reflection.signal_strength)
}

// double time_of_flight = 2;
inline void LidarSensorView_Reflection::clear_time_of_flight() {
  time_of_flight_ = 0;
}
inline double LidarSensorView_Reflection::_internal_time_of_flight() const {
  return time_of_flight_;
}
inline double LidarSensorView_Reflection::time_of_flight() const {
  // @@protoc_insertion_point(field_get:osi3.LidarSensorView.Reflection.time_of_flight)
  return _internal_time_of_flight();
}
inline void LidarSensorView_Reflection::_internal_set_time_of_flight(double value) {
  
  time_of_flight_ = value;
}
inline void LidarSensorView_Reflection::set_time_of_flight(double value) {
  _internal_set_time_of_flight(value);
  // @@protoc_insertion_point(field_set:osi3.LidarSensorView.Reflection.time_of_flight)
}

// double doppler_shift = 3;
inline void LidarSensorView_Reflection::clear_doppler_shift() {
  doppler_shift_ = 0;
}
inline double LidarSensorView_Reflection::_internal_doppler_shift() const {
  return doppler_shift_;
}
inline double LidarSensorView_Reflection::doppler_shift() const {
  // @@protoc_insertion_point(field_get:osi3.LidarSensorView.Reflection.doppler_shift)
  return _internal_doppler_shift();
}
inline void LidarSensorView_Reflection::_internal_set_doppler_shift(double value) {
  
  doppler_shift_ = value;
}
inline void LidarSensorView_Reflection::set_doppler_shift(double value) {
  _internal_set_doppler_shift(value);
  // @@protoc_insertion_point(field_set:osi3.LidarSensorView.Reflection.doppler_shift)
}

// .osi3.Vector3d normal_to_surface = 5;
inline bool LidarSensorView_Reflection::_internal_has_normal_to_surface() const {
  return this != internal_default_instance() && normal_to_surface_ != nullptr;
}
inline bool LidarSensorView_Reflection::has_normal_to_surface() const {
  return _internal_has_normal_to_surface();
}
inline const ::osi3::Vector3d& LidarSensorView_Reflection::_internal_normal_to_surface() const {
  const ::osi3::Vector3d* p = normal_to_surface_;
  return p != nullptr ? *p : reinterpret_cast<const ::osi3::Vector3d&>(
      ::osi3::_Vector3d_default_instance_);
}
inline const ::osi3::Vector3d& LidarSensorView_Reflection::normal_to_surface() const {
  // @@protoc_insertion_point(field_get:osi3.LidarSensorView.Reflection.normal_to_surface)
  return _internal_normal_to_surface();
}
inline void LidarSensorView_Reflection::unsafe_arena_set_allocated_normal_to_surface(
    ::osi3::Vector3d* normal_to_surface) {
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(normal_to_surface_);
  }
  normal_to_surface_ = normal_to_surface;
  if (normal_to_surface) {
    
  } else {
    
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:osi3.LidarSensorView.Reflection.normal_to_surface)
}
inline ::osi3::Vector3d* LidarSensorView_Reflection::release_normal_to_surface() {
  
  ::osi3::Vector3d* temp = normal_to_surface_;
  normal_to_surface_ = nullptr;
  if (GetArena() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
  return temp;
}
inline ::osi3::Vector3d* LidarSensorView_Reflection::unsafe_arena_release_normal_to_surface() {
  // @@protoc_insertion_point(field_release:osi3.LidarSensorView.Reflection.normal_to_surface)
  
  ::osi3::Vector3d* temp = normal_to_surface_;
  normal_to_surface_ = nullptr;
  return temp;
}
inline ::osi3::Vector3d* LidarSensorView_Reflection::_internal_mutable_normal_to_surface() {
  
  if (normal_to_surface_ == nullptr) {
    auto* p = CreateMaybeMessage<::osi3::Vector3d>(GetArena());
    normal_to_surface_ = p;
  }
  return normal_to_surface_;
}
inline ::osi3::Vector3d* LidarSensorView_Reflection::mutable_normal_to_surface() {
  // @@protoc_insertion_point(field_mutable:osi3.LidarSensorView.Reflection.normal_to_surface)
  return _internal_mutable_normal_to_surface();
}
inline void LidarSensorView_Reflection::set_allocated_normal_to_surface(::osi3::Vector3d* normal_to_surface) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  if (message_arena == nullptr) {
    delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(normal_to_surface_);
  }
  if (normal_to_surface) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(normal_to_surface)->GetArena();
    if (message_arena != submessage_arena) {
      normal_to_surface = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, normal_to_surface, submessage_arena);
    }
    
  } else {
    
  }
  normal_to_surface_ = normal_to_surface;
  // @@protoc_insertion_point(field_set_allocated:osi3.LidarSensorView.Reflection.normal_to_surface)
}

// .osi3.Identifier object_id = 6;
inline bool LidarSensorView_Reflection::_internal_has_object_id() const {
  return this != internal_default_instance() && object_id_ != nullptr;
}
inline bool LidarSensorView_Reflection::has_object_id() const {
  return _internal_has_object_id();
}
inline const ::osi3::Identifier& LidarSensorView_Reflection::_internal_object_id() const {
  const ::osi3::Identifier* p = object_id_;
  return p != nullptr ? *p : reinterpret_cast<const ::osi3::Identifier&>(
      ::osi3::_Identifier_default_instance_);
}
inline const ::osi3::Identifier& LidarSensorView_Reflection::object_id() const {
  // @@protoc_insertion_point(field_get:osi3.LidarSensorView.Reflection.object_id)
  return _internal_object_id();
}
inline void LidarSensorView_Reflection::unsafe_arena_set_allocated_object_id(
    ::osi3::Identifier* object_id) {
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(object_id_);
  }
  object_id_ = object_id;
  if (object_id) {
    
  } else {
    
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:osi3.LidarSensorView.Reflection.object_id)
}
inline ::osi3::Identifier* LidarSensorView_Reflection::release_object_id() {
  
  ::osi3::Identifier* temp = object_id_;
  object_id_ = nullptr;
  if (GetArena() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
  return temp;
}
inline ::osi3::Identifier* LidarSensorView_Reflection::unsafe_arena_release_object_id() {
  // @@protoc_insertion_point(field_release:osi3.LidarSensorView.Reflection.object_id)
  
  ::osi3::Identifier* temp = object_id_;
  object_id_ = nullptr;
  return temp;
}
inline ::osi3::Identifier* LidarSensorView_Reflection::_internal_mutable_object_id() {
  
  if (object_id_ == nullptr) {
    auto* p = CreateMaybeMessage<::osi3::Identifier>(GetArena());
    object_id_ = p;
  }
  return object_id_;
}
inline ::osi3::Identifier* LidarSensorView_Reflection::mutable_object_id() {
  // @@protoc_insertion_point(field_mutable:osi3.LidarSensorView.Reflection.object_id)
  return _internal_mutable_object_id();
}
inline void LidarSensorView_Reflection::set_allocated_object_id(::osi3::Identifier* object_id) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  if (message_arena == nullptr) {
    delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(object_id_);
  }
  if (object_id) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(object_id)->GetArena();
    if (message_arena != submessage_arena) {
      object_id = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, object_id, submessage_arena);
    }
    
  } else {
    
  }
  object_id_ = object_id;
  // @@protoc_insertion_point(field_set_allocated:osi3.LidarSensorView.Reflection.object_id)
}

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

// LidarSensorView

// .osi3.LidarSensorViewConfiguration view_configuration = 1;
inline bool LidarSensorView::_internal_has_view_configuration() const {
  return this != internal_default_instance() && view_configuration_ != nullptr;
}
inline bool LidarSensorView::has_view_configuration() const {
  return _internal_has_view_configuration();
}
inline const ::osi3::LidarSensorViewConfiguration& LidarSensorView::_internal_view_configuration() const {
  const ::osi3::LidarSensorViewConfiguration* p = view_configuration_;
  return p != nullptr ? *p : reinterpret_cast<const ::osi3::LidarSensorViewConfiguration&>(
      ::osi3::_LidarSensorViewConfiguration_default_instance_);
}
inline const ::osi3::LidarSensorViewConfiguration& LidarSensorView::view_configuration() const {
  // @@protoc_insertion_point(field_get:osi3.LidarSensorView.view_configuration)
  return _internal_view_configuration();
}
inline void LidarSensorView::unsafe_arena_set_allocated_view_configuration(
    ::osi3::LidarSensorViewConfiguration* view_configuration) {
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(view_configuration_);
  }
  view_configuration_ = view_configuration;
  if (view_configuration) {
    
  } else {
    
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:osi3.LidarSensorView.view_configuration)
}
inline ::osi3::LidarSensorViewConfiguration* LidarSensorView::release_view_configuration() {
  
  ::osi3::LidarSensorViewConfiguration* temp = view_configuration_;
  view_configuration_ = nullptr;
  if (GetArena() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
  return temp;
}
inline ::osi3::LidarSensorViewConfiguration* LidarSensorView::unsafe_arena_release_view_configuration() {
  // @@protoc_insertion_point(field_release:osi3.LidarSensorView.view_configuration)
  
  ::osi3::LidarSensorViewConfiguration* temp = view_configuration_;
  view_configuration_ = nullptr;
  return temp;
}
inline ::osi3::LidarSensorViewConfiguration* LidarSensorView::_internal_mutable_view_configuration() {
  
  if (view_configuration_ == nullptr) {
    auto* p = CreateMaybeMessage<::osi3::LidarSensorViewConfiguration>(GetArena());
    view_configuration_ = p;
  }
  return view_configuration_;
}
inline ::osi3::LidarSensorViewConfiguration* LidarSensorView::mutable_view_configuration() {
  // @@protoc_insertion_point(field_mutable:osi3.LidarSensorView.view_configuration)
  return _internal_mutable_view_configuration();
}
inline void LidarSensorView::set_allocated_view_configuration(::osi3::LidarSensorViewConfiguration* view_configuration) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  if (message_arena == nullptr) {
    delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(view_configuration_);
  }
  if (view_configuration) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(view_configuration)->GetArena();
    if (message_arena != submessage_arena) {
      view_configuration = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, view_configuration, submessage_arena);
    }
    
  } else {
    
  }
  view_configuration_ = view_configuration;
  // @@protoc_insertion_point(field_set_allocated:osi3.LidarSensorView.view_configuration)
}

// repeated .osi3.LidarSensorView.Reflection reflection = 2;
inline int LidarSensorView::_internal_reflection_size() const {
  return reflection_.size();
}
inline int LidarSensorView::reflection_size() const {
  return _internal_reflection_size();
}
inline void LidarSensorView::clear_reflection() {
  reflection_.Clear();
}
inline ::osi3::LidarSensorView_Reflection* LidarSensorView::mutable_reflection(int index) {
  // @@protoc_insertion_point(field_mutable:osi3.LidarSensorView.reflection)
  return reflection_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::osi3::LidarSensorView_Reflection >*
LidarSensorView::mutable_reflection() {
  // @@protoc_insertion_point(field_mutable_list:osi3.LidarSensorView.reflection)
  return &reflection_;
}
inline const ::osi3::LidarSensorView_Reflection& LidarSensorView::_internal_reflection(int index) const {
  return reflection_.Get(index);
}
inline const ::osi3::LidarSensorView_Reflection& LidarSensorView::reflection(int index) const {
  // @@protoc_insertion_point(field_get:osi3.LidarSensorView.reflection)
  return _internal_reflection(index);
}
inline ::osi3::LidarSensorView_Reflection* LidarSensorView::_internal_add_reflection() {
  return reflection_.Add();
}
inline ::osi3::LidarSensorView_Reflection* LidarSensorView::add_reflection() {
  // @@protoc_insertion_point(field_add:osi3.LidarSensorView.reflection)
  return _internal_add_reflection();
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::osi3::LidarSensorView_Reflection >&
LidarSensorView::reflection() const {
  // @@protoc_insertion_point(field_list:osi3.LidarSensorView.reflection)
  return reflection_;
}

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

// CameraSensorView

// .osi3.CameraSensorViewConfiguration view_configuration = 1;
inline bool CameraSensorView::_internal_has_view_configuration() const {
  return this != internal_default_instance() && view_configuration_ != nullptr;
}
inline bool CameraSensorView::has_view_configuration() const {
  return _internal_has_view_configuration();
}
inline const ::osi3::CameraSensorViewConfiguration& CameraSensorView::_internal_view_configuration() const {
  const ::osi3::CameraSensorViewConfiguration* p = view_configuration_;
  return p != nullptr ? *p : reinterpret_cast<const ::osi3::CameraSensorViewConfiguration&>(
      ::osi3::_CameraSensorViewConfiguration_default_instance_);
}
inline const ::osi3::CameraSensorViewConfiguration& CameraSensorView::view_configuration() const {
  // @@protoc_insertion_point(field_get:osi3.CameraSensorView.view_configuration)
  return _internal_view_configuration();
}
inline void CameraSensorView::unsafe_arena_set_allocated_view_configuration(
    ::osi3::CameraSensorViewConfiguration* view_configuration) {
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(view_configuration_);
  }
  view_configuration_ = view_configuration;
  if (view_configuration) {
    
  } else {
    
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:osi3.CameraSensorView.view_configuration)
}
inline ::osi3::CameraSensorViewConfiguration* CameraSensorView::release_view_configuration() {
  
  ::osi3::CameraSensorViewConfiguration* temp = view_configuration_;
  view_configuration_ = nullptr;
  if (GetArena() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
  return temp;
}
inline ::osi3::CameraSensorViewConfiguration* CameraSensorView::unsafe_arena_release_view_configuration() {
  // @@protoc_insertion_point(field_release:osi3.CameraSensorView.view_configuration)
  
  ::osi3::CameraSensorViewConfiguration* temp = view_configuration_;
  view_configuration_ = nullptr;
  return temp;
}
inline ::osi3::CameraSensorViewConfiguration* CameraSensorView::_internal_mutable_view_configuration() {
  
  if (view_configuration_ == nullptr) {
    auto* p = CreateMaybeMessage<::osi3::CameraSensorViewConfiguration>(GetArena());
    view_configuration_ = p;
  }
  return view_configuration_;
}
inline ::osi3::CameraSensorViewConfiguration* CameraSensorView::mutable_view_configuration() {
  // @@protoc_insertion_point(field_mutable:osi3.CameraSensorView.view_configuration)
  return _internal_mutable_view_configuration();
}
inline void CameraSensorView::set_allocated_view_configuration(::osi3::CameraSensorViewConfiguration* view_configuration) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  if (message_arena == nullptr) {
    delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(view_configuration_);
  }
  if (view_configuration) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(view_configuration)->GetArena();
    if (message_arena != submessage_arena) {
      view_configuration = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, view_configuration, submessage_arena);
    }
    
  } else {
    
  }
  view_configuration_ = view_configuration;
  // @@protoc_insertion_point(field_set_allocated:osi3.CameraSensorView.view_configuration)
}

// bytes image_data = 2;
inline void CameraSensorView::clear_image_data() {
  image_data_.ClearToEmpty();
}
inline const std::string& CameraSensorView::image_data() const {
  // @@protoc_insertion_point(field_get:osi3.CameraSensorView.image_data)
  return _internal_image_data();
}
inline void CameraSensorView::set_image_data(const std::string& value) {
  _internal_set_image_data(value);
  // @@protoc_insertion_point(field_set:osi3.CameraSensorView.image_data)
}
inline std::string* CameraSensorView::mutable_image_data() {
  // @@protoc_insertion_point(field_mutable:osi3.CameraSensorView.image_data)
  return _internal_mutable_image_data();
}
inline const std::string& CameraSensorView::_internal_image_data() const {
  return image_data_.Get();
}
inline void CameraSensorView::_internal_set_image_data(const std::string& value) {
  
  image_data_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArena());
}
inline void CameraSensorView::set_image_data(std::string&& value) {
  
  image_data_.Set(
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::move(value), GetArena());
  // @@protoc_insertion_point(field_set_rvalue:osi3.CameraSensorView.image_data)
}
inline void CameraSensorView::set_image_data(const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  
  image_data_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(value), GetArena());
  // @@protoc_insertion_point(field_set_char:osi3.CameraSensorView.image_data)
}
inline void CameraSensorView::set_image_data(const void* value,
    size_t size) {
  
  image_data_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(
      reinterpret_cast<const char*>(value), size), GetArena());
  // @@protoc_insertion_point(field_set_pointer:osi3.CameraSensorView.image_data)
}
inline std::string* CameraSensorView::_internal_mutable_image_data() {
  
  return image_data_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena());
}
inline std::string* CameraSensorView::release_image_data() {
  // @@protoc_insertion_point(field_release:osi3.CameraSensorView.image_data)
  return image_data_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
}
inline void CameraSensorView::set_allocated_image_data(std::string* image_data) {
  if (image_data != nullptr) {
    
  } else {
    
  }
  image_data_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), image_data,
      GetArena());
  // @@protoc_insertion_point(field_set_allocated:osi3.CameraSensorView.image_data)
}

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

// UltrasonicSensorView

// .osi3.UltrasonicSensorViewConfiguration view_configuration = 1;
inline bool UltrasonicSensorView::_internal_has_view_configuration() const {
  return this != internal_default_instance() && view_configuration_ != nullptr;
}
inline bool UltrasonicSensorView::has_view_configuration() const {
  return _internal_has_view_configuration();
}
inline const ::osi3::UltrasonicSensorViewConfiguration& UltrasonicSensorView::_internal_view_configuration() const {
  const ::osi3::UltrasonicSensorViewConfiguration* p = view_configuration_;
  return p != nullptr ? *p : reinterpret_cast<const ::osi3::UltrasonicSensorViewConfiguration&>(
      ::osi3::_UltrasonicSensorViewConfiguration_default_instance_);
}
inline const ::osi3::UltrasonicSensorViewConfiguration& UltrasonicSensorView::view_configuration() const {
  // @@protoc_insertion_point(field_get:osi3.UltrasonicSensorView.view_configuration)
  return _internal_view_configuration();
}
inline void UltrasonicSensorView::unsafe_arena_set_allocated_view_configuration(
    ::osi3::UltrasonicSensorViewConfiguration* view_configuration) {
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(view_configuration_);
  }
  view_configuration_ = view_configuration;
  if (view_configuration) {
    
  } else {
    
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:osi3.UltrasonicSensorView.view_configuration)
}
inline ::osi3::UltrasonicSensorViewConfiguration* UltrasonicSensorView::release_view_configuration() {
  
  ::osi3::UltrasonicSensorViewConfiguration* temp = view_configuration_;
  view_configuration_ = nullptr;
  if (GetArena() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
  return temp;
}
inline ::osi3::UltrasonicSensorViewConfiguration* UltrasonicSensorView::unsafe_arena_release_view_configuration() {
  // @@protoc_insertion_point(field_release:osi3.UltrasonicSensorView.view_configuration)
  
  ::osi3::UltrasonicSensorViewConfiguration* temp = view_configuration_;
  view_configuration_ = nullptr;
  return temp;
}
inline ::osi3::UltrasonicSensorViewConfiguration* UltrasonicSensorView::_internal_mutable_view_configuration() {
  
  if (view_configuration_ == nullptr) {
    auto* p = CreateMaybeMessage<::osi3::UltrasonicSensorViewConfiguration>(GetArena());
    view_configuration_ = p;
  }
  return view_configuration_;
}
inline ::osi3::UltrasonicSensorViewConfiguration* UltrasonicSensorView::mutable_view_configuration() {
  // @@protoc_insertion_point(field_mutable:osi3.UltrasonicSensorView.view_configuration)
  return _internal_mutable_view_configuration();
}
inline void UltrasonicSensorView::set_allocated_view_configuration(::osi3::UltrasonicSensorViewConfiguration* view_configuration) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  if (message_arena == nullptr) {
    delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(view_configuration_);
  }
  if (view_configuration) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(view_configuration)->GetArena();
    if (message_arena != submessage_arena) {
      view_configuration = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, view_configuration, submessage_arena);
    }
    
  } else {
    
  }
  view_configuration_ = view_configuration;
  // @@protoc_insertion_point(field_set_allocated:osi3.UltrasonicSensorView.view_configuration)
}

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

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

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

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

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

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

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


// @@protoc_insertion_point(namespace_scope)

}  // namespace osi3

// @@protoc_insertion_point(global_scope)

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