ADD: added entity side as enum and added maps to translate side and kind enums to string; change contactenvironment to contactside in proto

This commit is contained in:
Henry Winkel
2023-09-27 14:40:22 +02:00
parent 4a61f74e83
commit c8061ca068
6 changed files with 252 additions and 121 deletions

View File

@@ -32,10 +32,11 @@ PROTOBUF_CONSTEXPR SimTrack::SimTrack(
, /*decltype(_impl_.geocentricposition_)*/nullptr , /*decltype(_impl_.geocentricposition_)*/nullptr
, /*decltype(_impl_.contactspeed_)*/0 , /*decltype(_impl_.contactspeed_)*/0
, /*decltype(_impl_.contactsourcetype_)*/0u , /*decltype(_impl_.contactsourcetype_)*/0u
, /*decltype(_impl_.contactenvironemnt_)*/0u , /*decltype(_impl_.contactkind_)*/0u
, /*decltype(_impl_.contactcourse_)*/0 , /*decltype(_impl_.contactcourse_)*/0
, /*decltype(_impl_.conactpitch_)*/0 , /*decltype(_impl_.conactpitch_)*/0
, /*decltype(_impl_.contactrcs_)*/0} {} , /*decltype(_impl_.contactrcs_)*/0
, /*decltype(_impl_.contactside_)*/0u} {}
struct SimTrackDefaultTypeInternal { struct SimTrackDefaultTypeInternal {
PROTOBUF_CONSTEXPR SimTrackDefaultTypeInternal() PROTOBUF_CONSTEXPR SimTrackDefaultTypeInternal()
: _instance(::_pbi::ConstantInitialized{}) {} : _instance(::_pbi::ConstantInitialized{}) {}
@@ -88,7 +89,8 @@ const uint32_t TableStruct_SimTrack_2eproto::offsets[] PROTOBUF_SECTION_VARIABLE
PROTOBUF_FIELD_OFFSET(::messages::SimTrack::SimTrack, _impl_.contactspeed_), PROTOBUF_FIELD_OFFSET(::messages::SimTrack::SimTrack, _impl_.contactspeed_),
PROTOBUF_FIELD_OFFSET(::messages::SimTrack::SimTrack, _impl_.contactcourse_), PROTOBUF_FIELD_OFFSET(::messages::SimTrack::SimTrack, _impl_.contactcourse_),
PROTOBUF_FIELD_OFFSET(::messages::SimTrack::SimTrack, _impl_.conactpitch_), PROTOBUF_FIELD_OFFSET(::messages::SimTrack::SimTrack, _impl_.conactpitch_),
PROTOBUF_FIELD_OFFSET(::messages::SimTrack::SimTrack, _impl_.contactenvironemnt_), PROTOBUF_FIELD_OFFSET(::messages::SimTrack::SimTrack, _impl_.contactkind_),
PROTOBUF_FIELD_OFFSET(::messages::SimTrack::SimTrack, _impl_.contactside_),
PROTOBUF_FIELD_OFFSET(::messages::SimTrack::SimTrack, _impl_.contactrcs_), PROTOBUF_FIELD_OFFSET(::messages::SimTrack::SimTrack, _impl_.contactrcs_),
PROTOBUF_FIELD_OFFSET(::messages::SimTrack::SimTrack, _impl_.contactemissions_), PROTOBUF_FIELD_OFFSET(::messages::SimTrack::SimTrack, _impl_.contactemissions_),
~0u, ~0u,
@@ -99,6 +101,7 @@ const uint32_t TableStruct_SimTrack_2eproto::offsets[] PROTOBUF_SECTION_VARIABLE
4, 4,
5, 5,
3, 3,
7,
6, 6,
~0u, ~0u,
PROTOBUF_FIELD_OFFSET(::messages::SimTrack::Emission, _impl_._has_bits_), PROTOBUF_FIELD_OFFSET(::messages::SimTrack::Emission, _impl_._has_bits_),
@@ -129,8 +132,8 @@ const uint32_t TableStruct_SimTrack_2eproto::offsets[] PROTOBUF_SECTION_VARIABLE
5, 5,
}; };
static const ::_pbi::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = { static const ::_pbi::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = {
{ 0, 16, -1, sizeof(::messages::SimTrack::SimTrack)}, { 0, 17, -1, sizeof(::messages::SimTrack::SimTrack)},
{ 26, 42, -1, sizeof(::messages::SimTrack::Emission)}, { 28, 44, -1, sizeof(::messages::SimTrack::Emission)},
}; };
static const ::_pb::Message* const file_default_instances[] = { static const ::_pb::Message* const file_default_instances[] = {
@@ -142,30 +145,31 @@ const char descriptor_table_protodef_SimTrack_2eproto[] PROTOBUF_SECTION_VARIABL
"\n\016SimTrack.proto\022\021messages.SimTrack\032\037goo" "\n\016SimTrack.proto\022\021messages.SimTrack\032\037goo"
"gle/protobuf/timestamp.proto\032\036google/pro" "gle/protobuf/timestamp.proto\032\036google/pro"
"tobuf/duration.proto\032\020Identifier.proto\032\030" "tobuf/duration.proto\032\020Identifier.proto\032\030"
"GeocentricPosition.proto\"\211\004\n\010SimTrack\0224\n" "GeocentricPosition.proto\"\245\004\n\010SimTrack\0224\n"
"\020EntityIdentifier\030\001 \001(\0132\032.messages.track" "\020EntityIdentifier\030\001 \001(\0132\032.messages.track"
".Identifier\022\024\n\014ConatactName\030\002 \001(\t\022\036\n\021Con" ".Identifier\022\024\n\014ConatactName\030\002 \001(\t\022\036\n\021Con"
"tactSourceType\030\003 \001(\rH\000\210\001\001\022I\n\022GeocentricP" "tactSourceType\030\003 \001(\rH\000\210\001\001\022I\n\022GeocentricP"
"osition\030\004 \001(\0132(.messages.track.EntityGeo" "osition\030\004 \001(\0132(.messages.track.EntityGeo"
"centricPositionH\001\210\001\001\022\031\n\014ContactSpeed\030\005 \001" "centricPositionH\001\210\001\001\022\031\n\014ContactSpeed\030\005 \001"
"(\001H\002\210\001\001\022\032\n\rContactCourse\030\006 \001(\001H\003\210\001\001\022\030\n\013C" "(\001H\002\210\001\001\022\032\n\rContactCourse\030\006 \001(\001H\003\210\001\001\022\030\n\013C"
"onactPitch\030\007 \001(\001H\004\210\001\001\022\037\n\022ContactEnvirone" "onactPitch\030\007 \001(\001H\004\210\001\001\022\030\n\013ContactKind\030\010 \001"
"mnt\030\010 \001(\rH\005\210\001\001\022\027\n\nContactRCS\030\t \001(\001H\006\210\001\001\022" "(\rH\005\210\001\001\022\030\n\013ContactSide\030\t \001(\rH\006\210\001\001\022\027\n\nCon"
"5\n\020ContactEmissions\030\n \003(\0132\033.messages.Sim" "tactRCS\030\n \001(\001H\007\210\001\001\0225\n\020ContactEmissions\030\013"
"Track.EmissionB\024\n\022_ContactSourceTypeB\025\n\023" " \003(\0132\033.messages.SimTrack.EmissionB\024\n\022_Co"
"_GeocentricPositionB\017\n\r_ContactSpeedB\020\n\016" "ntactSourceTypeB\025\n\023_GeocentricPositionB\017"
"_ContactCourseB\016\n\014_ConactPitchB\025\n\023_Conta" "\n\r_ContactSpeedB\020\n\016_ContactCourseB\016\n\014_Co"
"ctEnvironemntB\r\n\013_ContactRCS\"\366\002\n\010Emissio" "nactPitchB\016\n\014_ContactKindB\016\n\014_ContactSid"
"n\022.\n\nIdentifier\030\001 \001(\0132\032.messages.track.I" "eB\r\n\013_ContactRCS\"\366\002\n\010Emission\022.\n\nIdentif"
"dentifier\022\014\n\004name\030\002 \001(\t\022\021\n\tfrequency\030\003 \001" "ier\030\001 \001(\0132\032.messages.track.Identifier\022\014\n"
"(\001\022\r\n\005Range\030\004 \001(\001\022\026\n\tBandwidth\030\005 \001(\rH\000\210\001" "\004name\030\002 \001(\t\022\021\n\tfrequency\030\003 \001(\001\022\r\n\005Range\030"
"\001\022\027\n\npulseWidth\030\006 \001(\rH\001\210\001\001\022\034\n\017pulseRepit" "\004 \001(\001\022\026\n\tBandwidth\030\005 \001(\rH\000\210\001\001\022\027\n\npulseWi"
"ition\030\007 \001(\rH\002\210\001\001\022\032\n\rradiatedPower\030\010 \001(\rH" "dth\030\006 \001(\rH\001\210\001\001\022\034\n\017pulseRepitition\030\007 \001(\rH"
"\003\210\001\001\022\032\n\rnumberOfBeams\030\t \001(\rH\004\210\001\001\022\033\n\016sear" "\002\210\001\001\022\032\n\rradiatedPower\030\010 \001(\rH\003\210\001\001\022\032\n\rnumb"
"chInterval\030\n \001(\rH\005\210\001\001B\014\n\n_BandwidthB\r\n\013_" "erOfBeams\030\t \001(\rH\004\210\001\001\022\033\n\016searchInterval\030\n"
"pulseWidthB\022\n\020_pulseRepititionB\020\n\016_radia" " \001(\rH\005\210\001\001B\014\n\n_BandwidthB\r\n\013_pulseWidthB\022"
"tedPowerB\020\n\016_numberOfBeamsB\021\n\017_searchInt" "\n\020_pulseRepititionB\020\n\016_radiatedPowerB\020\n\016"
"ervalb\006proto3" "_numberOfBeamsB\021\n\017_searchIntervalb\006proto"
"3"
; ;
static const ::_pbi::DescriptorTable* const descriptor_table_SimTrack_2eproto_deps[4] = { static const ::_pbi::DescriptorTable* const descriptor_table_SimTrack_2eproto_deps[4] = {
&::descriptor_table_GeocentricPosition_2eproto, &::descriptor_table_GeocentricPosition_2eproto,
@@ -175,7 +179,7 @@ static const ::_pbi::DescriptorTable* const descriptor_table_SimTrack_2eproto_de
}; };
static ::_pbi::once_flag descriptor_table_SimTrack_2eproto_once; static ::_pbi::once_flag descriptor_table_SimTrack_2eproto_once;
const ::_pbi::DescriptorTable descriptor_table_SimTrack_2eproto = { const ::_pbi::DescriptorTable descriptor_table_SimTrack_2eproto = {
false, false, 1053, descriptor_table_protodef_SimTrack_2eproto, false, false, 1081, descriptor_table_protodef_SimTrack_2eproto,
"SimTrack.proto", "SimTrack.proto",
&descriptor_table_SimTrack_2eproto_once, descriptor_table_SimTrack_2eproto_deps, 4, 2, &descriptor_table_SimTrack_2eproto_once, descriptor_table_SimTrack_2eproto_deps, 4, 2,
schemas, file_default_instances, TableStruct_SimTrack_2eproto::offsets, schemas, file_default_instances, TableStruct_SimTrack_2eproto::offsets,
@@ -213,9 +217,12 @@ class SimTrack::_Internal {
static void set_has_conactpitch(HasBits* has_bits) { static void set_has_conactpitch(HasBits* has_bits) {
(*has_bits)[0] |= 32u; (*has_bits)[0] |= 32u;
} }
static void set_has_contactenvironemnt(HasBits* has_bits) { static void set_has_contactkind(HasBits* has_bits) {
(*has_bits)[0] |= 8u; (*has_bits)[0] |= 8u;
} }
static void set_has_contactside(HasBits* has_bits) {
(*has_bits)[0] |= 128u;
}
static void set_has_contactrcs(HasBits* has_bits) { static void set_has_contactrcs(HasBits* has_bits) {
(*has_bits)[0] |= 64u; (*has_bits)[0] |= 64u;
} }
@@ -257,10 +264,11 @@ SimTrack::SimTrack(const SimTrack& from)
, decltype(_impl_.geocentricposition_){nullptr} , decltype(_impl_.geocentricposition_){nullptr}
, decltype(_impl_.contactspeed_){} , decltype(_impl_.contactspeed_){}
, decltype(_impl_.contactsourcetype_){} , decltype(_impl_.contactsourcetype_){}
, decltype(_impl_.contactenvironemnt_){} , decltype(_impl_.contactkind_){}
, decltype(_impl_.contactcourse_){} , decltype(_impl_.contactcourse_){}
, decltype(_impl_.conactpitch_){} , decltype(_impl_.conactpitch_){}
, decltype(_impl_.contactrcs_){}}; , decltype(_impl_.contactrcs_){}
, decltype(_impl_.contactside_){}};
_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
_impl_.conatactname_.InitDefault(); _impl_.conatactname_.InitDefault();
@@ -278,8 +286,8 @@ SimTrack::SimTrack(const SimTrack& from)
_this->_impl_.geocentricposition_ = new ::messages::track::EntityGeocentricPosition(*from._impl_.geocentricposition_); _this->_impl_.geocentricposition_ = new ::messages::track::EntityGeocentricPosition(*from._impl_.geocentricposition_);
} }
::memcpy(&_impl_.contactspeed_, &from._impl_.contactspeed_, ::memcpy(&_impl_.contactspeed_, &from._impl_.contactspeed_,
static_cast<size_t>(reinterpret_cast<char*>(&_impl_.contactrcs_) - static_cast<size_t>(reinterpret_cast<char*>(&_impl_.contactside_) -
reinterpret_cast<char*>(&_impl_.contactspeed_)) + sizeof(_impl_.contactrcs_)); reinterpret_cast<char*>(&_impl_.contactspeed_)) + sizeof(_impl_.contactside_));
// @@protoc_insertion_point(copy_constructor:messages.SimTrack.SimTrack) // @@protoc_insertion_point(copy_constructor:messages.SimTrack.SimTrack)
} }
@@ -296,10 +304,11 @@ inline void SimTrack::SharedCtor(
, decltype(_impl_.geocentricposition_){nullptr} , decltype(_impl_.geocentricposition_){nullptr}
, decltype(_impl_.contactspeed_){0} , decltype(_impl_.contactspeed_){0}
, decltype(_impl_.contactsourcetype_){0u} , decltype(_impl_.contactsourcetype_){0u}
, decltype(_impl_.contactenvironemnt_){0u} , decltype(_impl_.contactkind_){0u}
, decltype(_impl_.contactcourse_){0} , decltype(_impl_.contactcourse_){0}
, decltype(_impl_.conactpitch_){0} , decltype(_impl_.conactpitch_){0}
, decltype(_impl_.contactrcs_){0} , decltype(_impl_.contactrcs_){0}
, decltype(_impl_.contactside_){0u}
}; };
_impl_.conatactname_.InitDefault(); _impl_.conatactname_.InitDefault();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
@@ -345,10 +354,10 @@ void SimTrack::Clear() {
GOOGLE_DCHECK(_impl_.geocentricposition_ != nullptr); GOOGLE_DCHECK(_impl_.geocentricposition_ != nullptr);
_impl_.geocentricposition_->Clear(); _impl_.geocentricposition_->Clear();
} }
if (cached_has_bits & 0x0000007eu) { if (cached_has_bits & 0x000000feu) {
::memset(&_impl_.contactspeed_, 0, static_cast<size_t>( ::memset(&_impl_.contactspeed_, 0, static_cast<size_t>(
reinterpret_cast<char*>(&_impl_.contactrcs_) - reinterpret_cast<char*>(&_impl_.contactside_) -
reinterpret_cast<char*>(&_impl_.contactspeed_)) + sizeof(_impl_.contactrcs_)); reinterpret_cast<char*>(&_impl_.contactspeed_)) + sizeof(_impl_.contactside_));
} }
_impl_._has_bits_.Clear(); _impl_._has_bits_.Clear();
_internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
@@ -423,34 +432,43 @@ const char* SimTrack::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx)
} else } else
goto handle_unusual; goto handle_unusual;
continue; continue;
// optional uint32 ContactEnvironemnt = 8; // optional uint32 ContactKind = 8;
case 8: case 8:
if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 64)) { if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 64)) {
_Internal::set_has_contactenvironemnt(&has_bits); _Internal::set_has_contactkind(&has_bits);
_impl_.contactenvironemnt_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr); _impl_.contactkind_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
CHK_(ptr); CHK_(ptr);
} else } else
goto handle_unusual; goto handle_unusual;
continue; continue;
// optional double ContactRCS = 9; // optional uint32 ContactSide = 9;
case 9: case 9:
if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 73)) { if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 72)) {
_Internal::set_has_contactside(&has_bits);
_impl_.contactside_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
CHK_(ptr);
} else
goto handle_unusual;
continue;
// optional double ContactRCS = 10;
case 10:
if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 81)) {
_Internal::set_has_contactrcs(&has_bits); _Internal::set_has_contactrcs(&has_bits);
_impl_.contactrcs_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr); _impl_.contactrcs_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
ptr += sizeof(double); ptr += sizeof(double);
} else } else
goto handle_unusual; goto handle_unusual;
continue; continue;
// repeated .messages.SimTrack.Emission ContactEmissions = 10; // repeated .messages.SimTrack.Emission ContactEmissions = 11;
case 10: case 11:
if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 82)) { if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 90)) {
ptr -= 1; ptr -= 1;
do { do {
ptr += 1; ptr += 1;
ptr = ctx->ParseMessage(_internal_add_contactemissions(), ptr); ptr = ctx->ParseMessage(_internal_add_contactemissions(), ptr);
CHK_(ptr); CHK_(ptr);
if (!ctx->DataAvailable(ptr)) break; if (!ctx->DataAvailable(ptr)) break;
} while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<82>(ptr)); } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<90>(ptr));
} else } else
goto handle_unusual; goto handle_unusual;
continue; continue;
@@ -532,24 +550,30 @@ uint8_t* SimTrack::_InternalSerialize(
target = ::_pbi::WireFormatLite::WriteDoubleToArray(7, this->_internal_conactpitch(), target); target = ::_pbi::WireFormatLite::WriteDoubleToArray(7, this->_internal_conactpitch(), target);
} }
// optional uint32 ContactEnvironemnt = 8; // optional uint32 ContactKind = 8;
if (_internal_has_contactenvironemnt()) { if (_internal_has_contactkind()) {
target = stream->EnsureSpace(target); target = stream->EnsureSpace(target);
target = ::_pbi::WireFormatLite::WriteUInt32ToArray(8, this->_internal_contactenvironemnt(), target); target = ::_pbi::WireFormatLite::WriteUInt32ToArray(8, this->_internal_contactkind(), target);
} }
// optional double ContactRCS = 9; // optional uint32 ContactSide = 9;
if (_internal_has_contactside()) {
target = stream->EnsureSpace(target);
target = ::_pbi::WireFormatLite::WriteUInt32ToArray(9, this->_internal_contactside(), target);
}
// optional double ContactRCS = 10;
if (_internal_has_contactrcs()) { if (_internal_has_contactrcs()) {
target = stream->EnsureSpace(target); target = stream->EnsureSpace(target);
target = ::_pbi::WireFormatLite::WriteDoubleToArray(9, this->_internal_contactrcs(), target); target = ::_pbi::WireFormatLite::WriteDoubleToArray(10, this->_internal_contactrcs(), target);
} }
// repeated .messages.SimTrack.Emission ContactEmissions = 10; // repeated .messages.SimTrack.Emission ContactEmissions = 11;
for (unsigned i = 0, for (unsigned i = 0,
n = static_cast<unsigned>(this->_internal_contactemissions_size()); i < n; i++) { n = static_cast<unsigned>(this->_internal_contactemissions_size()); i < n; i++) {
const auto& repfield = this->_internal_contactemissions(i); const auto& repfield = this->_internal_contactemissions(i);
target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
InternalWriteMessage(10, repfield, repfield.GetCachedSize(), target, stream); InternalWriteMessage(11, repfield, repfield.GetCachedSize(), target, stream);
} }
if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
@@ -568,7 +592,7 @@ size_t SimTrack::ByteSizeLong() const {
// 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;
// repeated .messages.SimTrack.Emission ContactEmissions = 10; // repeated .messages.SimTrack.Emission ContactEmissions = 11;
total_size += 1UL * this->_internal_contactemissions_size(); total_size += 1UL * this->_internal_contactemissions_size();
for (const auto& msg : this->_impl_.contactemissions_) { for (const auto& msg : this->_impl_.contactemissions_) {
total_size += total_size +=
@@ -590,7 +614,7 @@ size_t SimTrack::ByteSizeLong() const {
} }
cached_has_bits = _impl_._has_bits_[0]; cached_has_bits = _impl_._has_bits_[0];
if (cached_has_bits & 0x0000007fu) { if (cached_has_bits & 0x000000ffu) {
// optional .messages.track.EntityGeocentricPosition GeocentricPosition = 4; // optional .messages.track.EntityGeocentricPosition GeocentricPosition = 4;
if (cached_has_bits & 0x00000001u) { if (cached_has_bits & 0x00000001u) {
total_size += 1 + total_size += 1 +
@@ -608,9 +632,9 @@ size_t SimTrack::ByteSizeLong() const {
total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_contactsourcetype()); total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_contactsourcetype());
} }
// optional uint32 ContactEnvironemnt = 8; // optional uint32 ContactKind = 8;
if (cached_has_bits & 0x00000008u) { if (cached_has_bits & 0x00000008u) {
total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_contactenvironemnt()); total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_contactkind());
} }
// optional double ContactCourse = 6; // optional double ContactCourse = 6;
@@ -623,11 +647,16 @@ size_t SimTrack::ByteSizeLong() const {
total_size += 1 + 8; total_size += 1 + 8;
} }
// optional double ContactRCS = 9; // optional double ContactRCS = 10;
if (cached_has_bits & 0x00000040u) { if (cached_has_bits & 0x00000040u) {
total_size += 1 + 8; total_size += 1 + 8;
} }
// optional uint32 ContactSide = 9;
if (cached_has_bits & 0x00000080u) {
total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_contactside());
}
} }
return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_); return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
} }
@@ -656,7 +685,7 @@ void SimTrack::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTO
from._internal_entityidentifier()); from._internal_entityidentifier());
} }
cached_has_bits = from._impl_._has_bits_[0]; cached_has_bits = from._impl_._has_bits_[0];
if (cached_has_bits & 0x0000007fu) { if (cached_has_bits & 0x000000ffu) {
if (cached_has_bits & 0x00000001u) { if (cached_has_bits & 0x00000001u) {
_this->_internal_mutable_geocentricposition()->::messages::track::EntityGeocentricPosition::MergeFrom( _this->_internal_mutable_geocentricposition()->::messages::track::EntityGeocentricPosition::MergeFrom(
from._internal_geocentricposition()); from._internal_geocentricposition());
@@ -668,7 +697,7 @@ void SimTrack::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTO
_this->_impl_.contactsourcetype_ = from._impl_.contactsourcetype_; _this->_impl_.contactsourcetype_ = from._impl_.contactsourcetype_;
} }
if (cached_has_bits & 0x00000008u) { if (cached_has_bits & 0x00000008u) {
_this->_impl_.contactenvironemnt_ = from._impl_.contactenvironemnt_; _this->_impl_.contactkind_ = from._impl_.contactkind_;
} }
if (cached_has_bits & 0x00000010u) { if (cached_has_bits & 0x00000010u) {
_this->_impl_.contactcourse_ = from._impl_.contactcourse_; _this->_impl_.contactcourse_ = from._impl_.contactcourse_;
@@ -679,6 +708,9 @@ void SimTrack::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTO
if (cached_has_bits & 0x00000040u) { if (cached_has_bits & 0x00000040u) {
_this->_impl_.contactrcs_ = from._impl_.contactrcs_; _this->_impl_.contactrcs_ = from._impl_.contactrcs_;
} }
if (cached_has_bits & 0x00000080u) {
_this->_impl_.contactside_ = from._impl_.contactside_;
}
_this->_impl_._has_bits_[0] |= cached_has_bits; _this->_impl_._has_bits_[0] |= cached_has_bits;
} }
_this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
@@ -707,8 +739,8 @@ void SimTrack::InternalSwap(SimTrack* other) {
&other->_impl_.conatactname_, rhs_arena &other->_impl_.conatactname_, rhs_arena
); );
::PROTOBUF_NAMESPACE_ID::internal::memswap< ::PROTOBUF_NAMESPACE_ID::internal::memswap<
PROTOBUF_FIELD_OFFSET(SimTrack, _impl_.contactrcs_) PROTOBUF_FIELD_OFFSET(SimTrack, _impl_.contactside_)
+ sizeof(SimTrack::_impl_.contactrcs_) + sizeof(SimTrack::_impl_.contactside_)
- PROTOBUF_FIELD_OFFSET(SimTrack, _impl_.entityidentifier_)>( - PROTOBUF_FIELD_OFFSET(SimTrack, _impl_.entityidentifier_)>(
reinterpret_cast<char*>(&_impl_.entityidentifier_), reinterpret_cast<char*>(&_impl_.entityidentifier_),
reinterpret_cast<char*>(&other->_impl_.entityidentifier_)); reinterpret_cast<char*>(&other->_impl_.entityidentifier_));

View File

@@ -188,18 +188,19 @@ class SimTrack final :
// accessors ------------------------------------------------------- // accessors -------------------------------------------------------
enum : int { enum : int {
kContactEmissionsFieldNumber = 10, kContactEmissionsFieldNumber = 11,
kConatactNameFieldNumber = 2, kConatactNameFieldNumber = 2,
kEntityIdentifierFieldNumber = 1, kEntityIdentifierFieldNumber = 1,
kGeocentricPositionFieldNumber = 4, kGeocentricPositionFieldNumber = 4,
kContactSpeedFieldNumber = 5, kContactSpeedFieldNumber = 5,
kContactSourceTypeFieldNumber = 3, kContactSourceTypeFieldNumber = 3,
kContactEnvironemntFieldNumber = 8, kContactKindFieldNumber = 8,
kContactCourseFieldNumber = 6, kContactCourseFieldNumber = 6,
kConactPitchFieldNumber = 7, kConactPitchFieldNumber = 7,
kContactRCSFieldNumber = 9, kContactRCSFieldNumber = 10,
kContactSideFieldNumber = 9,
}; };
// repeated .messages.SimTrack.Emission ContactEmissions = 10; // repeated .messages.SimTrack.Emission ContactEmissions = 11;
int contactemissions_size() const; int contactemissions_size() const;
private: private:
int _internal_contactemissions_size() const; int _internal_contactemissions_size() const;
@@ -293,17 +294,17 @@ class SimTrack final :
void _internal_set_contactsourcetype(uint32_t value); void _internal_set_contactsourcetype(uint32_t value);
public: public:
// optional uint32 ContactEnvironemnt = 8; // optional uint32 ContactKind = 8;
bool has_contactenvironemnt() const; bool has_contactkind() const;
private: private:
bool _internal_has_contactenvironemnt() const; bool _internal_has_contactkind() const;
public: public:
void clear_contactenvironemnt(); void clear_contactkind();
uint32_t contactenvironemnt() const; uint32_t contactkind() const;
void set_contactenvironemnt(uint32_t value); void set_contactkind(uint32_t value);
private: private:
uint32_t _internal_contactenvironemnt() const; uint32_t _internal_contactkind() const;
void _internal_set_contactenvironemnt(uint32_t value); void _internal_set_contactkind(uint32_t value);
public: public:
// optional double ContactCourse = 6; // optional double ContactCourse = 6;
@@ -332,7 +333,7 @@ class SimTrack final :
void _internal_set_conactpitch(double value); void _internal_set_conactpitch(double value);
public: public:
// optional double ContactRCS = 9; // optional double ContactRCS = 10;
bool has_contactrcs() const; bool has_contactrcs() const;
private: private:
bool _internal_has_contactrcs() const; bool _internal_has_contactrcs() const;
@@ -345,6 +346,19 @@ class SimTrack final :
void _internal_set_contactrcs(double value); void _internal_set_contactrcs(double value);
public: public:
// optional uint32 ContactSide = 9;
bool has_contactside() const;
private:
bool _internal_has_contactside() const;
public:
void clear_contactside();
uint32_t contactside() const;
void set_contactside(uint32_t value);
private:
uint32_t _internal_contactside() const;
void _internal_set_contactside(uint32_t value);
public:
// @@protoc_insertion_point(class_scope:messages.SimTrack.SimTrack) // @@protoc_insertion_point(class_scope:messages.SimTrack.SimTrack)
private: private:
class _Internal; class _Internal;
@@ -361,10 +375,11 @@ class SimTrack final :
::messages::track::EntityGeocentricPosition* geocentricposition_; ::messages::track::EntityGeocentricPosition* geocentricposition_;
double contactspeed_; double contactspeed_;
uint32_t contactsourcetype_; uint32_t contactsourcetype_;
uint32_t contactenvironemnt_; uint32_t contactkind_;
double contactcourse_; double contactcourse_;
double conactpitch_; double conactpitch_;
double contactrcs_; double contactrcs_;
uint32_t contactside_;
}; };
union { Impl_ _impl_; }; union { Impl_ _impl_; };
friend struct ::TableStruct_SimTrack_2eproto; friend struct ::TableStruct_SimTrack_2eproto;
@@ -1000,35 +1015,63 @@ inline void SimTrack::set_conactpitch(double value) {
// @@protoc_insertion_point(field_set:messages.SimTrack.SimTrack.ConactPitch) // @@protoc_insertion_point(field_set:messages.SimTrack.SimTrack.ConactPitch)
} }
// optional uint32 ContactEnvironemnt = 8; // optional uint32 ContactKind = 8;
inline bool SimTrack::_internal_has_contactenvironemnt() const { inline bool SimTrack::_internal_has_contactkind() const {
bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0; bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0;
return value; return value;
} }
inline bool SimTrack::has_contactenvironemnt() const { inline bool SimTrack::has_contactkind() const {
return _internal_has_contactenvironemnt(); return _internal_has_contactkind();
} }
inline void SimTrack::clear_contactenvironemnt() { inline void SimTrack::clear_contactkind() {
_impl_.contactenvironemnt_ = 0u; _impl_.contactkind_ = 0u;
_impl_._has_bits_[0] &= ~0x00000008u; _impl_._has_bits_[0] &= ~0x00000008u;
} }
inline uint32_t SimTrack::_internal_contactenvironemnt() const { inline uint32_t SimTrack::_internal_contactkind() const {
return _impl_.contactenvironemnt_; return _impl_.contactkind_;
} }
inline uint32_t SimTrack::contactenvironemnt() const { inline uint32_t SimTrack::contactkind() const {
// @@protoc_insertion_point(field_get:messages.SimTrack.SimTrack.ContactEnvironemnt) // @@protoc_insertion_point(field_get:messages.SimTrack.SimTrack.ContactKind)
return _internal_contactenvironemnt(); return _internal_contactkind();
} }
inline void SimTrack::_internal_set_contactenvironemnt(uint32_t value) { inline void SimTrack::_internal_set_contactkind(uint32_t value) {
_impl_._has_bits_[0] |= 0x00000008u; _impl_._has_bits_[0] |= 0x00000008u;
_impl_.contactenvironemnt_ = value; _impl_.contactkind_ = value;
} }
inline void SimTrack::set_contactenvironemnt(uint32_t value) { inline void SimTrack::set_contactkind(uint32_t value) {
_internal_set_contactenvironemnt(value); _internal_set_contactkind(value);
// @@protoc_insertion_point(field_set:messages.SimTrack.SimTrack.ContactEnvironemnt) // @@protoc_insertion_point(field_set:messages.SimTrack.SimTrack.ContactKind)
} }
// optional double ContactRCS = 9; // optional uint32 ContactSide = 9;
inline bool SimTrack::_internal_has_contactside() const {
bool value = (_impl_._has_bits_[0] & 0x00000080u) != 0;
return value;
}
inline bool SimTrack::has_contactside() const {
return _internal_has_contactside();
}
inline void SimTrack::clear_contactside() {
_impl_.contactside_ = 0u;
_impl_._has_bits_[0] &= ~0x00000080u;
}
inline uint32_t SimTrack::_internal_contactside() const {
return _impl_.contactside_;
}
inline uint32_t SimTrack::contactside() const {
// @@protoc_insertion_point(field_get:messages.SimTrack.SimTrack.ContactSide)
return _internal_contactside();
}
inline void SimTrack::_internal_set_contactside(uint32_t value) {
_impl_._has_bits_[0] |= 0x00000080u;
_impl_.contactside_ = value;
}
inline void SimTrack::set_contactside(uint32_t value) {
_internal_set_contactside(value);
// @@protoc_insertion_point(field_set:messages.SimTrack.SimTrack.ContactSide)
}
// optional double ContactRCS = 10;
inline bool SimTrack::_internal_has_contactrcs() const { inline bool SimTrack::_internal_has_contactrcs() const {
bool value = (_impl_._has_bits_[0] & 0x00000040u) != 0; bool value = (_impl_._has_bits_[0] & 0x00000040u) != 0;
return value; return value;
@@ -1056,7 +1099,7 @@ inline void SimTrack::set_contactrcs(double value) {
// @@protoc_insertion_point(field_set:messages.SimTrack.SimTrack.ContactRCS) // @@protoc_insertion_point(field_set:messages.SimTrack.SimTrack.ContactRCS)
} }
// repeated .messages.SimTrack.Emission ContactEmissions = 10; // repeated .messages.SimTrack.Emission ContactEmissions = 11;
inline int SimTrack::_internal_contactemissions_size() const { inline int SimTrack::_internal_contactemissions_size() const {
return _impl_.contactemissions_.size(); return _impl_.contactemissions_.size();
} }

View File

@@ -20,10 +20,11 @@ message SimTrack {
optional double ContactSpeed = 5; optional double ContactSpeed = 5;
optional double ContactCourse = 6; optional double ContactCourse = 6;
optional double ConactPitch = 7; optional double ConactPitch = 7;
optional uint32 ContactEnvironemnt = 8; optional uint32 ContactKind = 8;
optional double ContactRCS = 9; optional uint32 ContactSide = 9;
optional double ContactRCS = 10;
repeated Emission ContactEmissions = 10; repeated Emission ContactEmissions = 11;
// google.protobuf.Timestamp timestamp = 9; // google.protobuf.Timestamp timestamp = 9;
} }

