ADD: Radar Track Message

This commit is contained in:
Henry Winkel
2023-01-16 12:47:19 +01:00
parent 414ca2a224
commit 6c7b9aee04
10 changed files with 929 additions and 352 deletions

View File

@@ -33,11 +33,15 @@ add_library(SimCore STATIC
include/SimCore/Messages/Track.hpp include/SimCore/Messages/Track.hpp
src/SimCore/Messages/Track.cpp src/SimCore/Messages/Track.cpp
include/SimCore/Messages/RadarTrack.hpp
src/SimCore/Messages/RadarTrack.cpp
include/SimCore/Messages/Protos/Track.pb.cc include/SimCore/Messages/Protos/Track.pb.cc
include/SimCore/Messages/Protos/GeocentricPosition.pb.cc include/SimCore/Messages/Protos/GeocentricPosition.pb.cc
include/SimCore/Messages/Protos/Identifier.pb.cc include/SimCore/Messages/Protos/Identifier.pb.cc
include/SimCore/Messages/Protos/RadarMessage.pb.cc include/SimCore/Messages/Protos/RadarTrack.pb.cc
include/SimCore/Position.hpp include/SimCore/Position.hpp
src/SimCore/Position.cpp src/SimCore/Position.cpp
@@ -105,7 +109,11 @@ IF (${TEST_SIMCORE_LIBRARY})
add_executable(test_TrackClass tests/test_TrackClass.cpp) add_executable(test_TrackClass tests/test_TrackClass.cpp)
target_link_libraries(test_TrackClass Catch2::Catch2 SimCore eigen loguru) target_link_libraries(test_TrackClass Catch2::Catch2 SimCore eigen loguru)
catch_discover_tests(test_TrackClass) catch_discover_tests(test_TrackClass)
add_executable(test_RadarTrackClass tests/test_RadarTrackClass.cpp)
target_link_libraries(test_RadarTrackClass Catch2::Catch2 SimCore loguru)
catch_discover_tests(test_RadarTrackClass)
add_executable(test_SafeMap tests/test_SafeMap.cpp) add_executable(test_SafeMap tests/test_SafeMap.cpp)
target_link_libraries(test_SafeMap Catch2::Catch2 SimCore loguru) target_link_libraries(test_SafeMap Catch2::Catch2 SimCore loguru)
catch_discover_tests(test_SafeMap) catch_discover_tests(test_SafeMap)
@@ -123,4 +131,6 @@ IF (${TEST_SIMCORE_LIBRARY})
target_link_libraries(test_UtilFunctions Catch2::Catch2 SimCore loguru) target_link_libraries(test_UtilFunctions Catch2::Catch2 SimCore loguru)
catch_discover_tests(test_UtilFunctions) catch_discover_tests(test_UtilFunctions)
ENDIF() ENDIF()

View File

View File

@@ -1,19 +0,0 @@
syntax = "proto3";
package messages.RadarMessage;
import "google/protobuf/timestamp.proto";
import "GeocentricPosition.proto";
import "Identifier.proto";
// [END declaration]
message RadarMessage {
messages.track.Identifier EntityIdentifier = 1;
messages.track.EntityGeocentricPosition GeocentricPosition = 2;
double ContactSpeed = 3;
double ContactCourse = 4;
double ContactBearing = 5;
double ContactRange = 6;
string ContactEnvironemnt = 7;
}

View File

@@ -1,7 +1,7 @@
// Generated by the protocol buffer compiler. DO NOT EDIT! // Generated by the protocol buffer compiler. DO NOT EDIT!
// source: RadarMessage.proto // source: RadarTrack.proto
#include "RadarMessage.pb.h" #include "RadarTrack.pb.h"
#include <algorithm> #include <algorithm>
@@ -21,144 +21,163 @@ namespace _pb = ::PROTOBUF_NAMESPACE_ID;
namespace _pbi = _pb::internal; namespace _pbi = _pb::internal;
namespace messages { namespace messages {
namespace RadarMessage { namespace track {
PROTOBUF_CONSTEXPR RadarMessage::RadarMessage( PROTOBUF_CONSTEXPR RadarTrack::RadarTrack(
::_pbi::ConstantInitialized): _impl_{ ::_pbi::ConstantInitialized): _impl_{
/*decltype(_impl_.contactenvironemnt_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}} /*decltype(_impl_.radarid_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
, /*decltype(_impl_.entityidentifier_)*/nullptr , /*decltype(_impl_.entityidentifier_)*/nullptr
, /*decltype(_impl_.geocentricposition_)*/nullptr , /*decltype(_impl_.geocentricposition_)*/nullptr
, /*decltype(_impl_.timestamp_)*/nullptr
, /*decltype(_impl_.contactspeed_)*/0 , /*decltype(_impl_.contactspeed_)*/0
, /*decltype(_impl_.contactcourse_)*/0 , /*decltype(_impl_.contactcourse_)*/0
, /*decltype(_impl_.contactbearing_)*/0 , /*decltype(_impl_.contactbearing_)*/0
, /*decltype(_impl_.contactrange_)*/0 , /*decltype(_impl_.contactrange_)*/0
, /*decltype(_impl_.contactenvironemnt_)*/0u
, /*decltype(_impl_._cached_size_)*/{}} {} , /*decltype(_impl_._cached_size_)*/{}} {}
struct RadarMessageDefaultTypeInternal { struct RadarTrackDefaultTypeInternal {
PROTOBUF_CONSTEXPR RadarMessageDefaultTypeInternal() PROTOBUF_CONSTEXPR RadarTrackDefaultTypeInternal()
: _instance(::_pbi::ConstantInitialized{}) {} : _instance(::_pbi::ConstantInitialized{}) {}
~RadarMessageDefaultTypeInternal() {} ~RadarTrackDefaultTypeInternal() {}
union { union {
RadarMessage _instance; RadarTrack _instance;
}; };
}; };
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 RadarMessageDefaultTypeInternal _RadarMessage_default_instance_; PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 RadarTrackDefaultTypeInternal _RadarTrack_default_instance_;
} // namespace RadarMessage } // namespace track
} // namespace messages } // namespace messages
static ::_pb::Metadata file_level_metadata_RadarMessage_2eproto[1]; static ::_pb::Metadata file_level_metadata_RadarTrack_2eproto[1];
static constexpr ::_pb::EnumDescriptor const** file_level_enum_descriptors_RadarMessage_2eproto = nullptr; static constexpr ::_pb::EnumDescriptor const** file_level_enum_descriptors_RadarTrack_2eproto = nullptr;
static constexpr ::_pb::ServiceDescriptor const** file_level_service_descriptors_RadarMessage_2eproto = nullptr; static constexpr ::_pb::ServiceDescriptor const** file_level_service_descriptors_RadarTrack_2eproto = nullptr;
const uint32_t TableStruct_RadarMessage_2eproto::offsets[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = { const uint32_t TableStruct_RadarTrack_2eproto::offsets[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = {
~0u, // no _has_bits_ ~0u, // no _has_bits_
PROTOBUF_FIELD_OFFSET(::messages::RadarMessage::RadarMessage, _internal_metadata_), PROTOBUF_FIELD_OFFSET(::messages::track::RadarTrack, _internal_metadata_),
~0u, // no _extensions_ ~0u, // no _extensions_
~0u, // no _oneof_case_ ~0u, // no _oneof_case_
~0u, // no _weak_field_map_ ~0u, // no _weak_field_map_
~0u, // no _inlined_string_donated_ ~0u, // no _inlined_string_donated_
PROTOBUF_FIELD_OFFSET(::messages::RadarMessage::RadarMessage, _impl_.entityidentifier_), PROTOBUF_FIELD_OFFSET(::messages::track::RadarTrack, _impl_.radarid_),
PROTOBUF_FIELD_OFFSET(::messages::RadarMessage::RadarMessage, _impl_.geocentricposition_), PROTOBUF_FIELD_OFFSET(::messages::track::RadarTrack, _impl_.entityidentifier_),
PROTOBUF_FIELD_OFFSET(::messages::RadarMessage::RadarMessage, _impl_.contactspeed_), PROTOBUF_FIELD_OFFSET(::messages::track::RadarTrack, _impl_.geocentricposition_),
PROTOBUF_FIELD_OFFSET(::messages::RadarMessage::RadarMessage, _impl_.contactcourse_), PROTOBUF_FIELD_OFFSET(::messages::track::RadarTrack, _impl_.contactspeed_),
PROTOBUF_FIELD_OFFSET(::messages::RadarMessage::RadarMessage, _impl_.contactbearing_), PROTOBUF_FIELD_OFFSET(::messages::track::RadarTrack, _impl_.contactcourse_),
PROTOBUF_FIELD_OFFSET(::messages::RadarMessage::RadarMessage, _impl_.contactrange_), PROTOBUF_FIELD_OFFSET(::messages::track::RadarTrack, _impl_.contactbearing_),
PROTOBUF_FIELD_OFFSET(::messages::RadarMessage::RadarMessage, _impl_.contactenvironemnt_), PROTOBUF_FIELD_OFFSET(::messages::track::RadarTrack, _impl_.contactrange_),
PROTOBUF_FIELD_OFFSET(::messages::track::RadarTrack, _impl_.contactenvironemnt_),
PROTOBUF_FIELD_OFFSET(::messages::track::RadarTrack, _impl_.timestamp_),
}; };
static const ::_pbi::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = { static const ::_pbi::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = {
{ 0, -1, -1, sizeof(::messages::RadarMessage::RadarMessage)}, { 0, -1, -1, sizeof(::messages::track::RadarTrack)},
}; };
static const ::_pb::Message* const file_default_instances[] = { static const ::_pb::Message* const file_default_instances[] = {
&::messages::RadarMessage::_RadarMessage_default_instance_._instance, &::messages::track::_RadarTrack_default_instance_._instance,
}; };
const char descriptor_table_protodef_RadarMessage_2eproto[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = const char descriptor_table_protodef_RadarTrack_2eproto[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) =
"\n\022RadarMessage.proto\022\025messages.RadarMess" "\n\020RadarTrack.proto\022\016messages.track\032\037goog"
"age\032\037google/protobuf/timestamp.proto\032\030Ge" "le/protobuf/timestamp.proto\032\030GeocentricP"
"ocentricPosition.proto\032\020Identifier.proto" "osition.proto\032\020Identifier.proto\"\277\002\n\nRada"
"\"\201\002\n\014RadarMessage\0224\n\020EntityIdentifier\030\001 " "rTrack\022\017\n\007RadarID\030\001 \001(\t\0224\n\020EntityIdentif"
"\001(\0132\032.messages.track.Identifier\022D\n\022Geoce" "ier\030\002 \001(\0132\032.messages.track.Identifier\022D\n"
"ntricPosition\030\002 \001(\0132(.messages.track.Ent" "\022GeocentricPosition\030\003 \001(\0132(.messages.tra"
"ityGeocentricPosition\022\024\n\014ContactSpeed\030\003 " "ck.EntityGeocentricPosition\022\024\n\014ContactSp"
"\001(\001\022\025\n\rContactCourse\030\004 \001(\001\022\026\n\016ContactBea" "eed\030\004 \001(\001\022\025\n\rContactCourse\030\005 \001(\001\022\026\n\016Cont"
"ring\030\005 \001(\001\022\024\n\014ContactRange\030\006 \001(\001\022\032\n\022Cont" "actBearing\030\006 \001(\001\022\024\n\014ContactRange\030\007 \001(\001\022\032"
"actEnvironemnt\030\007 \001(\tb\006proto3" "\n\022ContactEnvironemnt\030\010 \001(\r\022-\n\ttimestamp\030"
"\t \001(\0132\032.google.protobuf.Timestampb\006proto"
"3"
; ;
static const ::_pbi::DescriptorTable* const descriptor_table_RadarMessage_2eproto_deps[3] = { static const ::_pbi::DescriptorTable* const descriptor_table_RadarTrack_2eproto_deps[3] = {
&::descriptor_table_GeocentricPosition_2eproto, &::descriptor_table_GeocentricPosition_2eproto,
&::descriptor_table_Identifier_2eproto, &::descriptor_table_Identifier_2eproto,
&::descriptor_table_google_2fprotobuf_2ftimestamp_2eproto, &::descriptor_table_google_2fprotobuf_2ftimestamp_2eproto,
}; };
static ::_pbi::once_flag descriptor_table_RadarMessage_2eproto_once; static ::_pbi::once_flag descriptor_table_RadarTrack_2eproto_once;
const ::_pbi::DescriptorTable descriptor_table_RadarMessage_2eproto = { const ::_pbi::DescriptorTable descriptor_table_RadarTrack_2eproto = {
false, false, 388, descriptor_table_protodef_RadarMessage_2eproto, false, false, 441, descriptor_table_protodef_RadarTrack_2eproto,
"RadarMessage.proto", "RadarTrack.proto",
&descriptor_table_RadarMessage_2eproto_once, descriptor_table_RadarMessage_2eproto_deps, 3, 1, &descriptor_table_RadarTrack_2eproto_once, descriptor_table_RadarTrack_2eproto_deps, 3, 1,
schemas, file_default_instances, TableStruct_RadarMessage_2eproto::offsets, schemas, file_default_instances, TableStruct_RadarTrack_2eproto::offsets,
file_level_metadata_RadarMessage_2eproto, file_level_enum_descriptors_RadarMessage_2eproto, file_level_metadata_RadarTrack_2eproto, file_level_enum_descriptors_RadarTrack_2eproto,
file_level_service_descriptors_RadarMessage_2eproto, file_level_service_descriptors_RadarTrack_2eproto,
}; };
PROTOBUF_ATTRIBUTE_WEAK const ::_pbi::DescriptorTable* descriptor_table_RadarMessage_2eproto_getter() { PROTOBUF_ATTRIBUTE_WEAK const ::_pbi::DescriptorTable* descriptor_table_RadarTrack_2eproto_getter() {
return &descriptor_table_RadarMessage_2eproto; return &descriptor_table_RadarTrack_2eproto;
} }
// Force running AddDescriptors() at dynamic initialization time. // Force running AddDescriptors() at dynamic initialization time.
PROTOBUF_ATTRIBUTE_INIT_PRIORITY2 static ::_pbi::AddDescriptorsRunner dynamic_init_dummy_RadarMessage_2eproto(&descriptor_table_RadarMessage_2eproto); PROTOBUF_ATTRIBUTE_INIT_PRIORITY2 static ::_pbi::AddDescriptorsRunner dynamic_init_dummy_RadarTrack_2eproto(&descriptor_table_RadarTrack_2eproto);
namespace messages { namespace messages {
namespace RadarMessage { namespace track {
// =================================================================== // ===================================================================
class RadarMessage::_Internal { class RadarTrack::_Internal {
public: public:
static const ::messages::track::Identifier& entityidentifier(const RadarMessage* msg); static const ::messages::track::Identifier& entityidentifier(const RadarTrack* msg);
static const ::messages::track::EntityGeocentricPosition& geocentricposition(const RadarMessage* msg); static const ::messages::track::EntityGeocentricPosition& geocentricposition(const RadarTrack* msg);
static const ::PROTOBUF_NAMESPACE_ID::Timestamp& timestamp(const RadarTrack* msg);
}; };
const ::messages::track::Identifier& const ::messages::track::Identifier&
RadarMessage::_Internal::entityidentifier(const RadarMessage* msg) { RadarTrack::_Internal::entityidentifier(const RadarTrack* msg) {
return *msg->_impl_.entityidentifier_; return *msg->_impl_.entityidentifier_;
} }
const ::messages::track::EntityGeocentricPosition& const ::messages::track::EntityGeocentricPosition&
RadarMessage::_Internal::geocentricposition(const RadarMessage* msg) { RadarTrack::_Internal::geocentricposition(const RadarTrack* msg) {
return *msg->_impl_.geocentricposition_; return *msg->_impl_.geocentricposition_;
} }
void RadarMessage::clear_entityidentifier() { const ::PROTOBUF_NAMESPACE_ID::Timestamp&
RadarTrack::_Internal::timestamp(const RadarTrack* msg) {
return *msg->_impl_.timestamp_;
}
void RadarTrack::clear_entityidentifier() {
if (GetArenaForAllocation() == nullptr && _impl_.entityidentifier_ != nullptr) { if (GetArenaForAllocation() == nullptr && _impl_.entityidentifier_ != nullptr) {
delete _impl_.entityidentifier_; delete _impl_.entityidentifier_;
} }
_impl_.entityidentifier_ = nullptr; _impl_.entityidentifier_ = nullptr;
} }
void RadarMessage::clear_geocentricposition() { void RadarTrack::clear_geocentricposition() {
if (GetArenaForAllocation() == nullptr && _impl_.geocentricposition_ != nullptr) { if (GetArenaForAllocation() == nullptr && _impl_.geocentricposition_ != nullptr) {
delete _impl_.geocentricposition_; delete _impl_.geocentricposition_;
} }
_impl_.geocentricposition_ = nullptr; _impl_.geocentricposition_ = nullptr;
} }
RadarMessage::RadarMessage(::PROTOBUF_NAMESPACE_ID::Arena* arena, void RadarTrack::clear_timestamp() {
if (GetArenaForAllocation() == nullptr && _impl_.timestamp_ != nullptr) {
delete _impl_.timestamp_;
}
_impl_.timestamp_ = nullptr;
}
RadarTrack::RadarTrack(::PROTOBUF_NAMESPACE_ID::Arena* arena,
bool is_message_owned) bool is_message_owned)
: ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
SharedCtor(arena, is_message_owned); SharedCtor(arena, is_message_owned);
// @@protoc_insertion_point(arena_constructor:messages.RadarMessage.RadarMessage) // @@protoc_insertion_point(arena_constructor:messages.track.RadarTrack)
} }
RadarMessage::RadarMessage(const RadarMessage& from) RadarTrack::RadarTrack(const RadarTrack& from)
: ::PROTOBUF_NAMESPACE_ID::Message() { : ::PROTOBUF_NAMESPACE_ID::Message() {
RadarMessage* const _this = this; (void)_this; RadarTrack* const _this = this; (void)_this;
new (&_impl_) Impl_{ new (&_impl_) Impl_{
decltype(_impl_.contactenvironemnt_){} decltype(_impl_.radarid_){}
, decltype(_impl_.entityidentifier_){nullptr} , decltype(_impl_.entityidentifier_){nullptr}
, decltype(_impl_.geocentricposition_){nullptr} , decltype(_impl_.geocentricposition_){nullptr}
, decltype(_impl_.timestamp_){nullptr}
, decltype(_impl_.contactspeed_){} , decltype(_impl_.contactspeed_){}
, decltype(_impl_.contactcourse_){} , decltype(_impl_.contactcourse_){}
, decltype(_impl_.contactbearing_){} , decltype(_impl_.contactbearing_){}
, decltype(_impl_.contactrange_){} , decltype(_impl_.contactrange_){}
, decltype(_impl_.contactenvironemnt_){}
, /*decltype(_impl_._cached_size_)*/{}}; , /*decltype(_impl_._cached_size_)*/{}};
_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
_impl_.contactenvironemnt_.InitDefault(); _impl_.radarid_.InitDefault();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
_impl_.contactenvironemnt_.Set("", GetArenaForAllocation()); _impl_.radarid_.Set("", GetArenaForAllocation());
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
if (!from._internal_contactenvironemnt().empty()) { if (!from._internal_radarid().empty()) {
_this->_impl_.contactenvironemnt_.Set(from._internal_contactenvironemnt(), _this->_impl_.radarid_.Set(from._internal_radarid(),
_this->GetArenaForAllocation()); _this->GetArenaForAllocation());
} }
if (from._internal_has_entityidentifier()) { if (from._internal_has_entityidentifier()) {
@@ -167,34 +186,39 @@ RadarMessage::RadarMessage(const RadarMessage& from)
if (from._internal_has_geocentricposition()) { if (from._internal_has_geocentricposition()) {
_this->_impl_.geocentricposition_ = new ::messages::track::EntityGeocentricPosition(*from._impl_.geocentricposition_); _this->_impl_.geocentricposition_ = new ::messages::track::EntityGeocentricPosition(*from._impl_.geocentricposition_);
} }
if (from._internal_has_timestamp()) {
_this->_impl_.timestamp_ = new ::PROTOBUF_NAMESPACE_ID::Timestamp(*from._impl_.timestamp_);
}
::memcpy(&_impl_.contactspeed_, &from._impl_.contactspeed_, ::memcpy(&_impl_.contactspeed_, &from._impl_.contactspeed_,
static_cast<size_t>(reinterpret_cast<char*>(&_impl_.contactrange_) - static_cast<size_t>(reinterpret_cast<char*>(&_impl_.contactenvironemnt_) -
reinterpret_cast<char*>(&_impl_.contactspeed_)) + sizeof(_impl_.contactrange_)); reinterpret_cast<char*>(&_impl_.contactspeed_)) + sizeof(_impl_.contactenvironemnt_));
// @@protoc_insertion_point(copy_constructor:messages.RadarMessage.RadarMessage) // @@protoc_insertion_point(copy_constructor:messages.track.RadarTrack)
} }
inline void RadarMessage::SharedCtor( inline void RadarTrack::SharedCtor(
::_pb::Arena* arena, bool is_message_owned) { ::_pb::Arena* arena, bool is_message_owned) {
(void)arena; (void)arena;
(void)is_message_owned; (void)is_message_owned;
new (&_impl_) Impl_{ new (&_impl_) Impl_{
decltype(_impl_.contactenvironemnt_){} decltype(_impl_.radarid_){}
, decltype(_impl_.entityidentifier_){nullptr} , decltype(_impl_.entityidentifier_){nullptr}
, decltype(_impl_.geocentricposition_){nullptr} , decltype(_impl_.geocentricposition_){nullptr}
, decltype(_impl_.timestamp_){nullptr}
, decltype(_impl_.contactspeed_){0} , decltype(_impl_.contactspeed_){0}
, decltype(_impl_.contactcourse_){0} , decltype(_impl_.contactcourse_){0}
, decltype(_impl_.contactbearing_){0} , decltype(_impl_.contactbearing_){0}
, decltype(_impl_.contactrange_){0} , decltype(_impl_.contactrange_){0}
, decltype(_impl_.contactenvironemnt_){0u}
, /*decltype(_impl_._cached_size_)*/{} , /*decltype(_impl_._cached_size_)*/{}
}; };
_impl_.contactenvironemnt_.InitDefault(); _impl_.radarid_.InitDefault();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
_impl_.contactenvironemnt_.Set("", GetArenaForAllocation()); _impl_.radarid_.Set("", GetArenaForAllocation());
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
} }
RadarMessage::~RadarMessage() { RadarTrack::~RadarTrack() {
// @@protoc_insertion_point(destructor:messages.RadarMessage.RadarMessage) // @@protoc_insertion_point(destructor:messages.track.RadarTrack)
if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
(void)arena; (void)arena;
return; return;
@@ -202,24 +226,25 @@ RadarMessage::~RadarMessage() {
SharedDtor(); SharedDtor();
} }
inline void RadarMessage::SharedDtor() { inline void RadarTrack::SharedDtor() {
GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
_impl_.contactenvironemnt_.Destroy(); _impl_.radarid_.Destroy();
if (this != internal_default_instance()) delete _impl_.entityidentifier_; if (this != internal_default_instance()) delete _impl_.entityidentifier_;
if (this != internal_default_instance()) delete _impl_.geocentricposition_; if (this != internal_default_instance()) delete _impl_.geocentricposition_;
if (this != internal_default_instance()) delete _impl_.timestamp_;
} }
void RadarMessage::SetCachedSize(int size) const { void RadarTrack::SetCachedSize(int size) const {
_impl_._cached_size_.Set(size); _impl_._cached_size_.Set(size);
} }
void RadarMessage::Clear() { void RadarTrack::Clear() {
// @@protoc_insertion_point(message_clear_start:messages.RadarMessage.RadarMessage) // @@protoc_insertion_point(message_clear_start:messages.track.RadarTrack)
uint32_t cached_has_bits = 0; uint32_t cached_has_bits = 0;
// Prevent compiler warnings about cached_has_bits being unused // Prevent compiler warnings about cached_has_bits being unused
(void) cached_has_bits; (void) cached_has_bits;
_impl_.contactenvironemnt_.ClearToEmpty(); _impl_.radarid_.ClearToEmpty();
if (GetArenaForAllocation() == nullptr && _impl_.entityidentifier_ != nullptr) { if (GetArenaForAllocation() == nullptr && _impl_.entityidentifier_ != nullptr) {
delete _impl_.entityidentifier_; delete _impl_.entityidentifier_;
} }
@@ -228,73 +253,93 @@ void RadarMessage::Clear() {
delete _impl_.geocentricposition_; delete _impl_.geocentricposition_;
} }
_impl_.geocentricposition_ = nullptr; _impl_.geocentricposition_ = nullptr;
if (GetArenaForAllocation() == nullptr && _impl_.timestamp_ != nullptr) {
delete _impl_.timestamp_;
}
_impl_.timestamp_ = nullptr;
::memset(&_impl_.contactspeed_, 0, static_cast<size_t>( ::memset(&_impl_.contactspeed_, 0, static_cast<size_t>(
reinterpret_cast<char*>(&_impl_.contactrange_) - reinterpret_cast<char*>(&_impl_.contactenvironemnt_) -
reinterpret_cast<char*>(&_impl_.contactspeed_)) + sizeof(_impl_.contactrange_)); reinterpret_cast<char*>(&_impl_.contactspeed_)) + sizeof(_impl_.contactenvironemnt_));
_internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
} }
const char* RadarMessage::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { const char* RadarTrack::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
while (!ctx->Done(&ptr)) { while (!ctx->Done(&ptr)) {
uint32_t tag; uint32_t tag;
ptr = ::_pbi::ReadTag(ptr, &tag); ptr = ::_pbi::ReadTag(ptr, &tag);
switch (tag >> 3) { switch (tag >> 3) {
// .messages.track.Identifier EntityIdentifier = 1; // string RadarID = 1;
case 1: case 1:
if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) { if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
auto str = _internal_mutable_radarid();
ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
CHK_(ptr);
CHK_(::_pbi::VerifyUTF8(str, "messages.track.RadarTrack.RadarID"));
} else
goto handle_unusual;
continue;
// .messages.track.Identifier EntityIdentifier = 2;
case 2:
if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 18)) {
ptr = ctx->ParseMessage(_internal_mutable_entityidentifier(), ptr); ptr = ctx->ParseMessage(_internal_mutable_entityidentifier(), ptr);
CHK_(ptr); CHK_(ptr);
} else } else
goto handle_unusual; goto handle_unusual;
continue; continue;
// .messages.track.EntityGeocentricPosition GeocentricPosition = 2; // .messages.track.EntityGeocentricPosition GeocentricPosition = 3;
case 2: case 3:
if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 18)) { if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 26)) {
ptr = ctx->ParseMessage(_internal_mutable_geocentricposition(), ptr); ptr = ctx->ParseMessage(_internal_mutable_geocentricposition(), ptr);
CHK_(ptr); CHK_(ptr);
} else } else
goto handle_unusual; goto handle_unusual;
continue; continue;
// double ContactSpeed = 3; // double ContactSpeed = 4;
case 3: case 4:
if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 25)) { if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 33)) {
_impl_.contactspeed_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr); _impl_.contactspeed_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
ptr += sizeof(double); ptr += sizeof(double);
} else } else
goto handle_unusual; goto handle_unusual;
continue; continue;
// double ContactCourse = 4; // double ContactCourse = 5;
case 4: case 5:
if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 33)) { if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 41)) {
_impl_.contactcourse_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr); _impl_.contactcourse_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
ptr += sizeof(double); ptr += sizeof(double);
} else } else
goto handle_unusual; goto handle_unusual;
continue; continue;
// double ContactBearing = 5; // double ContactBearing = 6;
case 5: case 6:
if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 41)) { if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 49)) {
_impl_.contactbearing_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr); _impl_.contactbearing_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
ptr += sizeof(double); ptr += sizeof(double);
} else } else
goto handle_unusual; goto handle_unusual;
continue; continue;
// double ContactRange = 6; // double ContactRange = 7;
case 6: case 7:
if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 49)) { if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 57)) {
_impl_.contactrange_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr); _impl_.contactrange_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
ptr += sizeof(double); ptr += sizeof(double);
} else } else
goto handle_unusual; goto handle_unusual;
continue; continue;
// string ContactEnvironemnt = 7; // uint32 ContactEnvironemnt = 8;
case 7: case 8:
if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 58)) { if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 64)) {
auto str = _internal_mutable_contactenvironemnt(); _impl_.contactenvironemnt_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); CHK_(ptr);
} else
goto handle_unusual;
continue;
// .google.protobuf.Timestamp timestamp = 9;
case 9:
if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 74)) {
ptr = ctx->ParseMessage(_internal_mutable_timestamp(), ptr);
CHK_(ptr); CHK_(ptr);
CHK_(::_pbi::VerifyUTF8(str, "messages.RadarMessage.RadarMessage.ContactEnvironemnt"));
} else } else
goto handle_unusual; goto handle_unusual;
continue; continue;
@@ -321,114 +366,134 @@ failure:
#undef CHK_ #undef CHK_
} }
uint8_t* RadarMessage::_InternalSerialize( uint8_t* RadarTrack::_InternalSerialize(
uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
// @@protoc_insertion_point(serialize_to_array_start:messages.RadarMessage.RadarMessage) // @@protoc_insertion_point(serialize_to_array_start:messages.track.RadarTrack)
uint32_t cached_has_bits = 0; uint32_t cached_has_bits = 0;
(void) cached_has_bits; (void) cached_has_bits;
// .messages.track.Identifier EntityIdentifier = 1; // string RadarID = 1;
if (!this->_internal_radarid().empty()) {
::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
this->_internal_radarid().data(), static_cast<int>(this->_internal_radarid().length()),
::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
"messages.track.RadarTrack.RadarID");
target = stream->WriteStringMaybeAliased(
1, this->_internal_radarid(), target);
}
// .messages.track.Identifier EntityIdentifier = 2;
if (this->_internal_has_entityidentifier()) { if (this->_internal_has_entityidentifier()) {
target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
InternalWriteMessage(1, _Internal::entityidentifier(this), InternalWriteMessage(2, _Internal::entityidentifier(this),
_Internal::entityidentifier(this).GetCachedSize(), target, stream); _Internal::entityidentifier(this).GetCachedSize(), target, stream);
} }
// .messages.track.EntityGeocentricPosition GeocentricPosition = 2; // .messages.track.EntityGeocentricPosition GeocentricPosition = 3;
if (this->_internal_has_geocentricposition()) { if (this->_internal_has_geocentricposition()) {
target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
InternalWriteMessage(2, _Internal::geocentricposition(this), InternalWriteMessage(3, _Internal::geocentricposition(this),
_Internal::geocentricposition(this).GetCachedSize(), target, stream); _Internal::geocentricposition(this).GetCachedSize(), target, stream);
} }
// double ContactSpeed = 3; // double ContactSpeed = 4;
static_assert(sizeof(uint64_t) == sizeof(double), "Code assumes uint64_t and double are the same size."); static_assert(sizeof(uint64_t) == sizeof(double), "Code assumes uint64_t and double are the same size.");
double tmp_contactspeed = this->_internal_contactspeed(); double tmp_contactspeed = this->_internal_contactspeed();
uint64_t raw_contactspeed; uint64_t raw_contactspeed;
memcpy(&raw_contactspeed, &tmp_contactspeed, sizeof(tmp_contactspeed)); memcpy(&raw_contactspeed, &tmp_contactspeed, sizeof(tmp_contactspeed));
if (raw_contactspeed != 0) { if (raw_contactspeed != 0) {
target = stream->EnsureSpace(target); target = stream->EnsureSpace(target);
target = ::_pbi::WireFormatLite::WriteDoubleToArray(3, this->_internal_contactspeed(), target); target = ::_pbi::WireFormatLite::WriteDoubleToArray(4, this->_internal_contactspeed(), target);
} }
// double ContactCourse = 4; // double ContactCourse = 5;
static_assert(sizeof(uint64_t) == sizeof(double), "Code assumes uint64_t and double are the same size."); static_assert(sizeof(uint64_t) == sizeof(double), "Code assumes uint64_t and double are the same size.");
double tmp_contactcourse = this->_internal_contactcourse(); double tmp_contactcourse = this->_internal_contactcourse();
uint64_t raw_contactcourse; uint64_t raw_contactcourse;
memcpy(&raw_contactcourse, &tmp_contactcourse, sizeof(tmp_contactcourse)); memcpy(&raw_contactcourse, &tmp_contactcourse, sizeof(tmp_contactcourse));
if (raw_contactcourse != 0) { if (raw_contactcourse != 0) {
target = stream->EnsureSpace(target); target = stream->EnsureSpace(target);
target = ::_pbi::WireFormatLite::WriteDoubleToArray(4, this->_internal_contactcourse(), target); target = ::_pbi::WireFormatLite::WriteDoubleToArray(5, this->_internal_contactcourse(), target);
} }
// double ContactBearing = 5; // double ContactBearing = 6;
static_assert(sizeof(uint64_t) == sizeof(double), "Code assumes uint64_t and double are the same size."); static_assert(sizeof(uint64_t) == sizeof(double), "Code assumes uint64_t and double are the same size.");
double tmp_contactbearing = this->_internal_contactbearing(); double tmp_contactbearing = this->_internal_contactbearing();
uint64_t raw_contactbearing; uint64_t raw_contactbearing;
memcpy(&raw_contactbearing, &tmp_contactbearing, sizeof(tmp_contactbearing)); memcpy(&raw_contactbearing, &tmp_contactbearing, sizeof(tmp_contactbearing));
if (raw_contactbearing != 0) { if (raw_contactbearing != 0) {
target = stream->EnsureSpace(target); target = stream->EnsureSpace(target);
target = ::_pbi::WireFormatLite::WriteDoubleToArray(5, this->_internal_contactbearing(), target); target = ::_pbi::WireFormatLite::WriteDoubleToArray(6, this->_internal_contactbearing(), target);
} }
// double ContactRange = 6; // double ContactRange = 7;
static_assert(sizeof(uint64_t) == sizeof(double), "Code assumes uint64_t and double are the same size."); static_assert(sizeof(uint64_t) == sizeof(double), "Code assumes uint64_t and double are the same size.");
double tmp_contactrange = this->_internal_contactrange(); double tmp_contactrange = this->_internal_contactrange();
uint64_t raw_contactrange; uint64_t raw_contactrange;
memcpy(&raw_contactrange, &tmp_contactrange, sizeof(tmp_contactrange)); memcpy(&raw_contactrange, &tmp_contactrange, sizeof(tmp_contactrange));
if (raw_contactrange != 0) { if (raw_contactrange != 0) {
target = stream->EnsureSpace(target); target = stream->EnsureSpace(target);
target = ::_pbi::WireFormatLite::WriteDoubleToArray(6, this->_internal_contactrange(), target); target = ::_pbi::WireFormatLite::WriteDoubleToArray(7, this->_internal_contactrange(), target);
} }
// string ContactEnvironemnt = 7; // uint32 ContactEnvironemnt = 8;
if (!this->_internal_contactenvironemnt().empty()) { if (this->_internal_contactenvironemnt() != 0) {
::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( target = stream->EnsureSpace(target);
this->_internal_contactenvironemnt().data(), static_cast<int>(this->_internal_contactenvironemnt().length()), target = ::_pbi::WireFormatLite::WriteUInt32ToArray(8, this->_internal_contactenvironemnt(), target);
::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, }
"messages.RadarMessage.RadarMessage.ContactEnvironemnt");
target = stream->WriteStringMaybeAliased( // .google.protobuf.Timestamp timestamp = 9;
7, this->_internal_contactenvironemnt(), target); if (this->_internal_has_timestamp()) {
target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
InternalWriteMessage(9, _Internal::timestamp(this),
_Internal::timestamp(this).GetCachedSize(), target, stream);
} }
if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
_internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
} }
// @@protoc_insertion_point(serialize_to_array_end:messages.RadarMessage.RadarMessage) // @@protoc_insertion_point(serialize_to_array_end:messages.track.RadarTrack)
return target; return target;
} }
size_t RadarMessage::ByteSizeLong() const { size_t RadarTrack::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:messages.RadarMessage.RadarMessage) // @@protoc_insertion_point(message_byte_size_start:messages.track.RadarTrack)
size_t total_size = 0; size_t total_size = 0;
uint32_t cached_has_bits = 0; uint32_t cached_has_bits = 0;
// Prevent compiler warnings about cached_has_bits being unused // Prevent compiler warnings about cached_has_bits being unused
(void) cached_has_bits; (void) cached_has_bits;
// string ContactEnvironemnt = 7; // string RadarID = 1;
if (!this->_internal_contactenvironemnt().empty()) { if (!this->_internal_radarid().empty()) {
total_size += 1 + total_size += 1 +
::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
this->_internal_contactenvironemnt()); this->_internal_radarid());
} }
// .messages.track.Identifier EntityIdentifier = 1; // .messages.track.Identifier EntityIdentifier = 2;
if (this->_internal_has_entityidentifier()) { if (this->_internal_has_entityidentifier()) {
total_size += 1 + total_size += 1 +
::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
*_impl_.entityidentifier_); *_impl_.entityidentifier_);
} }
// .messages.track.EntityGeocentricPosition GeocentricPosition = 2; // .messages.track.EntityGeocentricPosition GeocentricPosition = 3;
if (this->_internal_has_geocentricposition()) { if (this->_internal_has_geocentricposition()) {
total_size += 1 + total_size += 1 +
::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
*_impl_.geocentricposition_); *_impl_.geocentricposition_);
} }
// double ContactSpeed = 3; // .google.protobuf.Timestamp timestamp = 9;
if (this->_internal_has_timestamp()) {
total_size += 1 +
::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
*_impl_.timestamp_);
}
// double ContactSpeed = 4;
static_assert(sizeof(uint64_t) == sizeof(double), "Code assumes uint64_t and double are the same size."); static_assert(sizeof(uint64_t) == sizeof(double), "Code assumes uint64_t and double are the same size.");
double tmp_contactspeed = this->_internal_contactspeed(); double tmp_contactspeed = this->_internal_contactspeed();
uint64_t raw_contactspeed; uint64_t raw_contactspeed;
@@ -437,7 +502,7 @@ size_t RadarMessage::ByteSizeLong() const {
total_size += 1 + 8; total_size += 1 + 8;
} }
// double ContactCourse = 4; // double ContactCourse = 5;
static_assert(sizeof(uint64_t) == sizeof(double), "Code assumes uint64_t and double are the same size."); static_assert(sizeof(uint64_t) == sizeof(double), "Code assumes uint64_t and double are the same size.");
double tmp_contactcourse = this->_internal_contactcourse(); double tmp_contactcourse = this->_internal_contactcourse();
uint64_t raw_contactcourse; uint64_t raw_contactcourse;
@@ -446,7 +511,7 @@ size_t RadarMessage::ByteSizeLong() const {
total_size += 1 + 8; total_size += 1 + 8;
} }
// double ContactBearing = 5; // double ContactBearing = 6;
static_assert(sizeof(uint64_t) == sizeof(double), "Code assumes uint64_t and double are the same size."); static_assert(sizeof(uint64_t) == sizeof(double), "Code assumes uint64_t and double are the same size.");
double tmp_contactbearing = this->_internal_contactbearing(); double tmp_contactbearing = this->_internal_contactbearing();
uint64_t raw_contactbearing; uint64_t raw_contactbearing;
@@ -455,7 +520,7 @@ size_t RadarMessage::ByteSizeLong() const {
total_size += 1 + 8; total_size += 1 + 8;
} }
// double ContactRange = 6; // double ContactRange = 7;
static_assert(sizeof(uint64_t) == sizeof(double), "Code assumes uint64_t and double are the same size."); static_assert(sizeof(uint64_t) == sizeof(double), "Code assumes uint64_t and double are the same size.");
double tmp_contactrange = this->_internal_contactrange(); double tmp_contactrange = this->_internal_contactrange();
uint64_t raw_contactrange; uint64_t raw_contactrange;
@@ -464,26 +529,31 @@ size_t RadarMessage::ByteSizeLong() const {
total_size += 1 + 8; total_size += 1 + 8;
} }
// uint32 ContactEnvironemnt = 8;
if (this->_internal_contactenvironemnt() != 0) {
total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_contactenvironemnt());
}
return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_); return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
} }
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData RadarMessage::_class_data_ = { const ::PROTOBUF_NAMESPACE_ID::Message::ClassData RadarTrack::_class_data_ = {
::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck, ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
RadarMessage::MergeImpl RadarTrack::MergeImpl
}; };
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*RadarMessage::GetClassData() const { return &_class_data_; } const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*RadarTrack::GetClassData() const { return &_class_data_; }
void RadarMessage::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) { void RadarTrack::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
auto* const _this = static_cast<RadarMessage*>(&to_msg); auto* const _this = static_cast<RadarTrack*>(&to_msg);
auto& from = static_cast<const RadarMessage&>(from_msg); auto& from = static_cast<const RadarTrack&>(from_msg);
// @@protoc_insertion_point(class_specific_merge_from_start:messages.RadarMessage.RadarMessage) // @@protoc_insertion_point(class_specific_merge_from_start:messages.track.RadarTrack)
GOOGLE_DCHECK_NE(&from, _this); GOOGLE_DCHECK_NE(&from, _this);
uint32_t cached_has_bits = 0; uint32_t cached_has_bits = 0;
(void) cached_has_bits; (void) cached_has_bits;
if (!from._internal_contactenvironemnt().empty()) { if (!from._internal_radarid().empty()) {
_this->_internal_set_contactenvironemnt(from._internal_contactenvironemnt()); _this->_internal_set_radarid(from._internal_radarid());
} }
if (from._internal_has_entityidentifier()) { if (from._internal_has_entityidentifier()) {
_this->_internal_mutable_entityidentifier()->::messages::track::Identifier::MergeFrom( _this->_internal_mutable_entityidentifier()->::messages::track::Identifier::MergeFrom(
@@ -493,6 +563,10 @@ void RadarMessage::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::P
_this->_internal_mutable_geocentricposition()->::messages::track::EntityGeocentricPosition::MergeFrom( _this->_internal_mutable_geocentricposition()->::messages::track::EntityGeocentricPosition::MergeFrom(
from._internal_geocentricposition()); from._internal_geocentricposition());
} }
if (from._internal_has_timestamp()) {
_this->_internal_mutable_timestamp()->::PROTOBUF_NAMESPACE_ID::Timestamp::MergeFrom(
from._internal_timestamp());
}
static_assert(sizeof(uint64_t) == sizeof(double), "Code assumes uint64_t and double are the same size."); static_assert(sizeof(uint64_t) == sizeof(double), "Code assumes uint64_t and double are the same size.");
double tmp_contactspeed = from._internal_contactspeed(); double tmp_contactspeed = from._internal_contactspeed();
uint64_t raw_contactspeed; uint64_t raw_contactspeed;
@@ -521,50 +595,53 @@ void RadarMessage::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::P
if (raw_contactrange != 0) { if (raw_contactrange != 0) {
_this->_internal_set_contactrange(from._internal_contactrange()); _this->_internal_set_contactrange(from._internal_contactrange());
} }
if (from._internal_contactenvironemnt() != 0) {
_this->_internal_set_contactenvironemnt(from._internal_contactenvironemnt());
}
_this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
} }
void RadarMessage::CopyFrom(const RadarMessage& from) { void RadarTrack::CopyFrom(const RadarTrack& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:messages.RadarMessage.RadarMessage) // @@protoc_insertion_point(class_specific_copy_from_start:messages.track.RadarTrack)
if (&from == this) return; if (&from == this) return;
Clear(); Clear();
MergeFrom(from); MergeFrom(from);
} }
bool RadarMessage::IsInitialized() const { bool RadarTrack::IsInitialized() const {
return true; return true;
} }
void RadarMessage::InternalSwap(RadarMessage* other) { void RadarTrack::InternalSwap(RadarTrack* other) {
using std::swap; using std::swap;
auto* lhs_arena = GetArenaForAllocation(); auto* lhs_arena = GetArenaForAllocation();
auto* rhs_arena = other->GetArenaForAllocation(); auto* rhs_arena = other->GetArenaForAllocation();
_internal_metadata_.InternalSwap(&other->_internal_metadata_); _internal_metadata_.InternalSwap(&other->_internal_metadata_);
::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
&_impl_.contactenvironemnt_, lhs_arena, &_impl_.radarid_, lhs_arena,
&other->_impl_.contactenvironemnt_, rhs_arena &other->_impl_.radarid_, rhs_arena
); );
::PROTOBUF_NAMESPACE_ID::internal::memswap< ::PROTOBUF_NAMESPACE_ID::internal::memswap<
PROTOBUF_FIELD_OFFSET(RadarMessage, _impl_.contactrange_) PROTOBUF_FIELD_OFFSET(RadarTrack, _impl_.contactenvironemnt_)
+ sizeof(RadarMessage::_impl_.contactrange_) + sizeof(RadarTrack::_impl_.contactenvironemnt_)
- PROTOBUF_FIELD_OFFSET(RadarMessage, _impl_.entityidentifier_)>( - PROTOBUF_FIELD_OFFSET(RadarTrack, _impl_.entityidentifier_)>(
reinterpret_cast<char*>(&_impl_.entityidentifier_), reinterpret_cast<char*>(&_impl_.entityidentifier_),
reinterpret_cast<char*>(&other->_impl_.entityidentifier_)); reinterpret_cast<char*>(&other->_impl_.entityidentifier_));
} }
::PROTOBUF_NAMESPACE_ID::Metadata RadarMessage::GetMetadata() const { ::PROTOBUF_NAMESPACE_ID::Metadata RadarTrack::GetMetadata() const {
return ::_pbi::AssignDescriptors( return ::_pbi::AssignDescriptors(
&descriptor_table_RadarMessage_2eproto_getter, &descriptor_table_RadarMessage_2eproto_once, &descriptor_table_RadarTrack_2eproto_getter, &descriptor_table_RadarTrack_2eproto_once,
file_level_metadata_RadarMessage_2eproto[0]); file_level_metadata_RadarTrack_2eproto[0]);
} }
// @@protoc_insertion_point(namespace_scope) // @@protoc_insertion_point(namespace_scope)
} // namespace RadarMessage } // namespace track
} // namespace messages } // namespace messages
PROTOBUF_NAMESPACE_OPEN PROTOBUF_NAMESPACE_OPEN
template<> PROTOBUF_NOINLINE ::messages::RadarMessage::RadarMessage* template<> PROTOBUF_NOINLINE ::messages::track::RadarTrack*
Arena::CreateMaybeMessage< ::messages::RadarMessage::RadarMessage >(Arena* arena) { Arena::CreateMaybeMessage< ::messages::track::RadarTrack >(Arena* arena) {
return Arena::CreateMessageInternal< ::messages::RadarMessage::RadarMessage >(arena); return Arena::CreateMessageInternal< ::messages::track::RadarTrack >(arena);
} }
PROTOBUF_NAMESPACE_CLOSE PROTOBUF_NAMESPACE_CLOSE