View File

@@ -4,6 +4,7 @@
#include <WHISPER/Messages/Message.hpp> #include <WHISPER/Messages/Message.hpp>
#include "SimCore/Messages/Protos/SimTrack.pb.h" #include "SimCore/Messages/Protos/SimTrack.pb.h"
#include "SimCore/SimCore.hpp"
#include <SimCore/Identifier.hpp> #include <SimCore/Identifier.hpp>
#include <SimCore/Position.hpp> #include <SimCore/Position.hpp>
#include <SimCore/data.hpp> #include <SimCore/data.hpp>
@@ -20,13 +21,13 @@ namespace SimCore
public: public:
SimTrack(); SimTrack();
SimTrack(std::string name, SimCore::EntityKind entityKind); SimTrack(std::string name, SimCore::Kind::EntityKind entityKind,SimCore::Side::EntitySide Side);
SimTrack(WHISPER::SourceType sourcetype, SimCore::EntityKind entityKind); SimTrack(WHISPER::SourceType sourcetype, SimCore::Kind::EntityKind entityKind, SimCore::Side::EntitySide Side);
SimTrack(SimCore::Identifier id,std::string name, SimCore::EntityKind entityKind); SimTrack(SimCore::Identifier id,std::string name, SimCore::Kind::EntityKind entityKind,SimCore::Side::EntitySide Side);
SimTrack(SimCore::Identifier id, WHISPER::SourceType sourcetype, SimCore::EntityKind entityKind); SimTrack(SimCore::Identifier id, WHISPER::SourceType sourcetype, SimCore::Kind::EntityKind entityKind,SimCore::Side::EntitySide Side);
~SimTrack(); ~SimTrack();
@@ -79,7 +80,8 @@ namespace SimCore
Data<double> RCS; Data<double> RCS;
Data<WHISPER::SourceType> SourceType; Data<WHISPER::SourceType> SourceType;
Data<SimCore::EntityKind> EntityKind; Data<SimCore::Side::EntitySide> EntitySide;
Data<SimCore::Kind::EntityKind> EntityKind;
private: private:
const SimCore::Identifier ID_; const SimCore::Identifier ID_;