View File

@@ -1,8 +1,8 @@
// Generated by the protocol buffer compiler. DO NOT EDIT! // Generated by the protocol buffer compiler. DO NOT EDIT!
// source: RadarMessage.proto // source: RadarTrack.proto
#ifndef GOOGLE_PROTOBUF_INCLUDED_RadarMessage_2eproto #ifndef GOOGLE_PROTOBUF_INCLUDED_RadarTrack_2eproto
#define GOOGLE_PROTOBUF_INCLUDED_RadarMessage_2eproto #define GOOGLE_PROTOBUF_INCLUDED_RadarTrack_2eproto
#include <limits> #include <limits>
#include <string> #include <string>
@@ -35,7 +35,7 @@
#include "Identifier.pb.h" #include "Identifier.pb.h"
// @@protoc_insertion_point(includes) // @@protoc_insertion_point(includes)
#include <google/protobuf/port_def.inc> #include <google/protobuf/port_def.inc>
#define PROTOBUF_INTERNAL_EXPORT_RadarMessage_2eproto #define PROTOBUF_INTERNAL_EXPORT_RadarTrack_2eproto
PROTOBUF_NAMESPACE_OPEN PROTOBUF_NAMESPACE_OPEN
namespace internal { namespace internal {
class AnyMetadata; class AnyMetadata;
@@ -43,43 +43,43 @@ class AnyMetadata;
PROTOBUF_NAMESPACE_CLOSE PROTOBUF_NAMESPACE_CLOSE
// Internal implementation detail -- do not use these members. // Internal implementation detail -- do not use these members.
struct TableStruct_RadarMessage_2eproto { struct TableStruct_RadarTrack_2eproto {
static const uint32_t offsets[]; static const uint32_t offsets[];
}; };
extern const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_RadarMessage_2eproto; extern const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_RadarTrack_2eproto;
namespace messages { namespace messages {
namespace RadarMessage { namespace track {
class RadarMessage; class RadarTrack;
struct RadarMessageDefaultTypeInternal; struct RadarTrackDefaultTypeInternal;
extern RadarMessageDefaultTypeInternal _RadarMessage_default_instance_; extern RadarTrackDefaultTypeInternal _RadarTrack_default_instance_;
} // namespace RadarMessage } // namespace track
} // namespace messages } // namespace messages
PROTOBUF_NAMESPACE_OPEN PROTOBUF_NAMESPACE_OPEN
template<> ::messages::RadarMessage::RadarMessage* Arena::CreateMaybeMessage<::messages::RadarMessage::RadarMessage>(Arena*); template<> ::messages::track::RadarTrack* Arena::CreateMaybeMessage<::messages::track::RadarTrack>(Arena*);
PROTOBUF_NAMESPACE_CLOSE PROTOBUF_NAMESPACE_CLOSE
namespace messages { namespace messages {
namespace RadarMessage { namespace track {
// =================================================================== // ===================================================================
class RadarMessage final : class RadarTrack final :
public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:messages.RadarMessage.RadarMessage) */ { public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:messages.track.RadarTrack) */ {
public: public:
inline RadarMessage() : RadarMessage(nullptr) {} inline RadarTrack() : RadarTrack(nullptr) {}
~RadarMessage() override; ~RadarTrack() override;
explicit PROTOBUF_CONSTEXPR RadarMessage(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); explicit PROTOBUF_CONSTEXPR RadarTrack(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
RadarMessage(const RadarMessage& from); RadarTrack(const RadarTrack& from);
RadarMessage(RadarMessage&& from) noexcept RadarTrack(RadarTrack&& from) noexcept
: RadarMessage() { : RadarTrack() {
*this = ::std::move(from); *this = ::std::move(from);
} }
inline RadarMessage& operator=(const RadarMessage& from) { inline RadarTrack& operator=(const RadarTrack& from) {
CopyFrom(from); CopyFrom(from);
return *this; return *this;
} }
inline RadarMessage& operator=(RadarMessage&& from) noexcept { inline RadarTrack& operator=(RadarTrack&& from) noexcept {
if (this == &from) return *this; if (this == &from) return *this;
if (GetOwningArena() == from.GetOwningArena() if (GetOwningArena() == from.GetOwningArena()
#ifdef PROTOBUF_FORCE_COPY_IN_MOVE #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
@@ -102,20 +102,20 @@ class RadarMessage final :
static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
return default_instance().GetMetadata().reflection; return default_instance().GetMetadata().reflection;
} }
static const RadarMessage& default_instance() { static const RadarTrack& default_instance() {
return *internal_default_instance(); return *internal_default_instance();
} }
static inline const RadarMessage* internal_default_instance() { static inline const RadarTrack* internal_default_instance() {
return reinterpret_cast<const RadarMessage*>( return reinterpret_cast<const RadarTrack*>(
&_RadarMessage_default_instance_); &_RadarTrack_default_instance_);
} }
static constexpr int kIndexInFileMessages = static constexpr int kIndexInFileMessages =
0; 0;
friend void swap(RadarMessage& a, RadarMessage& b) { friend void swap(RadarTrack& a, RadarTrack& b) {
a.Swap(&b); a.Swap(&b);
} }
inline void Swap(RadarMessage* other) { inline void Swap(RadarTrack* other) {
if (other == this) return; if (other == this) return;
#ifdef PROTOBUF_FORCE_COPY_IN_SWAP #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
if (GetOwningArena() != nullptr && if (GetOwningArena() != nullptr &&
@@ -128,7 +128,7 @@ class RadarMessage final :
::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
} }
} }
void UnsafeArenaSwap(RadarMessage* other) { void UnsafeArenaSwap(RadarTrack* other) {
if (other == this) return; if (other == this) return;
GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
InternalSwap(other); InternalSwap(other);
@@ -136,14 +136,14 @@ class RadarMessage final :
// implements Message ---------------------------------------------- // implements Message ----------------------------------------------
RadarMessage* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { RadarTrack* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
return CreateMaybeMessage<RadarMessage>(arena); return CreateMaybeMessage<RadarTrack>(arena);
} }
using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
void CopyFrom(const RadarMessage& from); void CopyFrom(const RadarTrack& from);
using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
void MergeFrom( const RadarMessage& from) { void MergeFrom( const RadarTrack& from) {
RadarMessage::MergeImpl(*this, from); RadarTrack::MergeImpl(*this, from);
} }
private: private:
static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg);
@@ -161,15 +161,15 @@ class RadarMessage final :
void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
void SharedDtor(); void SharedDtor();
void SetCachedSize(int size) const final; void SetCachedSize(int size) const final;
void InternalSwap(RadarMessage* other); void InternalSwap(RadarTrack* other);
private: private:
friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
return "messages.RadarMessage.RadarMessage"; return "messages.track.RadarTrack";
} }
protected: protected:
explicit RadarMessage(::PROTOBUF_NAMESPACE_ID::Arena* arena, explicit RadarTrack(::PROTOBUF_NAMESPACE_ID::Arena* arena,
bool is_message_owned = false); bool is_message_owned = false);
public: public:
@@ -183,29 +183,31 @@ class RadarMessage final :
// accessors ------------------------------------------------------- // accessors -------------------------------------------------------
enum : int { enum : int {
kContactEnvironemntFieldNumber = 7, kRadarIDFieldNumber = 1,
kEntityIdentifierFieldNumber = 1, kEntityIdentifierFieldNumber = 2,
kGeocentricPositionFieldNumber = 2, kGeocentricPositionFieldNumber = 3,
kContactSpeedFieldNumber = 3, kTimestampFieldNumber = 9,
kContactCourseFieldNumber = 4, kContactSpeedFieldNumber = 4,
kContactBearingFieldNumber = 5, kContactCourseFieldNumber = 5,
kContactRangeFieldNumber = 6, kContactBearingFieldNumber = 6,
kContactRangeFieldNumber = 7,
kContactEnvironemntFieldNumber = 8,
}; };
// string ContactEnvironemnt = 7; // string RadarID = 1;
void clear_contactenvironemnt(); void clear_radarid();
const std::string& contactenvironemnt() const; const std::string& radarid() const;
template <typename ArgT0 = const std::string&, typename... ArgT> template <typename ArgT0 = const std::string&, typename... ArgT>
void set_contactenvironemnt(ArgT0&& arg0, ArgT... args); void set_radarid(ArgT0&& arg0, ArgT... args);
std::string* mutable_contactenvironemnt(); std::string* mutable_radarid();
PROTOBUF_NODISCARD std::string* release_contactenvironemnt(); PROTOBUF_NODISCARD std::string* release_radarid();
void set_allocated_contactenvironemnt(std::string* contactenvironemnt); void set_allocated_radarid(std::string* radarid);
private: private:
const std::string& _internal_contactenvironemnt() const; const std::string& _internal_radarid() const;
inline PROTOBUF_ALWAYS_INLINE void _internal_set_contactenvironemnt(const std::string& value); inline PROTOBUF_ALWAYS_INLINE void _internal_set_radarid(const std::string& value);
std::string* _internal_mutable_contactenvironemnt(); std::string* _internal_mutable_radarid();
public: public:
// .messages.track.Identifier EntityIdentifier = 1; // .messages.track.Identifier EntityIdentifier = 2;
bool has_entityidentifier() const; bool has_entityidentifier() const;
private: private:
bool _internal_has_entityidentifier() const; bool _internal_has_entityidentifier() const;
@@ -223,7 +225,7 @@ class RadarMessage final :
::messages::track::Identifier* entityidentifier); ::messages::track::Identifier* entityidentifier);
::messages::track::Identifier* unsafe_arena_release_entityidentifier(); ::messages::track::Identifier* unsafe_arena_release_entityidentifier();
// .messages.track.EntityGeocentricPosition GeocentricPosition = 2; // .messages.track.EntityGeocentricPosition GeocentricPosition = 3;
bool has_geocentricposition() const; bool has_geocentricposition() const;
private: private:
bool _internal_has_geocentricposition() const; bool _internal_has_geocentricposition() const;
@@ -241,7 +243,25 @@ class RadarMessage final :
::messages::track::EntityGeocentricPosition* geocentricposition); ::messages::track::EntityGeocentricPosition* geocentricposition);
::messages::track::EntityGeocentricPosition* unsafe_arena_release_geocentricposition(); ::messages::track::EntityGeocentricPosition* unsafe_arena_release_geocentricposition();
// double ContactSpeed = 3; // .google.protobuf.Timestamp timestamp = 9;
bool has_timestamp() const;
private:
bool _internal_has_timestamp() const;
public:
void clear_timestamp();
const ::PROTOBUF_NAMESPACE_ID::Timestamp& timestamp() const;
PROTOBUF_NODISCARD ::PROTOBUF_NAMESPACE_ID::Timestamp* release_timestamp();
::PROTOBUF_NAMESPACE_ID::Timestamp* mutable_timestamp();
void set_allocated_timestamp(::PROTOBUF_NAMESPACE_ID::Timestamp* timestamp);
private:
const ::PROTOBUF_NAMESPACE_ID::Timestamp& _internal_timestamp() const;
::PROTOBUF_NAMESPACE_ID::Timestamp* _internal_mutable_timestamp();
public:
void unsafe_arena_set_allocated_timestamp(
::PROTOBUF_NAMESPACE_ID::Timestamp* timestamp);
::PROTOBUF_NAMESPACE_ID::Timestamp* unsafe_arena_release_timestamp();
// double ContactSpeed = 4;
void clear_contactspeed(); void clear_contactspeed();
double contactspeed() const; double contactspeed() const;
void set_contactspeed(double value); void set_contactspeed(double value);
@@ -250,7 +270,7 @@ class RadarMessage final :
void _internal_set_contactspeed(double value); void _internal_set_contactspeed(double value);
public: public:
// double ContactCourse = 4; // double ContactCourse = 5;
void clear_contactcourse(); void clear_contactcourse();
double contactcourse() const; double contactcourse() const;
void set_contactcourse(double value); void set_contactcourse(double value);
@@ -259,7 +279,7 @@ class RadarMessage final :
void _internal_set_contactcourse(double value); void _internal_set_contactcourse(double value);
public: public:
// double ContactBearing = 5; // double ContactBearing = 6;
void clear_contactbearing(); void clear_contactbearing();
double contactbearing() const; double contactbearing() const;
void set_contactbearing(double value); void set_contactbearing(double value);
@@ -268,7 +288,7 @@ class RadarMessage final :
void _internal_set_contactbearing(double value); void _internal_set_contactbearing(double value);
public: public:
// double ContactRange = 6; // double ContactRange = 7;
void clear_contactrange(); void clear_contactrange();
double contactrange() const; double contactrange() const;
void set_contactrange(double value); void set_contactrange(double value);
@@ -277,7 +297,16 @@ class RadarMessage final :
void _internal_set_contactrange(double value); void _internal_set_contactrange(double value);
public: public:
// @@protoc_insertion_point(class_scope:messages.RadarMessage.RadarMessage) // uint32 ContactEnvironemnt = 8;
void clear_contactenvironemnt();
uint32_t contactenvironemnt() const;
void set_contactenvironemnt(uint32_t value);
private:
uint32_t _internal_contactenvironemnt() const;
void _internal_set_contactenvironemnt(uint32_t value);
public:
// @@protoc_insertion_point(class_scope:messages.track.RadarTrack)
private: private:
class _Internal; class _Internal;
@@ -285,17 +314,19 @@ class RadarMessage final :
typedef void InternalArenaConstructable_; typedef void InternalArenaConstructable_;
typedef void DestructorSkippable_; typedef void DestructorSkippable_;
struct Impl_ { struct Impl_ {
::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr contactenvironemnt_; ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr radarid_;
::messages::track::Identifier* entityidentifier_; ::messages::track::Identifier* entityidentifier_;
::messages::track::EntityGeocentricPosition* geocentricposition_; ::messages::track::EntityGeocentricPosition* geocentricposition_;
::PROTOBUF_NAMESPACE_ID::Timestamp* timestamp_;
double contactspeed_; double contactspeed_;
double contactcourse_; double contactcourse_;
double contactbearing_; double contactbearing_;
double contactrange_; double contactrange_;
uint32_t contactenvironemnt_;
mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
}; };
union { Impl_ _impl_; }; union { Impl_ _impl_; };
friend struct ::TableStruct_RadarMessage_2eproto; friend struct ::TableStruct_RadarTrack_2eproto;
}; };
// =================================================================== // ===================================================================
@@ -306,25 +337,75 @@ class RadarMessage final :
#pragma GCC diagnostic push #pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wstrict-aliasing" #pragma GCC diagnostic ignored "-Wstrict-aliasing"
#endif // __GNUC__ #endif // __GNUC__
// RadarMessage // RadarTrack
// .messages.track.Identifier EntityIdentifier = 1; // string RadarID = 1;
inline bool RadarMessage::_internal_has_entityidentifier() const { inline void RadarTrack::clear_radarid() {
_impl_.radarid_.ClearToEmpty();
}
inline const std::string& RadarTrack::radarid() const {
// @@protoc_insertion_point(field_get:messages.track.RadarTrack.RadarID)
return _internal_radarid();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void RadarTrack::set_radarid(ArgT0&& arg0, ArgT... args) {
_impl_.radarid_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
// @@protoc_insertion_point(field_set:messages.track.RadarTrack.RadarID)
}
inline std::string* RadarTrack::mutable_radarid() {
std::string* _s = _internal_mutable_radarid();
// @@protoc_insertion_point(field_mutable:messages.track.RadarTrack.RadarID)
return _s;
}
inline const std::string& RadarTrack::_internal_radarid() const {
return _impl_.radarid_.Get();
}
inline void RadarTrack::_internal_set_radarid(const std::string& value) {
_impl_.radarid_.Set(value, GetArenaForAllocation());
}
inline std::string* RadarTrack::_internal_mutable_radarid() {
return _impl_.radarid_.Mutable(GetArenaForAllocation());
}
inline std::string* RadarTrack::release_radarid() {
// @@protoc_insertion_point(field_release:messages.track.RadarTrack.RadarID)
return _impl_.radarid_.Release();
}
inline void RadarTrack::set_allocated_radarid(std::string* radarid) {
if (radarid != nullptr) {
} else {
}
_impl_.radarid_.SetAllocated(radarid, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
if (_impl_.radarid_.IsDefault()) {
_impl_.radarid_.Set("", GetArenaForAllocation());
}
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
// @@protoc_insertion_point(field_set_allocated:messages.track.RadarTrack.RadarID)
}
// .messages.track.Identifier EntityIdentifier = 2;
inline bool RadarTrack::_internal_has_entityidentifier() const {
return this != internal_default_instance() && _impl_.entityidentifier_ != nullptr; return this != internal_default_instance() && _impl_.entityidentifier_ != nullptr;
} }
inline bool RadarMessage::has_entityidentifier() const { inline bool RadarTrack::has_entityidentifier() const {
return _internal_has_entityidentifier(); return _internal_has_entityidentifier();
} }
inline const ::messages::track::Identifier& RadarMessage::_internal_entityidentifier() const { inline const ::messages::track::Identifier& RadarTrack::_internal_entityidentifier() const {
const ::messages::track::Identifier* p = _impl_.entityidentifier_; const ::messages::track::Identifier* p = _impl_.entityidentifier_;
return p != nullptr ? *p : reinterpret_cast<const ::messages::track::Identifier&>( return p != nullptr ? *p : reinterpret_cast<const ::messages::track::Identifier&>(
::messages::track::_Identifier_default_instance_); ::messages::track::_Identifier_default_instance_);
} }
inline const ::messages::track::Identifier& RadarMessage::entityidentifier() const { inline const ::messages::track::Identifier& RadarTrack::entityidentifier() const {
// @@protoc_insertion_point(field_get:messages.RadarMessage.RadarMessage.EntityIdentifier) // @@protoc_insertion_point(field_get:messages.track.RadarTrack.EntityIdentifier)
return _internal_entityidentifier(); return _internal_entityidentifier();
} }
inline void RadarMessage::unsafe_arena_set_allocated_entityidentifier( inline void RadarTrack::unsafe_arena_set_allocated_entityidentifier(
::messages::track::Identifier* entityidentifier) { ::messages::track::Identifier* entityidentifier) {
if (GetArenaForAllocation() == nullptr) { if (GetArenaForAllocation() == nullptr) {
delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.entityidentifier_); delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.entityidentifier_);
@@ -335,9 +416,9 @@ inline void RadarMessage::unsafe_arena_set_allocated_entityidentifier(
} else { } else {
} }
// @@protoc_insertion_point(field_unsafe_arena_set_allocated:messages.RadarMessage.RadarMessage.EntityIdentifier) // @@protoc_insertion_point(field_unsafe_arena_set_allocated:messages.track.RadarTrack.EntityIdentifier)
} }
inline ::messages::track::Identifier* RadarMessage::release_entityidentifier() { inline ::messages::track::Identifier* RadarTrack::release_entityidentifier() {
::messages::track::Identifier* temp = _impl_.entityidentifier_; ::messages::track::Identifier* temp = _impl_.entityidentifier_;
_impl_.entityidentifier_ = nullptr; _impl_.entityidentifier_ = nullptr;
@@ -352,14 +433,14 @@ inline ::messages::track::Identifier* RadarMessage::release_entityidentifier() {
#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE
return temp; return temp;
} }
inline ::messages::track::Identifier* RadarMessage::unsafe_arena_release_entityidentifier() { inline ::messages::track::Identifier* RadarTrack::unsafe_arena_release_entityidentifier() {
// @@protoc_insertion_point(field_release:messages.RadarMessage.RadarMessage.EntityIdentifier) // @@protoc_insertion_point(field_release:messages.track.RadarTrack.EntityIdentifier)
::messages::track::Identifier* temp = _impl_.entityidentifier_; ::messages::track::Identifier* temp = _impl_.entityidentifier_;
_impl_.entityidentifier_ = nullptr; _impl_.entityidentifier_ = nullptr;
return temp; return temp;
} }
inline ::messages::track::Identifier* RadarMessage::_internal_mutable_entityidentifier() { inline ::messages::track::Identifier* RadarTrack::_internal_mutable_entityidentifier() {
if (_impl_.entityidentifier_ == nullptr) { if (_impl_.entityidentifier_ == nullptr) {
auto* p = CreateMaybeMessage<::messages::track::Identifier>(GetArenaForAllocation()); auto* p = CreateMaybeMessage<::messages::track::Identifier>(GetArenaForAllocation());
@@ -367,12 +448,12 @@ inline ::messages::track::Identifier* RadarMessage::_internal_mutable_entityiden
} }
return _impl_.entityidentifier_; return _impl_.entityidentifier_;
} }
inline ::messages::track::Identifier* RadarMessage::mutable_entityidentifier() { inline ::messages::track::Identifier* RadarTrack::mutable_entityidentifier() {
::messages::track::Identifier* _msg = _internal_mutable_entityidentifier(); ::messages::track::Identifier* _msg = _internal_mutable_entityidentifier();
// @@protoc_insertion_point(field_mutable:messages.RadarMessage.RadarMessage.EntityIdentifier) // @@protoc_insertion_point(field_mutable:messages.track.RadarTrack.EntityIdentifier)
return _msg; return _msg;
} }
inline void RadarMessage::set_allocated_entityidentifier(::messages::track::Identifier* entityidentifier) { inline void RadarTrack::set_allocated_entityidentifier(::messages::track::Identifier* entityidentifier) {
::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
if (message_arena == nullptr) { if (message_arena == nullptr) {
delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.entityidentifier_); delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.entityidentifier_);
@@ -390,26 +471,26 @@ inline void RadarMessage::set_allocated_entityidentifier(::messages::track::Iden
} }
_impl_.entityidentifier_ = entityidentifier; _impl_.entityidentifier_ = entityidentifier;
// @@protoc_insertion_point(field_set_allocated:messages.RadarMessage.RadarMessage.EntityIdentifier) // @@protoc_insertion_point(field_set_allocated:messages.track.RadarTrack.EntityIdentifier)
} }
// .messages.track.EntityGeocentricPosition GeocentricPosition = 2; // .messages.track.EntityGeocentricPosition GeocentricPosition = 3;
inline bool RadarMessage::_internal_has_geocentricposition() const { inline bool RadarTrack::_internal_has_geocentricposition() const {
return this != internal_default_instance() && _impl_.geocentricposition_ != nullptr; return this != internal_default_instance() && _impl_.geocentricposition_ != nullptr;
} }
inline bool RadarMessage::has_geocentricposition() const { inline bool RadarTrack::has_geocentricposition() const {
return _internal_has_geocentricposition(); return _internal_has_geocentricposition();
} }
inline const ::messages::track::EntityGeocentricPosition& RadarMessage::_internal_geocentricposition() const { inline const ::messages::track::EntityGeocentricPosition& RadarTrack::_internal_geocentricposition() const {
const ::messages::track::EntityGeocentricPosition* p = _impl_.geocentricposition_; const ::messages::track::EntityGeocentricPosition* p = _impl_.geocentricposition_;
return p != nullptr ? *p : reinterpret_cast<const ::messages::track::EntityGeocentricPosition&>( return p != nullptr ? *p : reinterpret_cast<const ::messages::track::EntityGeocentricPosition&>(
::messages::track::_EntityGeocentricPosition_default_instance_); ::messages::track::_EntityGeocentricPosition_default_instance_);
} }
inline const ::messages::track::EntityGeocentricPosition& RadarMessage::geocentricposition() const { inline const ::messages::track::EntityGeocentricPosition& RadarTrack::geocentricposition() const {
// @@protoc_insertion_point(field_get:messages.RadarMessage.RadarMessage.GeocentricPosition) // @@protoc_insertion_point(field_get:messages.track.RadarTrack.GeocentricPosition)
return _internal_geocentricposition(); return _internal_geocentricposition();
} }
inline void RadarMessage::unsafe_arena_set_allocated_geocentricposition( inline void RadarTrack::unsafe_arena_set_allocated_geocentricposition(
::messages::track::EntityGeocentricPosition* geocentricposition) { ::messages::track::EntityGeocentricPosition* geocentricposition) {
if (GetArenaForAllocation() == nullptr) { if (GetArenaForAllocation() == nullptr) {
delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.geocentricposition_); delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.geocentricposition_);
@@ -420,9 +501,9 @@ inline void RadarMessage::unsafe_arena_set_allocated_geocentricposition(
} else { } else {
} }
// @@protoc_insertion_point(field_unsafe_arena_set_allocated:messages.RadarMessage.RadarMessage.GeocentricPosition) // @@protoc_insertion_point(field_unsafe_arena_set_allocated:messages.track.RadarTrack.GeocentricPosition)
} }
inline ::messages::track::EntityGeocentricPosition* RadarMessage::release_geocentricposition() { inline ::messages::track::EntityGeocentricPosition* RadarTrack::release_geocentricposition() {
::messages::track::EntityGeocentricPosition* temp = _impl_.geocentricposition_; ::messages::track::EntityGeocentricPosition* temp = _impl_.geocentricposition_;
_impl_.geocentricposition_ = nullptr; _impl_.geocentricposition_ = nullptr;
@@ -437,14 +518,14 @@ inline ::messages::track::EntityGeocentricPosition* RadarMessage::release_geocen
#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE
return temp; return temp;
} }
inline ::messages::track::EntityGeocentricPosition* RadarMessage::unsafe_arena_release_geocentricposition() { inline ::messages::track::EntityGeocentricPosition* RadarTrack::unsafe_arena_release_geocentricposition() {
// @@protoc_insertion_point(field_release:messages.RadarMessage.RadarMessage.GeocentricPosition) // @@protoc_insertion_point(field_release:messages.track.RadarTrack.GeocentricPosition)
::messages::track::EntityGeocentricPosition* temp = _impl_.geocentricposition_; ::messages::track::EntityGeocentricPosition* temp = _impl_.geocentricposition_;
_impl_.geocentricposition_ = nullptr; _impl_.geocentricposition_ = nullptr;
return temp; return temp;
} }
inline ::messages::track::EntityGeocentricPosition* RadarMessage::_internal_mutable_geocentricposition() { inline ::messages::track::EntityGeocentricPosition* RadarTrack::_internal_mutable_geocentricposition() {
if (_impl_.geocentricposition_ == nullptr) { if (_impl_.geocentricposition_ == nullptr) {
auto* p = CreateMaybeMessage<::messages::track::EntityGeocentricPosition>(GetArenaForAllocation()); auto* p = CreateMaybeMessage<::messages::track::EntityGeocentricPosition>(GetArenaForAllocation());
@@ -452,12 +533,12 @@ inline ::messages::track::EntityGeocentricPosition* RadarMessage::_internal_muta
} }
return _impl_.geocentricposition_; return _impl_.geocentricposition_;
} }
inline ::messages::track::EntityGeocentricPosition* RadarMessage::mutable_geocentricposition() { inline ::messages::track::EntityGeocentricPosition* RadarTrack::mutable_geocentricposition() {
::messages::track::EntityGeocentricPosition* _msg = _internal_mutable_geocentricposition(); ::messages::track::EntityGeocentricPosition* _msg = _internal_mutable_geocentricposition();
// @@protoc_insertion_point(field_mutable:messages.RadarMessage.RadarMessage.GeocentricPosition) // @@protoc_insertion_point(field_mutable:messages.track.RadarTrack.GeocentricPosition)
return _msg; return _msg;
} }
inline void RadarMessage::set_allocated_geocentricposition(::messages::track::EntityGeocentricPosition* geocentricposition) { inline void RadarTrack::set_allocated_geocentricposition(::messages::track::EntityGeocentricPosition* geocentricposition) {
::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
if (message_arena == nullptr) { if (message_arena == nullptr) {
delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.geocentricposition_); delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.geocentricposition_);
@@ -475,137 +556,192 @@ inline void RadarMessage::set_allocated_geocentricposition(::messages::track::En
} }
_impl_.geocentricposition_ = geocentricposition; _impl_.geocentricposition_ = geocentricposition;
// @@protoc_insertion_point(field_set_allocated:messages.RadarMessage.RadarMessage.GeocentricPosition) // @@protoc_insertion_point(field_set_allocated:messages.track.RadarTrack.GeocentricPosition)
} }
// double ContactSpeed = 3; // double ContactSpeed = 4;
inline void RadarMessage::clear_contactspeed() { inline void RadarTrack::clear_contactspeed() {
_impl_.contactspeed_ = 0; _impl_.contactspeed_ = 0;
} }
inline double RadarMessage::_internal_contactspeed() const { inline double RadarTrack::_internal_contactspeed() const {
return _impl_.contactspeed_; return _impl_.contactspeed_;
} }
inline double RadarMessage::contactspeed() const { inline double RadarTrack::contactspeed() const {
// @@protoc_insertion_point(field_get:messages.RadarMessage.RadarMessage.ContactSpeed) // @@protoc_insertion_point(field_get:messages.track.RadarTrack.ContactSpeed)
return _internal_contactspeed(); return _internal_contactspeed();
} }
inline void RadarMessage::_internal_set_contactspeed(double value) { inline void RadarTrack::_internal_set_contactspeed(double value) {
_impl_.contactspeed_ = value; _impl_.contactspeed_ = value;
} }
inline void RadarMessage::set_contactspeed(double value) { inline void RadarTrack::set_contactspeed(double value) {
_internal_set_contactspeed(value); _internal_set_contactspeed(value);
// @@protoc_insertion_point(field_set:messages.RadarMessage.RadarMessage.ContactSpeed) // @@protoc_insertion_point(field_set:messages.track.RadarTrack.ContactSpeed)
} }
// double ContactCourse = 4; // double ContactCourse = 5;
inline void RadarMessage::clear_contactcourse() { inline void RadarTrack::clear_contactcourse() {
_impl_.contactcourse_ = 0; _impl_.contactcourse_ = 0;
} }
inline double RadarMessage::_internal_contactcourse() const { inline double RadarTrack::_internal_contactcourse() const {
return _impl_.contactcourse_; return _impl_.contactcourse_;
} }
inline double RadarMessage::contactcourse() const { inline double RadarTrack::contactcourse() const {
// @@protoc_insertion_point(field_get:messages.RadarMessage.RadarMessage.ContactCourse) // @@protoc_insertion_point(field_get:messages.track.RadarTrack.ContactCourse)
return _internal_contactcourse(); return _internal_contactcourse();
} }
inline void RadarMessage::_internal_set_contactcourse(double value) { inline void RadarTrack::_internal_set_contactcourse(double value) {
_impl_.contactcourse_ = value; _impl_.contactcourse_ = value;
} }
inline void RadarMessage::set_contactcourse(double value) { inline void RadarTrack::set_contactcourse(double value) {
_internal_set_contactcourse(value); _internal_set_contactcourse(value);
// @@protoc_insertion_point(field_set:messages.RadarMessage.RadarMessage.ContactCourse) // @@protoc_insertion_point(field_set:messages.track.RadarTrack.ContactCourse)
} }
// double ContactBearing = 5; // double ContactBearing = 6;
inline void RadarMessage::clear_contactbearing() { inline void RadarTrack::clear_contactbearing() {
_impl_.contactbearing_ = 0; _impl_.contactbearing_ = 0;
} }
inline double RadarMessage::_internal_contactbearing() const { inline double RadarTrack::_internal_contactbearing() const {
return _impl_.contactbearing_; return _impl_.contactbearing_;
} }
inline double RadarMessage::contactbearing() const { inline double RadarTrack::contactbearing() const {
// @@protoc_insertion_point(field_get:messages.RadarMessage.RadarMessage.ContactBearing) // @@protoc_insertion_point(field_get:messages.track.RadarTrack.ContactBearing)
return _internal_contactbearing(); return _internal_contactbearing();
} }
inline void RadarMessage::_internal_set_contactbearing(double value) { inline void RadarTrack::_internal_set_contactbearing(double value) {
_impl_.contactbearing_ = value; _impl_.contactbearing_ = value;
} }
inline void RadarMessage::set_contactbearing(double value) { inline void RadarTrack::set_contactbearing(double value) {
_internal_set_contactbearing(value); _internal_set_contactbearing(value);
// @@protoc_insertion_point(field_set:messages.RadarMessage.RadarMessage.ContactBearing) // @@protoc_insertion_point(field_set:messages.track.RadarTrack.ContactBearing)
} }
// double ContactRange = 6; // double ContactRange = 7;
inline void RadarMessage::clear_contactrange() { inline void RadarTrack::clear_contactrange() {
_impl_.contactrange_ = 0; _impl_.contactrange_ = 0;
} }
inline double RadarMessage::_internal_contactrange() const { inline double RadarTrack::_internal_contactrange() const {
return _impl_.contactrange_; return _impl_.contactrange_;
} }
inline double RadarMessage::contactrange() const { inline double RadarTrack::contactrange() const {
// @@protoc_insertion_point(field_get:messages.RadarMessage.RadarMessage.ContactRange) // @@protoc_insertion_point(field_get:messages.track.RadarTrack.ContactRange)
return _internal_contactrange(); return _internal_contactrange();
} }
inline void RadarMessage::_internal_set_contactrange(double value) { inline void RadarTrack::_internal_set_contactrange(double value) {
_impl_.contactrange_ = value; _impl_.contactrange_ = value;
} }
inline void RadarMessage::set_contactrange(double value) { inline void RadarTrack::set_contactrange(double value) {
_internal_set_contactrange(value); _internal_set_contactrange(value);
// @@protoc_insertion_point(field_set:messages.RadarMessage.RadarMessage.ContactRange) // @@protoc_insertion_point(field_set:messages.track.RadarTrack.ContactRange)
} }
// string ContactEnvironemnt = 7; // uint32 ContactEnvironemnt = 8;
inline void RadarMessage::clear_contactenvironemnt() { inline void RadarTrack::clear_contactenvironemnt() {
_impl_.contactenvironemnt_.ClearToEmpty(); _impl_.contactenvironemnt_ = 0u;
} }
inline const std::string& RadarMessage::contactenvironemnt() const { inline uint32_t RadarTrack::_internal_contactenvironemnt() const {
// @@protoc_insertion_point(field_get:messages.RadarMessage.RadarMessage.ContactEnvironemnt) return _impl_.contactenvironemnt_;
}
inline uint32_t RadarTrack::contactenvironemnt() const {
// @@protoc_insertion_point(field_get:messages.track.RadarTrack.ContactEnvironemnt)
return _internal_contactenvironemnt(); return _internal_contactenvironemnt();
} }
template <typename ArgT0, typename... ArgT> inline void RadarTrack::_internal_set_contactenvironemnt(uint32_t value) {
inline PROTOBUF_ALWAYS_INLINE
void RadarMessage::set_contactenvironemnt(ArgT0&& arg0, ArgT... args) {
_impl_.contactenvironemnt_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
// @@protoc_insertion_point(field_set:messages.RadarMessage.RadarMessage.ContactEnvironemnt)
}
inline std::string* RadarMessage::mutable_contactenvironemnt() {
std::string* _s = _internal_mutable_contactenvironemnt();
// @@protoc_insertion_point(field_mutable:messages.RadarMessage.RadarMessage.ContactEnvironemnt)
return _s;
}
inline const std::string& RadarMessage::_internal_contactenvironemnt() const {
return _impl_.contactenvironemnt_.Get();
}
inline void RadarMessage::_internal_set_contactenvironemnt(const std::string& value) {
_impl_.contactenvironemnt_.Set(value, GetArenaForAllocation()); _impl_.contactenvironemnt_ = value;
} }
inline std::string* RadarMessage::_internal_mutable_contactenvironemnt() { inline void RadarTrack::set_contactenvironemnt(uint32_t value) {
_internal_set_contactenvironemnt(value);
return _impl_.contactenvironemnt_.Mutable(GetArenaForAllocation()); // @@protoc_insertion_point(field_set:messages.track.RadarTrack.ContactEnvironemnt)
} }
inline std::string* RadarMessage::release_contactenvironemnt() {
// @@protoc_insertion_point(field_release:messages.RadarMessage.RadarMessage.ContactEnvironemnt) // .google.protobuf.Timestamp timestamp = 9;
return _impl_.contactenvironemnt_.Release(); inline bool RadarTrack::_internal_has_timestamp() const {
return this != internal_default_instance() && _impl_.timestamp_ != nullptr;
} }
inline void RadarMessage::set_allocated_contactenvironemnt(std::string* contactenvironemnt) { inline bool RadarTrack::has_timestamp() const {
if (contactenvironemnt != nullptr) { return _internal_has_timestamp();
}
inline const ::PROTOBUF_NAMESPACE_ID::Timestamp& RadarTrack::_internal_timestamp() const {
const ::PROTOBUF_NAMESPACE_ID::Timestamp* p = _impl_.timestamp_;
return p != nullptr ? *p : reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Timestamp&>(
::PROTOBUF_NAMESPACE_ID::_Timestamp_default_instance_);
}
inline const ::PROTOBUF_NAMESPACE_ID::Timestamp& RadarTrack::timestamp() const {
// @@protoc_insertion_point(field_get:messages.track.RadarTrack.timestamp)
return _internal_timestamp();
}
inline void RadarTrack::unsafe_arena_set_allocated_timestamp(
::PROTOBUF_NAMESPACE_ID::Timestamp* timestamp) {
if (GetArenaForAllocation() == nullptr) {
delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.timestamp_);
}
_impl_.timestamp_ = timestamp;
if (timestamp) {
} else { } else {
} }
_impl_.contactenvironemnt_.SetAllocated(contactenvironemnt, GetArenaForAllocation()); // @@protoc_insertion_point(field_unsafe_arena_set_allocated:messages.track.RadarTrack.timestamp)
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING }
if (_impl_.contactenvironemnt_.IsDefault()) { inline ::PROTOBUF_NAMESPACE_ID::Timestamp* RadarTrack::release_timestamp() {
_impl_.contactenvironemnt_.Set("", GetArenaForAllocation());
::PROTOBUF_NAMESPACE_ID::Timestamp* temp = _impl_.timestamp_;
_impl_.timestamp_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
if (GetArenaForAllocation() == nullptr) { delete old; }
#else // PROTOBUF_FORCE_COPY_IN_RELEASE
if (GetArenaForAllocation() != nullptr) {
temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
} }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE
// @@protoc_insertion_point(field_set_allocated:messages.RadarMessage.RadarMessage.ContactEnvironemnt) return temp;
}
inline ::PROTOBUF_NAMESPACE_ID::Timestamp* RadarTrack::unsafe_arena_release_timestamp() {
// @@protoc_insertion_point(field_release:messages.track.RadarTrack.timestamp)
::PROTOBUF_NAMESPACE_ID::Timestamp* temp = _impl_.timestamp_;
_impl_.timestamp_ = nullptr;
return temp;
}
inline ::PROTOBUF_NAMESPACE_ID::Timestamp* RadarTrack::_internal_mutable_timestamp() {
if (_impl_.timestamp_ == nullptr) {
auto* p = CreateMaybeMessage<::PROTOBUF_NAMESPACE_ID::Timestamp>(GetArenaForAllocation());
_impl_.timestamp_ = p;
}
return _impl_.timestamp_;
}
inline ::PROTOBUF_NAMESPACE_ID::Timestamp* RadarTrack::mutable_timestamp() {
::PROTOBUF_NAMESPACE_ID::Timestamp* _msg = _internal_mutable_timestamp();
// @@protoc_insertion_point(field_mutable:messages.track.RadarTrack.timestamp)
return _msg;
}
inline void RadarTrack::set_allocated_timestamp(::PROTOBUF_NAMESPACE_ID::Timestamp* timestamp) {
::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
if (message_arena == nullptr) {
delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.timestamp_);
}
if (timestamp) {
::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(
reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(timestamp));
if (message_arena != submessage_arena) {
timestamp = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
message_arena, timestamp, submessage_arena);
}
} else {
}
_impl_.timestamp_ = timestamp;
// @@protoc_insertion_point(field_set_allocated:messages.track.RadarTrack.timestamp)
} }
#ifdef __GNUC__ #ifdef __GNUC__
@@ -614,10 +750,10 @@ inline void RadarMessage::set_allocated_contactenvironemnt(std::string* contacte
// @@protoc_insertion_point(namespace_scope) // @@protoc_insertion_point(namespace_scope)
} // namespace RadarMessage } // namespace track
} // namespace messages } // namespace messages
// @@protoc_insertion_point(global_scope) // @@protoc_insertion_point(global_scope)
#include <google/protobuf/port_undef.inc> #include <google/protobuf/port_undef.inc>
#endif // GOOGLE_PROTOBUF_INCLUDED_GOOGLE_PROTOBUF_INCLUDED_RadarMessage_2eproto #endif // GOOGLE_PROTOBUF_INCLUDED_GOOGLE_PROTOBUF_INCLUDED_RadarTrack_2eproto

View File

@@ -0,0 +1,23 @@
syntax = "proto3";
package messages.track;
import "google/protobuf/timestamp.proto";
import "GeocentricPosition.proto";
import "Identifier.proto";
// [END declaration]
message RadarTrack {
string RadarID = 1;
messages.track.Identifier EntityIdentifier = 2;
messages.track.EntityGeocentricPosition GeocentricPosition = 3;
double ContactSpeed = 4;
double ContactCourse = 5;
double ContactBearing = 6;
double ContactRange = 7;
uint32 ContactEnvironemnt = 8;
google.protobuf.Timestamp timestamp = 9;
}

View File

@@ -0,0 +1,129 @@
#pragma once
#include "SimCore/Identifier.hpp"
#include "SimCore/Messages/Protos/RadarTrack.pb.h"
#include "SimCore/SimCore.hpp"
#include "google/protobuf/any.pb.h"
#include <SimCore/Messages/Protos/RadarTrack.pb.h>
#include <SimCore/Position.hpp>
#include <WHISPER/Messages/Message.hpp>
#include <Eigen/Core>
#include <cstddef>
#include <cstdint>
#include <loguru.hpp>
#include <memory>
#include <string>
namespace SimCore {
class RadarTrack : public WHISPER::Message {
private:
/// message object from google protobuf
messages::track::RadarTrack radarTrackMessage_;
/// position of the track
Position position_;
/// speed the track
double speed_ = 0;
/// course of the track
double course_ = 0;
/// indicates if track is from an external source
/// bearing
double bearing_;
///range in meters
double range_;
//environment (AIR,SURFACE,SUBSURFACE,SPACE)
SimCore::ContactEnvironment environemnt_;
/// function that packs all information to a protobuf message
void packToMessage();
/// ID of the object
SimCore::Identifier ID_;
public:
/**
* @brief a cuntructor that builds the object from a received message
* @param std::string the received thring from the line
*/
RadarTrack(std::string receivedMessage);
/**
* @brief constructor for building a track which is also the trackmessage to
* send
* @param uint32_t deviceID the id of the sending device
* @param WHISPER::SourceType sourcetype of the sending device
* @param SimCore::Identifier object identifier
*
* @return
*/
RadarTrack(std::uint32_t deviceID, WHISPER::SourceType src,SimCore::Identifier id);
/**
* @brief set the position of the track
* @param Position object of the position class
*
*/
void setPosition(Position pos);
/**
* @brief set the position of the track
* @param 3x double set the x,y,z coordinates direkt which causes that an
* object of position class is created
*/
void setPosition(double x, double y, double z);
/**
* @brief returns the position
* @return object of position class
*
*/
Position getPostion();
/// sets speed
void setSpeed(double speed);
/// set speed in knots
void setSpeedinKnots(double knots);
/// return sspeed
double getSpeed();
/// returns speed as knots
double getSpeedinKnots();
/// set course
void setCourse(double course);
/// returns course
double getCourse();
/// set course
void setBearing(double bearing);
/// returns course
double getBearing();
/// set course
void setRange(double range);
/// returns course
double getRange();
/// set course
void setEnvironment(SimCore::ContactEnvironment);
/// returns course
SimCore::ContactEnvironment getEnvironment();
/// set external indicator
void setExternal(bool val);
SimCore::Identifier getIdentifier();
};
} // namespace SimCore