View File

@@ -1,5 +1,7 @@
#pragma once #pragma once
#include <cstdint> #include <cstdint>
#include <map>
#include <string>
#define RCS_DEFAULT 1000 #define RCS_DEFAULT 1000
#define RCS_AIR 800 #define RCS_AIR 800
@@ -42,6 +44,25 @@ INTERNAL = false
}; };
namespace Side {
enum EntitySide : std::uint8_t{
UNKNOWN,
NEUTRAL = 1,
HOSTILE = 2,
FRIEND = 3,
};
static std::map<std::uint8_t, std::string> EntitySideMap =
{
{EntitySide::UNKNOWN, "Unknown"},
{EntitySide::NEUTRAL, "Neutral"},
{EntitySide::HOSTILE, "Hostile"},
{EntitySide::FRIEND, "Friend"}
};
}
namespace Kind {
enum EntityKind : std::uint8_t{ enum EntityKind : std::uint8_t{
UNKNOWN = 0, UNKNOWN = 0,
@@ -52,6 +73,16 @@ enum EntityKind : std::uint8_t{
SPACE = 5 SPACE = 5
}; };
static std::map<std::uint8_t, std::string> EntityKindMap =
{
{UNKNOWN, "Unknown"},
{SURFACE, "Surface"},
{SUBSURFACE, "Subsurface" },
{AIR, "Air"},
{LAND, "Land"},
{SPACE, "Space"}
};
}
enum SensorKinds : std::uint32_t { enum SensorKinds : std::uint32_t {
RADAR = 1, RADAR = 1,

View File

@@ -1,3 +1,4 @@
#include "SimCore/SimCore.hpp"
#include "WHISPER/Messages/Message.hpp" #include "WHISPER/Messages/Message.hpp"
#include <SimCore/Messages/SimTrack.hpp> #include <SimCore/Messages/SimTrack.hpp>
#include <iterator> #include <iterator>
@@ -10,8 +11,8 @@ namespace SimCore
SimTrack::SimTrack() SimTrack::SimTrack()
:ID_(SimCore::Identifier()) :ID_(SimCore::Identifier())
{ {
EntityKind.setValue(SimCore::EntityKind::UNKNOWN); EntityKind.setValue(Kind::UNKNOWN);
EntitySide.setValue(Side::UNKNOWN);
position_ = SimCore::Position(); position_ = SimCore::Position();
Speed.setValue(0); Speed.setValue(0);
Course.setValue(0); Course.setValue(0);
@@ -19,16 +20,22 @@ namespace SimCore
RCS.setValue(0); RCS.setValue(0);
} }
SimTrack::SimTrack(std::string name, SimCore::EntityKind entityKind):ID_(SimCore::Identifier()) SimTrack::SimTrack(std::string name, SimCore::Kind::EntityKind entityKind, SimCore::Side::EntitySide Side)
:ID_(SimCore::Identifier()),Name(name)
{ {
Name.setValue(name);
EntityKind.setValue(entityKind);
EntitySide.setValue(Side);
} }
SimTrack::SimTrack(WHISPER::SourceType sourcetype,SimCore::EntityKind entityKind) SimTrack::SimTrack(WHISPER::SourceType sourcetype,SimCore::Kind::EntityKind entityKind, SimCore::Side::EntitySide Side)
:ID_(SimCore::Identifier()) :ID_(SimCore::Identifier())
{ {
EntityKind.setValue(entityKind); EntityKind.setValue(entityKind);
EntitySide.setValue(Side);
position_ = SimCore::Position(); position_ = SimCore::Position();
Speed.setValue(0); Speed.setValue(0);
@@ -36,17 +43,18 @@ namespace SimCore
Pitch.setValue(0); Pitch.setValue(0);
RCS.setValue(0); RCS.setValue(0);
} }
SimTrack::SimTrack(SimCore::Identifier id,std::string name, SimCore::EntityKind entityKind) SimTrack::SimTrack(SimCore::Identifier id,std::string name, SimCore::Kind::EntityKind entityKind, SimCore::Side::EntitySide Side)
:ID_(id),Name(name),EntityKind(entityKind) :ID_(id),Name(name),EntityKind(entityKind)
{ {
} }
SimTrack::SimTrack(SimCore::Identifier id ,WHISPER::SourceType sourcetype,SimCore::EntityKind entityKind ) SimTrack::SimTrack(SimCore::Identifier id ,WHISPER::SourceType sourcetype,SimCore::Kind::EntityKind entityKind, SimCore::Side::EntitySide Side)
:ID_(id),SourceType(sourcetype) :ID_(id),SourceType(sourcetype)
{ {
EntityKind.setValue(entityKind); EntityKind.setValue(entityKind);
EntitySide.setValue(Side);
position_ = SimCore::Position(); position_ = SimCore::Position();
Speed.setValue(0); Speed.setValue(0);
@@ -100,6 +108,8 @@ namespace SimCore
SimTrack.mutable_geocentricposition()->set_y(position_.getGeocentricPos()(SimCore::Y)); SimTrack.mutable_geocentricposition()->set_y(position_.getGeocentricPos()(SimCore::Y));
SimTrack.mutable_geocentricposition()->set_z(position_.getGeocentricPos()(SimCore::Z)); SimTrack.mutable_geocentricposition()->set_z(position_.getGeocentricPos()(SimCore::Z));
} }
if(EntitySide.isValid()) SimTrack.set_contactside(this->EntitySide.getValue());
if(EntityKind.isValid()) SimTrack.set_contactkind(this->EntitySide.getValue());
if(Speed.isValid()) SimTrack.set_contactspeed(this->Speed.getValue()); if(Speed.isValid()) SimTrack.set_contactspeed(this->Speed.getValue());
if(Course.isValid()) SimTrack.set_contactcourse(this->Course.getValue()); if(Course.isValid()) SimTrack.set_contactcourse(this->Course.getValue());
@@ -146,9 +156,21 @@ namespace SimCore
WHISPER::SourceType sourcetype = (WHISPER::SourceType)trackMsg.contactsourcetype(); WHISPER::SourceType sourcetype = (WHISPER::SourceType)trackMsg.contactsourcetype();
SimCore::EntityKind entityKind = (SimCore::EntityKind)trackMsg.contactenvironemnt();
SimCore::SimTrack track(id,trackMsg.conatactname(),entityKind); SimCore::Kind::EntityKind entityKind = SimCore::Kind::UNKNOWN;
if (trackMsg.has_contactkind())
{
entityKind = (SimCore::Kind::EntityKind)trackMsg.contactkind();
}
SimCore::Side::EntitySide entitySide = SimCore::Side::UNKNOWN;
if (trackMsg.has_contactside())
{
entitySide = (SimCore::Side::EntitySide)trackMsg.contactside();
}
SimCore::SimTrack track(id,trackMsg.conatactname(),entityKind,entitySide);
if (trackMsg.has_contactsourcetype()) if (trackMsg.has_contactsourcetype())
{ {
@@ -178,23 +200,23 @@ namespace SimCore
{ {
switch (entityKind) switch (entityKind)
{ {
case SimCore::EntityKind::AIR: case SimCore::Kind::EntityKind::AIR:
{ {
track.RCS.setValue(RCS_AIR); track.RCS.setValue(RCS_AIR);
break; break;
} }
case SimCore::EntityKind::LAND: case SimCore::Kind::EntityKind::LAND:
{ {
track.RCS.setValue(RCS_LAND); track.RCS.setValue(RCS_LAND);
break; break;
} }
case SimCore::EntityKind::SURFACE: case SimCore::Kind::EntityKind::SURFACE:
{ {
track.RCS.setValue(RCS_SURFACE); track.RCS.setValue(RCS_SURFACE);
break; break;
} }
case SimCore::EntityKind::SPACE: case SimCore::Kind::EntityKind::SPACE:
{ {
track.RCS.setValue(RCS_SPACE); track.RCS.setValue(RCS_SPACE);
break; break;