View File

@@ -21,10 +21,20 @@ Z
enum ObjectSource : std::uint32_t { enum ObjectSource : std::uint32_t {
EXTERNAL = 1, EXTERNAL = 1,
INTERNAL = 2 INTERNAL = 2
}; };
enum ContactEnvironment : std::uint32_t{
UNKNOWN = 0,
SURFACE = 1,
SUBSURFACE = 2,
AIR = 3,
SPACE = 4
};
} }

View File

@@ -0,0 +1,146 @@
#include "SimCore/Identifier.hpp"
#include "SimCore/Messages/Protos/RadarTrack.pb.h"
#include "SimCore/Position.hpp"
#include "SimCore/SimCore.hpp"
#include "WHISPER/Messages/Message.hpp"
#include "google/protobuf/message.h"
#include "google/protobuf/timestamp.pb.h"
#include <SimCore/Messages/Protos/Track.pb.h>
#include <SimCore/Messages/RadarTrack.hpp>
#include <cstdint>
#include <memory>
#include <sys/time.h>
#include <utility>
namespace SimCore {
RadarTrack::RadarTrack(std::string receivedMessage) {
msg = messages::header::Message();
try {
msg.ParseFromString(receivedMessage);
topic_ = msg.topic();
sourceType_ = msg.sourcetype();
msgType_ = msg.msgtype();
auto trackMessage = messages::track::RadarTrack();
if (msg.payload_size() == 1) {
if (msg.payload().begin()->Is<messages::track::RadarTrack>()) {
msg.payload().begin()->UnpackTo(&trackMessage);
}
}
messages::track::Identifier ID = trackMessage.entityidentifier();
ID_ = SimCore::Identifier(
trackMessage.mutable_entityidentifier()->number(),
(SimCore::ObjectSource)trackMessage.mutable_entityidentifier()
->external());
speed_ = trackMessage.contactspeed();
course_ = trackMessage.contactcourse();
bearing_ = trackMessage.contactbearing();
range_ = trackMessage.contactrange();
messages::track::EntityGeocentricPosition pos_temp =
trackMessage.geocentricposition();
position_.setGeocentricPos(pos_temp.x(), pos_temp.y(), pos_temp.z());
} catch (const std::exception &e) {
LOG_S(ERROR) << e.what();
}
}
RadarTrack::RadarTrack(std::uint32_t deviceID, WHISPER::SourceType src,
SimCore::Identifier id)
: Message(deviceID, WHISPER::MsgTopics::TRACK, WHISPER::RAW_TRACK, src),
ID_(id) {
packToMessage();
}
void RadarTrack::packToMessage() {
radarTrackMessage_.mutable_entityidentifier()->set_number(ID_.getNumber());
radarTrackMessage_.mutable_entityidentifier()->set_external((uint32_t)ID_.getObjectSource());
radarTrackMessage_.mutable_geocentricposition()->set_x(
position_.getGeocentricPos()(SimCore::X));
radarTrackMessage_.mutable_geocentricposition()->set_y(
position_.getGeocentricPos()(SimCore::Y));
radarTrackMessage_.mutable_geocentricposition()->set_z(
position_.getGeocentricPos()(SimCore::Z));
radarTrackMessage_.mutable_entityidentifier()->set_number(ID_.getNumber());
radarTrackMessage_.set_contactspeed(speed_);
radarTrackMessage_.set_contactcourse(course_);
radarTrackMessage_.set_contactbearing(bearing_);
radarTrackMessage_.set_contactrange(range_);
radarTrackMessage_.set_contactenvironemnt((uint32_t)environemnt_);
radarTrackMessage_.mutable_timestamp()->set_seconds(time(NULL));
auto payloadMessage = std::make_shared<google::protobuf::Any>();
payloadMessage->PackFrom(radarTrackMessage_);
addPayLoad(payloadMessage);
}
void RadarTrack::setPosition(Position pos) {
position_ = pos;
packToMessage();
}
void RadarTrack::setPosition(double x, double y, double z) {
Position pos(x, y, z);
position_ = pos;
packToMessage();
}
Position RadarTrack::getPostion() { return position_; }
void RadarTrack::setSpeed(double speed) {
speed_ = speed;
packToMessage();
}
void RadarTrack::setCourse(double course) {
course_ = course;
packToMessage();
}
void RadarTrack::setSpeedinKnots(double knots) {
speed_ = knots / SimCore::MsKt;
packToMessage();
}
void RadarTrack::setBearing(double bearing) {
bearing_ = bearing;
packToMessage();
}
void RadarTrack::setRange(double range) {
range_ = range;
packToMessage();
}
void RadarTrack::setEnvironment(SimCore::ContactEnvironment env )
{
environemnt_ = env;
packToMessage();
}
double RadarTrack::getSpeed() { return speed_; }
double RadarTrack::getSpeedinKnots() { return speed_ * SimCore::MsKt; }
double RadarTrack::getCourse() { return course_; }
double RadarTrack::getBearing() { return bearing_; }
double RadarTrack::getRange() { return range_; }
SimCore::ContactEnvironment RadarTrack::getEnvironment(){ return environemnt_; }
SimCore::Identifier RadarTrack::getIdentifier() {
return ID_;
}
} // namespace SimCore

View File

@@ -0,0 +1,65 @@
#include "SimCore/Identifier.hpp"
#include "SimCore/IdentifierMaker.hpp"
#include "SimCore/Messages/RadarTrack.hpp"
#include <SimCore/Messages/Track.hpp>
#include <SimCore/SimCore.hpp>
#include <WHISPER/Messages/Message.hpp>
#include <memory>
#define CATCH_CONFIG_MAIN
#include <SimCore/Position.hpp>
#include <catch2/catch.hpp>
SCENARIO("Testing the SimCore Track") {
GIVEN("different Attributes for a Track in different forms") {
Eigen::Vector3d GeocentPos1;
GeocentPos1(SimCore::GeocentricPosition::X) = 3784014.333;
GeocentPos1(SimCore::GeocentricPosition::Y) = 899869.779;
GeocentPos1(SimCore::GeocentricPosition::Z) = 5037960.502;
SimCore::Position pos(3784014.333, 899869.779, 5037960.502);
std::shared_ptr<WHISPER::Message>
msg = NULL;
SimCore::IdentifierMaker IDMaker;
std::shared_ptr<SimCore::Identifier> ID =
IDMaker.getNewIdentifier(SimCore::ObjectSource::INTERNAL);
LOG_S(INFO)<<"ID: " << ID->getNumber();
std::shared_ptr<SimCore::RadarTrack> RadartrackPtr =
std::make_shared<SimCore::RadarTrack>(1, WHISPER::SourceType::SENSOR, *ID.get());
RadartrackPtr->setPosition(pos);
RadartrackPtr->setBearing(90);
RadartrackPtr->setCourse(360);
RadartrackPtr->setRange(1000);
RadartrackPtr->setEnvironment(SimCore::ContactEnvironment::SURFACE);
bool isEqual = false;
WHEN("constructing Track Object with data") {
std::string serializedMSG = RadartrackPtr->serialize();
SimCore::RadarTrack radarTrack2(serializedMSG);
SimCore::Identifier ID1(radarTrack2.getIdentifier().getPair());
auto tr0 = *RadartrackPtr.get();
SimCore::Identifier ID2(tr0.getIdentifier().getPair());
LOG_S(INFO)<<"ID2 source: " << ID2.getObjectSource();
if (ID1 == ID2) {
isEqual = true;
}
THEN("check if Track attributes are correct") {
REQUIRE(RadartrackPtr->getIdentifier().getNumber() == 1);
REQUIRE(isEqual == true);
REQUIRE(radarTrack2.getIdentifier() == RadartrackPtr->getIdentifier());
REQUIRE(radarTrack2.getIdentifier().getNumber() == RadartrackPtr->getIdentifier().getNumber());
REQUIRE(radarTrack2.getPostion().getGeocentricPos() == RadartrackPtr->getPostion().getGeocentricPos());
} // THEN
} // WHEN
} // GIVEN
} // SCENARIO