ADD: rework the Trackmessages and added/changed protos for the messages;
This commit is contained in:
@@ -27,8 +27,6 @@ protobuf_generate_cpp(PROTO_PATH include/SimCore/Messages/Protos CPP_PATH inclu
|
|||||||
|
|
||||||
|
|
||||||
add_library(SimCore STATIC
|
add_library(SimCore STATIC
|
||||||
include/SimCore/Entity.hpp
|
|
||||||
src/SimCore/Entity.cpp
|
|
||||||
|
|
||||||
include/SimCore/Messages/Track.hpp
|
include/SimCore/Messages/Track.hpp
|
||||||
src/SimCore/Messages/Track.cpp
|
src/SimCore/Messages/Track.cpp
|
||||||
@@ -36,12 +34,27 @@ add_library(SimCore STATIC
|
|||||||
include/SimCore/Messages/RadarTrack.hpp
|
include/SimCore/Messages/RadarTrack.hpp
|
||||||
src/SimCore/Messages/RadarTrack.cpp
|
src/SimCore/Messages/RadarTrack.cpp
|
||||||
|
|
||||||
|
include/SimCore/Messages/ESMTrack.hpp
|
||||||
|
src/SimCore/Messages/ESMTrack.cpp
|
||||||
|
|
||||||
|
include/SimCore/Messages/SensorTrack.hpp
|
||||||
|
src/SimCore/Messages/SensorTrack.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/RadarTrack.pb.cc
|
include/SimCore/Messages/Protos/RadarTrack.pb.cc
|
||||||
|
include/SimCore/Messages/Protos/ESMTrack.pb.cc
|
||||||
|
include/SimCore/Messages/Protos/ESMData.pb.cc
|
||||||
|
|
||||||
|
|
||||||
|
include/SimCore/Messages/Protos/SensorTrack.pb.cc
|
||||||
|
|
||||||
|
include/SimCore/Messages/Protos/GroundTruthTrack.pb.cc
|
||||||
|
|
||||||
|
include/SimCore/Messages/GroundThruthTrack.hpp
|
||||||
|
src/SimCore/Messages/GroundThruthTrack.cpp
|
||||||
|
|
||||||
include/SimCore/Position.hpp
|
include/SimCore/Position.hpp
|
||||||
src/SimCore/Position.cpp
|
src/SimCore/Position.cpp
|
||||||
@@ -58,9 +71,14 @@ add_library(SimCore STATIC
|
|||||||
include/SimCore/UtilFunctions.hpp
|
include/SimCore/UtilFunctions.hpp
|
||||||
src/SimCore/UtilFunctions.cpp
|
src/SimCore/UtilFunctions.cpp
|
||||||
|
|
||||||
include/SimCore/Sensor.hpp
|
include/SimCore/Templates/Sensor.hpp
|
||||||
src/SimCore/Sensor.cpp
|
src/SimCore/Templates/Sensor.cpp
|
||||||
)
|
|
||||||
|
include/SimCore/Templates/Entity.hpp
|
||||||
|
src/SimCore/Templates/Entity.cpp
|
||||||
|
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
target_link_libraries(SimCore
|
target_link_libraries(SimCore
|
||||||
whisper-com
|
whisper-com
|
||||||
@@ -107,9 +125,9 @@ IF (${TEST_SIMCORE_LIBRARY})
|
|||||||
target_link_libraries(test_PositionClass Catch2::Catch2 SimCore eigen loguru)
|
target_link_libraries(test_PositionClass Catch2::Catch2 SimCore eigen loguru)
|
||||||
catch_discover_tests(test_PositionClass)
|
catch_discover_tests(test_PositionClass)
|
||||||
|
|
||||||
add_executable(test_TrackClass tests/test_TrackClass.cpp)
|
add_executable(test_GroundTruthTrackClass tests/test_GroundTruthTrackClass.cpp)
|
||||||
target_link_libraries(test_TrackClass Catch2::Catch2 SimCore eigen loguru)
|
target_link_libraries(test_GroundTruthTrackClass Catch2::Catch2 SimCore eigen loguru)
|
||||||
catch_discover_tests(test_TrackClass)
|
catch_discover_tests(test_GroundTruthTrackClass)
|
||||||
|
|
||||||
add_executable(test_RadarTrackClass tests/test_RadarTrackClass.cpp)
|
add_executable(test_RadarTrackClass tests/test_RadarTrackClass.cpp)
|
||||||
target_link_libraries(test_RadarTrackClass Catch2::Catch2 SimCore loguru)
|
target_link_libraries(test_RadarTrackClass Catch2::Catch2 SimCore loguru)
|
||||||
@@ -136,6 +154,13 @@ IF (${TEST_SIMCORE_LIBRARY})
|
|||||||
target_link_libraries(test_SensorClass Catch2::Catch2 SimCore loguru)
|
target_link_libraries(test_SensorClass Catch2::Catch2 SimCore loguru)
|
||||||
catch_discover_tests(test_SensorClass)
|
catch_discover_tests(test_SensorClass)
|
||||||
|
|
||||||
|
add_executable(test_EntityClass tests/test_EntityClass.cpp)
|
||||||
|
target_link_libraries(test_EntityClass Catch2::Catch2 SimCore loguru)
|
||||||
|
catch_discover_tests(test_EntityClass)
|
||||||
|
|
||||||
|
add_executable(test_Trackstore tests/test_Trackstore.cpp)
|
||||||
|
target_link_libraries(test_Trackstore Catch2::Catch2 SimCore loguru)
|
||||||
|
catch_discover_tests(test_SensorClass)
|
||||||
|
|
||||||
|
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|||||||
149
graphics/systemdesign/entity.drawio
Normal file
149
graphics/systemdesign/entity.drawio
Normal file
@@ -0,0 +1,149 @@
|
|||||||
|
<mxfile host="65bd71144e">
|
||||||
|
<diagram id="_HGibaABDp_lCRaB5HtI" name="Seite-1">
|
||||||
|
<mxGraphModel dx="1052" dy="773" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
|
||||||
|
<root>
|
||||||
|
<mxCell id="0"/>
|
||||||
|
<mxCell id="1" parent="0"/>
|
||||||
|
<mxCell id="2" value="" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||||
|
<mxGeometry x="169" y="90" width="530" height="600" as="geometry"/>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="5" value="Entity Class" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
||||||
|
<mxGeometry x="374" y="90" width="110" height="30" as="geometry"/>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="14" value="Sensor Store" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||||
|
<mxGeometry x="189" y="230" width="120" height="270" as="geometry"/>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="16" value="Trackstore" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||||
|
<mxGeometry x="374" y="230" width="120" height="270" as="geometry"/>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="18" value="" style="endArrow=classic;html=1;exitX=1;exitY=0.25;exitDx=0;exitDy=0;entryX=0;entryY=0.25;entryDx=0;entryDy=0;" edge="1" parent="1" source="14" target="16">
|
||||||
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
|
<mxPoint x="389" y="380" as="sourcePoint"/>
|
||||||
|
<mxPoint x="439" y="330" as="targetPoint"/>
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="20" value="Command" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||||
|
<mxGeometry x="189" y="120" width="490" height="80" as="geometry"/>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="21" value="Effector Store" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||||
|
<mxGeometry x="549" y="230" width="120" height="270" as="geometry"/>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="23" value="" style="endArrow=classic;html=1;exitX=0.12;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="20" target="14">
|
||||||
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
|
<mxPoint x="389" y="380" as="sourcePoint"/>
|
||||||
|
<mxPoint x="245" y="220" as="targetPoint"/>
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="25" value="" style="endArrow=classic;startArrow=classic;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" edge="1" parent="1" source="16" target="21">
|
||||||
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
|
<mxPoint x="389" y="380" as="sourcePoint"/>
|
||||||
|
<mxPoint x="439" y="330" as="targetPoint"/>
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="27" value="Physics<br>(virtuel in class)" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||||
|
<mxGeometry x="189" y="525" width="480" height="60" as="geometry"/>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="28" value="" style="endArrow=classic;html=1;entryX=0.317;entryY=0.996;entryDx=0;entryDy=0;entryPerimeter=0;exitX=0.083;exitY=0.033;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="1" source="27" target="14">
|
||||||
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
|
<mxPoint x="229" y="520" as="sourcePoint"/>
|
||||||
|
<mxPoint x="279" y="470" as="targetPoint"/>
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="29" value="" style="endArrow=classic;html=1;entryX=0.5;entryY=1;entryDx=0;entryDy=0;exitX=0.877;exitY=0;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="1" source="27" target="21">
|
||||||
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
|
<mxPoint x="599" y="520" as="sourcePoint"/>
|
||||||
|
<mxPoint x="649" y="470" as="targetPoint"/>
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="30" value="" style="endArrow=classic;startArrow=classic;html=1;exitX=1;exitY=0.25;exitDx=0;exitDy=0;" edge="1" parent="1" source="21">
|
||||||
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
|
<mxPoint x="689" y="360" as="sourcePoint"/>
|
||||||
|
<mxPoint x="759" y="298" as="targetPoint"/>
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="31" value="UDP To Each Effector" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="30">
|
||||||
|
<mxGeometry x="0.58" relative="1" as="geometry">
|
||||||
|
<mxPoint x="-9" y="-18" as="offset"/>
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="32" value="" style="endArrow=classic;html=1;exitX=0.841;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitPerimeter=0;" edge="1" parent="1" source="20" target="21">
|
||||||
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
|
<mxPoint x="509" y="270" as="sourcePoint"/>
|
||||||
|
<mxPoint x="559" y="220" as="targetPoint"/>
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="33" value="" style="endArrow=classic;html=1;entryX=0.5;entryY=1;entryDx=0;entryDy=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" edge="1" parent="1" source="16" target="20">
|
||||||
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
|
<mxPoint x="424" y="220" as="sourcePoint"/>
|
||||||
|
<mxPoint x="469" y="170" as="targetPoint"/>
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="37" value="" style="endArrow=classic;html=1;exitX=0.304;exitY=1.017;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.323;entryY=0.033;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="20" target="27">
|
||||||
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
|
<mxPoint x="389" y="380" as="sourcePoint"/>
|
||||||
|
<mxPoint x="439" y="330" as="targetPoint"/>
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="39" style="edgeStyle=none;html=1;" edge="1" parent="1" source="38" target="21">
|
||||||
|
<mxGeometry relative="1" as="geometry"/>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="40" style="edgeStyle=none;html=1;entryX=0.842;entryY=0.004;entryDx=0;entryDy=0;entryPerimeter=0;exitX=0.138;exitY=0.98;exitDx=0;exitDy=0;exitPerimeter=0;rounded=0;" edge="1" parent="1" source="38" target="14">
|
||||||
|
<mxGeometry relative="1" as="geometry">
|
||||||
|
<Array as="points">
|
||||||
|
<mxPoint x="579" y="210"/>
|
||||||
|
<mxPoint x="289" y="210"/>
|
||||||
|
</Array>
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="38" value="Starting/stopping Sensor/Effector Pods" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||||
|
<mxGeometry x="569" y="125" width="100" height="50" as="geometry"/>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="43" value="" style="edgeStyle=none;rounded=0;html=1;" edge="1" parent="1" source="42" target="27">
|
||||||
|
<mxGeometry relative="1" as="geometry"/>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="44" style="edgeStyle=none;rounded=0;html=1;entryX=0.25;entryY=1;entryDx=0;entryDy=0;exitX=0.819;exitY=-0.017;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="1" source="42" target="21">
|
||||||
|
<mxGeometry relative="1" as="geometry"/>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="45" style="edgeStyle=none;rounded=0;html=1;entryX=0.5;entryY=1;entryDx=0;entryDy=0;exitX=0.131;exitY=0;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="1" source="42" target="14">
|
||||||
|
<mxGeometry relative="1" as="geometry"/>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="42" value="own ShipData" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||||
|
<mxGeometry x="189" y="610" width="480" height="60" as="geometry"/>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="46" value="" style="endArrow=classic;startArrow=classic;html=1;rounded=0;exitX=0.25;exitY=0;exitDx=0;exitDy=0;" edge="1" parent="1" source="20">
|
||||||
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
|
<mxPoint x="309" y="90" as="sourcePoint"/>
|
||||||
|
<mxPoint x="312" y="40" as="targetPoint"/>
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="47" value="Command UDP Interface" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="46">
|
||||||
|
<mxGeometry x="0.575" relative="1" as="geometry">
|
||||||
|
<mxPoint x="-3" y="13" as="offset"/>
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="48" value="" style="endArrow=classic;startArrow=classic;html=1;rounded=0;entryX=0.25;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="1" target="42">
|
||||||
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
|
<mxPoint x="310" y="730" as="sourcePoint"/>
|
||||||
|
<mxPoint x="119" y="615" as="targetPoint"/>
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="49" value="sending OwnShip to Groundtruth" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="48">
|
||||||
|
<mxGeometry x="-0.4335" relative="1" as="geometry">
|
||||||
|
<mxPoint x="-1" y="-3" as="offset"/>
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="50" value="" style="endArrow=classic;startArrow=classic;html=1;rounded=0;" edge="1" parent="1">
|
||||||
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
|
<mxPoint x="70" y="300" as="sourcePoint"/>
|
||||||
|
<mxPoint x="190" y="300" as="targetPoint"/>
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="51" value="UDP to Each Sensor" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="50">
|
||||||
|
<mxGeometry x="-0.5968" y="-1" relative="1" as="geometry">
|
||||||
|
<mxPoint x="16" y="-20" as="offset"/>
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
</root>
|
||||||
|
</mxGraphModel>
|
||||||
|
</diagram>
|
||||||
|
</mxfile>
|
||||||
149
graphics/systemdesign/trackMessage.drawio
Normal file
149
graphics/systemdesign/trackMessage.drawio
Normal file
@@ -0,0 +1,149 @@
|
|||||||
|
<mxfile host="65bd71144e">
|
||||||
|
<diagram id="EX38Rvo1rLTYxkiLyutL" name="Seite-1">
|
||||||
|
<mxGraphModel dx="1243" dy="671" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
|
||||||
|
<root>
|
||||||
|
<mxCell id="0"/>
|
||||||
|
<mxCell id="1" parent="0"/>
|
||||||
|
<mxCell id="3" value="SimCore::Track" style="swimlane;fontStyle=0;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=55;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=0;marginBottom=0;html=1;" vertex="1" parent="1">
|
||||||
|
<mxGeometry x="300" y="100" width="200" height="210" as="geometry"/>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="4" value="attributes" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="3">
|
||||||
|
<mxGeometry y="55" width="200" height="20" as="geometry"/>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="6" value="SimCore::Identifier ID_" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;fontColor=#808080;" vertex="1" parent="3">
|
||||||
|
<mxGeometry y="75" width="200" height="20" as="geometry"/>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="7" value="..." style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="3">
|
||||||
|
<mxGeometry y="95" width="200" height="20" as="geometry"/>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="8" value="" style="line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;" vertex="1" parent="3">
|
||||||
|
<mxGeometry y="115" width="200" height="8" as="geometry"/>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="9" value="operations" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="3">
|
||||||
|
<mxGeometry y="123" width="200" height="20" as="geometry"/>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="10" value="WHISPER::Message getMessage()" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="3">
|
||||||
|
<mxGeometry y="143" width="200" height="67" as="geometry"/>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="11" value="WHISPER::Message" style="swimlane;fontStyle=0;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=55;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=0;marginBottom=0;html=1;" vertex="1" parent="1">
|
||||||
|
<mxGeometry x="50" y="100" width="190" height="210" as="geometry"/>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="12" value="attributes" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="11">
|
||||||
|
<mxGeometry y="55" width="190" height="20" as="geometry"/>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="13" value="google::protobuf:Any payload" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="11">
|
||||||
|
<mxGeometry y="75" width="190" height="20" as="geometry"/>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="14" value="inherited attribute2" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;fontColor=#808080;" vertex="1" parent="11">
|
||||||
|
<mxGeometry y="95" width="190" height="20" as="geometry"/>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="15" value="..." style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="11">
|
||||||
|
<mxGeometry y="115" width="190" height="20" as="geometry"/>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="16" value="" style="line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;" vertex="1" parent="11">
|
||||||
|
<mxGeometry y="135" width="190" height="8" as="geometry"/>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="17" value="operations" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="11">
|
||||||
|
<mxGeometry y="143" width="190" height="20" as="geometry"/>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="18" value="std::string serialize()<br>void addProtoANY(google::protobuf:Any)" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="11">
|
||||||
|
<mxGeometry y="163" width="190" height="47" as="geometry"/>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="43" style="edgeStyle=none;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;rounded=0;" edge="1" parent="1" source="19" target="10">
|
||||||
|
<mxGeometry relative="1" as="geometry">
|
||||||
|
<Array as="points">
|
||||||
|
<mxPoint x="200" y="360"/>
|
||||||
|
<mxPoint x="400" y="360"/>
|
||||||
|
</Array>
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="19" value="SimCore::RadarTrack" style="swimlane;fontStyle=0;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=55;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=0;marginBottom=0;html=1;" vertex="1" parent="1">
|
||||||
|
<mxGeometry x="130" y="390" width="140" height="183" as="geometry"/>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="20" value="attributes" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="19">
|
||||||
|
<mxGeometry y="55" width="140" height="20" as="geometry"/>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="21" value="attribute1" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="19">
|
||||||
|
<mxGeometry y="75" width="140" height="20" as="geometry"/>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="22" value="inherited attribute2" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;fontColor=#808080;" vertex="1" parent="19">
|
||||||
|
<mxGeometry y="95" width="140" height="20" as="geometry"/>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="23" value="..." style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="19">
|
||||||
|
<mxGeometry y="115" width="140" height="20" as="geometry"/>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="24" value="" style="line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;" vertex="1" parent="19">
|
||||||
|
<mxGeometry y="135" width="140" height="8" as="geometry"/>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="25" value="operations" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="19">
|
||||||
|
<mxGeometry y="143" width="140" height="20" as="geometry"/>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="26" value="operation1" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="19">
|
||||||
|
<mxGeometry y="163" width="140" height="20" as="geometry"/>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="44" style="edgeStyle=none;html=1;entryX=0.507;entryY=1;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="27" target="10">
|
||||||
|
<mxGeometry relative="1" as="geometry">
|
||||||
|
<mxPoint x="450" y="340" as="targetPoint"/>
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="27" value="SimCore::ESMTrack" style="swimlane;fontStyle=0;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=55;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=0;marginBottom=0;html=1;" vertex="1" parent="1">
|
||||||
|
<mxGeometry x="330" y="390" width="140" height="183" as="geometry"/>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="28" value="attributes" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="27">
|
||||||
|
<mxGeometry y="55" width="140" height="20" as="geometry"/>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="29" value="attribute1" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="27">
|
||||||
|
<mxGeometry y="75" width="140" height="20" as="geometry"/>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="30" value="inherited attribute2" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;fontColor=#808080;" vertex="1" parent="27">
|
||||||
|
<mxGeometry y="95" width="140" height="20" as="geometry"/>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="31" value="..." style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="27">
|
||||||
|
<mxGeometry y="115" width="140" height="20" as="geometry"/>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="32" value="" style="line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;" vertex="1" parent="27">
|
||||||
|
<mxGeometry y="135" width="140" height="8" as="geometry"/>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="33" value="operations" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="27">
|
||||||
|
<mxGeometry y="143" width="140" height="20" as="geometry"/>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="34" value="operation1" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="27">
|
||||||
|
<mxGeometry y="163" width="140" height="20" as="geometry"/>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="45" style="edgeStyle=none;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;rounded=0;entryX=0.5;entryY=1.06;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="35" target="10">
|
||||||
|
<mxGeometry relative="1" as="geometry">
|
||||||
|
<mxPoint x="470" y="350" as="targetPoint"/>
|
||||||
|
<Array as="points">
|
||||||
|
<mxPoint x="600" y="360"/>
|
||||||
|
<mxPoint x="400" y="360"/>
|
||||||
|
</Array>
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="35" value="&lt;&lt;keyword&gt;&gt;<br><b>Classifier1</b><br>{abstract}" style="swimlane;fontStyle=0;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=55;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=0;marginBottom=0;html=1;" vertex="1" parent="1">
|
||||||
|
<mxGeometry x="530" y="390" width="140" height="183" as="geometry"/>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="36" value="attributes" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="35">
|
||||||
|
<mxGeometry y="55" width="140" height="20" as="geometry"/>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="37" value="attribute1" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="35">
|
||||||
|
<mxGeometry y="75" width="140" height="20" as="geometry"/>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="38" value="inherited attribute2" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;fontColor=#808080;" vertex="1" parent="35">
|
||||||
|
<mxGeometry y="95" width="140" height="20" as="geometry"/>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="39" value="..." style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="35">
|
||||||
|
<mxGeometry y="115" width="140" height="20" as="geometry"/>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="40" value="" style="line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;" vertex="1" parent="35">
|
||||||
|
<mxGeometry y="135" width="140" height="8" as="geometry"/>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="41" value="operations" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="35">
|
||||||
|
<mxGeometry y="143" width="140" height="20" as="geometry"/>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="42" value="operation1" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="35">
|
||||||
|
<mxGeometry y="163" width="140" height="20" as="geometry"/>
|
||||||
|
</mxCell>
|
||||||
|
</root>
|
||||||
|
</mxGraphModel>
|
||||||
|
</diagram>
|
||||||
|
</mxfile>
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
#pragma once
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#include <SimCore/Position.hpp>
|
|
||||||
namespace SimCore {
|
|
||||||
|
|
||||||
class Entity {
|
|
||||||
public:
|
|
||||||
Entity();
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private:
|
|
||||||
Position position_;
|
|
||||||
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -30,19 +30,19 @@ namespace SimCore {
|
|||||||
* @brief returns the number of the object, this plus the number of the parent make it unique
|
* @brief returns the number of the object, this plus the number of the parent make it unique
|
||||||
* @return uint32_t
|
* @return uint32_t
|
||||||
*/
|
*/
|
||||||
std::uint32_t getNumber();
|
std::uint32_t getNumber() const;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief return the number of the parent, if 0 the parent is the Sim Manager
|
* @brief return the number of the parent, if 0 the parent is the Sim Manager
|
||||||
* @return uint32_t
|
* @return uint32_t
|
||||||
*/
|
*/
|
||||||
std::uint32_t getParentNumber();
|
std::uint32_t getParentNumber() const;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief returns true if the ID belongs to an external ofject
|
* @brief returns true if the ID belongs to an external ofject
|
||||||
* @return bool
|
* @return bool
|
||||||
*/
|
*/
|
||||||
bool isExternal();
|
bool isExternal() const;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief return true if the number is bigger than 0
|
* @brief return true if the number is bigger than 0
|
||||||
|
|||||||
@@ -0,0 +1,29 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#include <SimCore/Messages/Track.hpp>
|
||||||
|
#include <SimCore/Messages/Protos/ESMTrack.pb.h>
|
||||||
|
#include <WHISPER/Messages/Message.hpp>
|
||||||
|
|
||||||
|
|
||||||
|
namespace SimCore
|
||||||
|
{
|
||||||
|
class ESMTrack : public Track
|
||||||
|
{
|
||||||
|
private:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public:
|
||||||
|
ESMTrack(WHISPER::SourceType src,SimCore::Identifier id);
|
||||||
|
|
||||||
|
static ESMTrack unpack(WHISPER::Message msg);
|
||||||
|
|
||||||
|
virtual WHISPER::Message buildMessage(SimCore::Identifier parentID) override;
|
||||||
|
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
79
include/SimCore/Messages/GroundThruthTrack.hpp
Normal file
79
include/SimCore/Messages/GroundThruthTrack.hpp
Normal file
@@ -0,0 +1,79 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#include "WHISPER/Messages/Message.hpp"
|
||||||
|
#include <SimCore/Messages/Track.hpp>
|
||||||
|
namespace SimCore
|
||||||
|
{
|
||||||
|
class GroundTruthTrack : public Track
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
GroundTruthTrack(WHISPER::SourceType src,SimCore::Identifier id,SimCore::TrackKind kind);
|
||||||
|
|
||||||
|
virtual WHISPER::Message buildMessage(SimCore::Identifier parentID) override;
|
||||||
|
|
||||||
|
/// set course
|
||||||
|
void setEnvironment(SimCore::EntityKind);
|
||||||
|
|
||||||
|
/// returns course
|
||||||
|
SimCore::EntityKind getEnvironment();
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @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();
|
||||||
|
|
||||||
|
static GroundTruthTrack unpack(WHISPER::Message msg);
|
||||||
|
|
||||||
|
private:
|
||||||
|
//environment (AIR,SURFACE,SUBSURFACE,SPACE)
|
||||||
|
SimCore::EntityKind environemnt_;
|
||||||
|
/// position of the track
|
||||||
|
Position position_;
|
||||||
|
/// speed the track
|
||||||
|
double speed_ = 0;
|
||||||
|
/// course of the track
|
||||||
|
double course_ = 0;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
};
|
||||||
|
}
|
||||||
371
include/SimCore/Messages/Protos/ESMData.pb.cc
Normal file
371
include/SimCore/Messages/Protos/ESMData.pb.cc
Normal file
@@ -0,0 +1,371 @@
|
|||||||
|
// Generated by the protocol buffer compiler. DO NOT EDIT!
|
||||||
|
// source: ESMData.proto
|
||||||
|
|
||||||
|
#include "ESMData.pb.h"
|
||||||
|
|
||||||
|
#include <algorithm>
|
||||||
|
|
||||||
|
#include <google/protobuf/io/coded_stream.h>
|
||||||
|
#include <google/protobuf/extension_set.h>
|
||||||
|
#include <google/protobuf/wire_format_lite.h>
|
||||||
|
#include <google/protobuf/descriptor.h>
|
||||||
|
#include <google/protobuf/generated_message_reflection.h>
|
||||||
|
#include <google/protobuf/reflection_ops.h>
|
||||||
|
#include <google/protobuf/wire_format.h>
|
||||||
|
// @@protoc_insertion_point(includes)
|
||||||
|
#include <google/protobuf/port_def.inc>
|
||||||
|
|
||||||
|
PROTOBUF_PRAGMA_INIT_SEG
|
||||||
|
|
||||||
|
namespace _pb = ::PROTOBUF_NAMESPACE_ID;
|
||||||
|
namespace _pbi = _pb::internal;
|
||||||
|
|
||||||
|
namespace messages {
|
||||||
|
namespace track {
|
||||||
|
PROTOBUF_CONSTEXPR ESMData::ESMData(
|
||||||
|
::_pbi::ConstantInitialized): _impl_{
|
||||||
|
/*decltype(_impl_.frequency_)*/0
|
||||||
|
, /*decltype(_impl_.pulserepetitionfrequency_)*/0
|
||||||
|
, /*decltype(_impl_.pulsewidth_)*/0
|
||||||
|
, /*decltype(_impl_._cached_size_)*/{}} {}
|
||||||
|
struct ESMDataDefaultTypeInternal {
|
||||||
|
PROTOBUF_CONSTEXPR ESMDataDefaultTypeInternal()
|
||||||
|
: _instance(::_pbi::ConstantInitialized{}) {}
|
||||||
|
~ESMDataDefaultTypeInternal() {}
|
||||||
|
union {
|
||||||
|
ESMData _instance;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ESMDataDefaultTypeInternal _ESMData_default_instance_;
|
||||||
|
} // namespace track
|
||||||
|
} // namespace messages
|
||||||
|
static ::_pb::Metadata file_level_metadata_ESMData_2eproto[1];
|
||||||
|
static constexpr ::_pb::EnumDescriptor const** file_level_enum_descriptors_ESMData_2eproto = nullptr;
|
||||||
|
static constexpr ::_pb::ServiceDescriptor const** file_level_service_descriptors_ESMData_2eproto = nullptr;
|
||||||
|
|
||||||
|
const uint32_t TableStruct_ESMData_2eproto::offsets[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = {
|
||||||
|
~0u, // no _has_bits_
|
||||||
|
PROTOBUF_FIELD_OFFSET(::messages::track::ESMData, _internal_metadata_),
|
||||||
|
~0u, // no _extensions_
|
||||||
|
~0u, // no _oneof_case_
|
||||||
|
~0u, // no _weak_field_map_
|
||||||
|
~0u, // no _inlined_string_donated_
|
||||||
|
PROTOBUF_FIELD_OFFSET(::messages::track::ESMData, _impl_.frequency_),
|
||||||
|
PROTOBUF_FIELD_OFFSET(::messages::track::ESMData, _impl_.pulserepetitionfrequency_),
|
||||||
|
PROTOBUF_FIELD_OFFSET(::messages::track::ESMData, _impl_.pulsewidth_),
|
||||||
|
};
|
||||||
|
static const ::_pbi::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = {
|
||||||
|
{ 0, -1, -1, sizeof(::messages::track::ESMData)},
|
||||||
|
};
|
||||||
|
|
||||||
|
static const ::_pb::Message* const file_default_instances[] = {
|
||||||
|
&::messages::track::_ESMData_default_instance_._instance,
|
||||||
|
};
|
||||||
|
|
||||||
|
const char descriptor_table_protodef_ESMData_2eproto[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) =
|
||||||
|
"\n\rESMData.proto\022\016messages.track\"R\n\007ESMDa"
|
||||||
|
"ta\022\021\n\tFrequency\030\001 \001(\001\022 \n\030PulseRepetition"
|
||||||
|
"Frequency\030\002 \001(\001\022\022\n\nPulseWidth\030\003 \001(\001b\006pro"
|
||||||
|
"to3"
|
||||||
|
;
|
||||||
|
static ::_pbi::once_flag descriptor_table_ESMData_2eproto_once;
|
||||||
|
const ::_pbi::DescriptorTable descriptor_table_ESMData_2eproto = {
|
||||||
|
false, false, 123, descriptor_table_protodef_ESMData_2eproto,
|
||||||
|
"ESMData.proto",
|
||||||
|
&descriptor_table_ESMData_2eproto_once, nullptr, 0, 1,
|
||||||
|
schemas, file_default_instances, TableStruct_ESMData_2eproto::offsets,
|
||||||
|
file_level_metadata_ESMData_2eproto, file_level_enum_descriptors_ESMData_2eproto,
|
||||||
|
file_level_service_descriptors_ESMData_2eproto,
|
||||||
|
};
|
||||||
|
PROTOBUF_ATTRIBUTE_WEAK const ::_pbi::DescriptorTable* descriptor_table_ESMData_2eproto_getter() {
|
||||||
|
return &descriptor_table_ESMData_2eproto;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Force running AddDescriptors() at dynamic initialization time.
|
||||||
|
PROTOBUF_ATTRIBUTE_INIT_PRIORITY2 static ::_pbi::AddDescriptorsRunner dynamic_init_dummy_ESMData_2eproto(&descriptor_table_ESMData_2eproto);
|
||||||
|
namespace messages {
|
||||||
|
namespace track {
|
||||||
|
|
||||||
|
// ===================================================================
|
||||||
|
|
||||||
|
class ESMData::_Internal {
|
||||||
|
public:
|
||||||
|
};
|
||||||
|
|
||||||
|
ESMData::ESMData(::PROTOBUF_NAMESPACE_ID::Arena* arena,
|
||||||
|
bool is_message_owned)
|
||||||
|
: ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
|
||||||
|
SharedCtor(arena, is_message_owned);
|
||||||
|
// @@protoc_insertion_point(arena_constructor:messages.track.ESMData)
|
||||||
|
}
|
||||||
|
ESMData::ESMData(const ESMData& from)
|
||||||
|
: ::PROTOBUF_NAMESPACE_ID::Message() {
|
||||||
|
ESMData* const _this = this; (void)_this;
|
||||||
|
new (&_impl_) Impl_{
|
||||||
|
decltype(_impl_.frequency_){}
|
||||||
|
, decltype(_impl_.pulserepetitionfrequency_){}
|
||||||
|
, decltype(_impl_.pulsewidth_){}
|
||||||
|
, /*decltype(_impl_._cached_size_)*/{}};
|
||||||
|
|
||||||
|
_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
|
||||||
|
::memcpy(&_impl_.frequency_, &from._impl_.frequency_,
|
||||||
|
static_cast<size_t>(reinterpret_cast<char*>(&_impl_.pulsewidth_) -
|
||||||
|
reinterpret_cast<char*>(&_impl_.frequency_)) + sizeof(_impl_.pulsewidth_));
|
||||||
|
// @@protoc_insertion_point(copy_constructor:messages.track.ESMData)
|
||||||
|
}
|
||||||
|
|
||||||
|
inline void ESMData::SharedCtor(
|
||||||
|
::_pb::Arena* arena, bool is_message_owned) {
|
||||||
|
(void)arena;
|
||||||
|
(void)is_message_owned;
|
||||||
|
new (&_impl_) Impl_{
|
||||||
|
decltype(_impl_.frequency_){0}
|
||||||
|
, decltype(_impl_.pulserepetitionfrequency_){0}
|
||||||
|
, decltype(_impl_.pulsewidth_){0}
|
||||||
|
, /*decltype(_impl_._cached_size_)*/{}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
ESMData::~ESMData() {
|
||||||
|
// @@protoc_insertion_point(destructor:messages.track.ESMData)
|
||||||
|
if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
|
||||||
|
(void)arena;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
SharedDtor();
|
||||||
|
}
|
||||||
|
|
||||||
|
inline void ESMData::SharedDtor() {
|
||||||
|
GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
|
||||||
|
}
|
||||||
|
|
||||||
|
void ESMData::SetCachedSize(int size) const {
|
||||||
|
_impl_._cached_size_.Set(size);
|
||||||
|
}
|
||||||
|
|
||||||
|
void ESMData::Clear() {
|
||||||
|
// @@protoc_insertion_point(message_clear_start:messages.track.ESMData)
|
||||||
|
uint32_t cached_has_bits = 0;
|
||||||
|
// Prevent compiler warnings about cached_has_bits being unused
|
||||||
|
(void) cached_has_bits;
|
||||||
|
|
||||||
|
::memset(&_impl_.frequency_, 0, static_cast<size_t>(
|
||||||
|
reinterpret_cast<char*>(&_impl_.pulsewidth_) -
|
||||||
|
reinterpret_cast<char*>(&_impl_.frequency_)) + sizeof(_impl_.pulsewidth_));
|
||||||
|
_internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
|
||||||
|
}
|
||||||
|
|
||||||
|
const char* ESMData::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
|
||||||
|
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
|
||||||
|
while (!ctx->Done(&ptr)) {
|
||||||
|
uint32_t tag;
|
||||||
|
ptr = ::_pbi::ReadTag(ptr, &tag);
|
||||||
|
switch (tag >> 3) {
|
||||||
|
// double Frequency = 1;
|
||||||
|
case 1:
|
||||||
|
if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 9)) {
|
||||||
|
_impl_.frequency_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
|
||||||
|
ptr += sizeof(double);
|
||||||
|
} else
|
||||||
|
goto handle_unusual;
|
||||||
|
continue;
|
||||||
|
// double PulseRepetitionFrequency = 2;
|
||||||
|
case 2:
|
||||||
|
if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 17)) {
|
||||||
|
_impl_.pulserepetitionfrequency_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
|
||||||
|
ptr += sizeof(double);
|
||||||
|
} else
|
||||||
|
goto handle_unusual;
|
||||||
|
continue;
|
||||||
|
// double PulseWidth = 3;
|
||||||
|
case 3:
|
||||||
|
if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 25)) {
|
||||||
|
_impl_.pulsewidth_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
|
||||||
|
ptr += sizeof(double);
|
||||||
|
} else
|
||||||
|
goto handle_unusual;
|
||||||
|
continue;
|
||||||
|
default:
|
||||||
|
goto handle_unusual;
|
||||||
|
} // switch
|
||||||
|
handle_unusual:
|
||||||
|
if ((tag == 0) || ((tag & 7) == 4)) {
|
||||||
|
CHK_(ptr);
|
||||||
|
ctx->SetLastTag(tag);
|
||||||
|
goto message_done;
|
||||||
|
}
|
||||||
|
ptr = UnknownFieldParse(
|
||||||
|
tag,
|
||||||
|
_internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
|
||||||
|
ptr, ctx);
|
||||||
|
CHK_(ptr != nullptr);
|
||||||
|
} // while
|
||||||
|
message_done:
|
||||||
|
return ptr;
|
||||||
|
failure:
|
||||||
|
ptr = nullptr;
|
||||||
|
goto message_done;
|
||||||
|
#undef CHK_
|
||||||
|
}
|
||||||
|
|
||||||
|
uint8_t* ESMData::_InternalSerialize(
|
||||||
|
uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
|
||||||
|
// @@protoc_insertion_point(serialize_to_array_start:messages.track.ESMData)
|
||||||
|
uint32_t cached_has_bits = 0;
|
||||||
|
(void) cached_has_bits;
|
||||||
|
|
||||||
|
// double Frequency = 1;
|
||||||
|
static_assert(sizeof(uint64_t) == sizeof(double), "Code assumes uint64_t and double are the same size.");
|
||||||
|
double tmp_frequency = this->_internal_frequency();
|
||||||
|
uint64_t raw_frequency;
|
||||||
|
memcpy(&raw_frequency, &tmp_frequency, sizeof(tmp_frequency));
|
||||||
|
if (raw_frequency != 0) {
|
||||||
|
target = stream->EnsureSpace(target);
|
||||||
|
target = ::_pbi::WireFormatLite::WriteDoubleToArray(1, this->_internal_frequency(), target);
|
||||||
|
}
|
||||||
|
|
||||||
|
// double PulseRepetitionFrequency = 2;
|
||||||
|
static_assert(sizeof(uint64_t) == sizeof(double), "Code assumes uint64_t and double are the same size.");
|
||||||
|
double tmp_pulserepetitionfrequency = this->_internal_pulserepetitionfrequency();
|
||||||
|
uint64_t raw_pulserepetitionfrequency;
|
||||||
|
memcpy(&raw_pulserepetitionfrequency, &tmp_pulserepetitionfrequency, sizeof(tmp_pulserepetitionfrequency));
|
||||||
|
if (raw_pulserepetitionfrequency != 0) {
|
||||||
|
target = stream->EnsureSpace(target);
|
||||||
|
target = ::_pbi::WireFormatLite::WriteDoubleToArray(2, this->_internal_pulserepetitionfrequency(), target);
|
||||||
|
}
|
||||||
|
|
||||||
|
// double PulseWidth = 3;
|
||||||
|
static_assert(sizeof(uint64_t) == sizeof(double), "Code assumes uint64_t and double are the same size.");
|
||||||
|
double tmp_pulsewidth = this->_internal_pulsewidth();
|
||||||
|
uint64_t raw_pulsewidth;
|
||||||
|
memcpy(&raw_pulsewidth, &tmp_pulsewidth, sizeof(tmp_pulsewidth));
|
||||||
|
if (raw_pulsewidth != 0) {
|
||||||
|
target = stream->EnsureSpace(target);
|
||||||
|
target = ::_pbi::WireFormatLite::WriteDoubleToArray(3, this->_internal_pulsewidth(), target);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
|
||||||
|
target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
|
||||||
|
_internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
|
||||||
|
}
|
||||||
|
// @@protoc_insertion_point(serialize_to_array_end:messages.track.ESMData)
|
||||||
|
return target;
|
||||||
|
}
|
||||||
|
|
||||||
|
size_t ESMData::ByteSizeLong() const {
|
||||||
|
// @@protoc_insertion_point(message_byte_size_start:messages.track.ESMData)
|
||||||
|
size_t total_size = 0;
|
||||||
|
|
||||||
|
uint32_t cached_has_bits = 0;
|
||||||
|
// Prevent compiler warnings about cached_has_bits being unused
|
||||||
|
(void) cached_has_bits;
|
||||||
|
|
||||||
|
// double Frequency = 1;
|
||||||
|
static_assert(sizeof(uint64_t) == sizeof(double), "Code assumes uint64_t and double are the same size.");
|
||||||
|
double tmp_frequency = this->_internal_frequency();
|
||||||
|
uint64_t raw_frequency;
|
||||||
|
memcpy(&raw_frequency, &tmp_frequency, sizeof(tmp_frequency));
|
||||||
|
if (raw_frequency != 0) {
|
||||||
|
total_size += 1 + 8;
|
||||||
|
}
|
||||||
|
|
||||||
|
// double PulseRepetitionFrequency = 2;
|
||||||
|
static_assert(sizeof(uint64_t) == sizeof(double), "Code assumes uint64_t and double are the same size.");
|
||||||
|
double tmp_pulserepetitionfrequency = this->_internal_pulserepetitionfrequency();
|
||||||
|
uint64_t raw_pulserepetitionfrequency;
|
||||||
|
memcpy(&raw_pulserepetitionfrequency, &tmp_pulserepetitionfrequency, sizeof(tmp_pulserepetitionfrequency));
|
||||||
|
if (raw_pulserepetitionfrequency != 0) {
|
||||||
|
total_size += 1 + 8;
|
||||||
|
}
|
||||||
|
|
||||||
|
// double PulseWidth = 3;
|
||||||
|
static_assert(sizeof(uint64_t) == sizeof(double), "Code assumes uint64_t and double are the same size.");
|
||||||
|
double tmp_pulsewidth = this->_internal_pulsewidth();
|
||||||
|
uint64_t raw_pulsewidth;
|
||||||
|
memcpy(&raw_pulsewidth, &tmp_pulsewidth, sizeof(tmp_pulsewidth));
|
||||||
|
if (raw_pulsewidth != 0) {
|
||||||
|
total_size += 1 + 8;
|
||||||
|
}
|
||||||
|
|
||||||
|
return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
|
||||||
|
}
|
||||||
|
|
||||||
|
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData ESMData::_class_data_ = {
|
||||||
|
::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
|
||||||
|
ESMData::MergeImpl
|
||||||
|
};
|
||||||
|
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*ESMData::GetClassData() const { return &_class_data_; }
|
||||||
|
|
||||||
|
|
||||||
|
void ESMData::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
|
||||||
|
auto* const _this = static_cast<ESMData*>(&to_msg);
|
||||||
|
auto& from = static_cast<const ESMData&>(from_msg);
|
||||||
|
// @@protoc_insertion_point(class_specific_merge_from_start:messages.track.ESMData)
|
||||||
|
GOOGLE_DCHECK_NE(&from, _this);
|
||||||
|
uint32_t cached_has_bits = 0;
|
||||||
|
(void) cached_has_bits;
|
||||||
|
|
||||||
|
static_assert(sizeof(uint64_t) == sizeof(double), "Code assumes uint64_t and double are the same size.");
|
||||||
|
double tmp_frequency = from._internal_frequency();
|
||||||
|
uint64_t raw_frequency;
|
||||||
|
memcpy(&raw_frequency, &tmp_frequency, sizeof(tmp_frequency));
|
||||||
|
if (raw_frequency != 0) {
|
||||||
|
_this->_internal_set_frequency(from._internal_frequency());
|
||||||
|
}
|
||||||
|
static_assert(sizeof(uint64_t) == sizeof(double), "Code assumes uint64_t and double are the same size.");
|
||||||
|
double tmp_pulserepetitionfrequency = from._internal_pulserepetitionfrequency();
|
||||||
|
uint64_t raw_pulserepetitionfrequency;
|
||||||
|
memcpy(&raw_pulserepetitionfrequency, &tmp_pulserepetitionfrequency, sizeof(tmp_pulserepetitionfrequency));
|
||||||
|
if (raw_pulserepetitionfrequency != 0) {
|
||||||
|
_this->_internal_set_pulserepetitionfrequency(from._internal_pulserepetitionfrequency());
|
||||||
|
}
|
||||||
|
static_assert(sizeof(uint64_t) == sizeof(double), "Code assumes uint64_t and double are the same size.");
|
||||||
|
double tmp_pulsewidth = from._internal_pulsewidth();
|
||||||
|
uint64_t raw_pulsewidth;
|
||||||
|
memcpy(&raw_pulsewidth, &tmp_pulsewidth, sizeof(tmp_pulsewidth));
|
||||||
|
if (raw_pulsewidth != 0) {
|
||||||
|
_this->_internal_set_pulsewidth(from._internal_pulsewidth());
|
||||||
|
}
|
||||||
|
_this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
|
||||||
|
}
|
||||||
|
|
||||||
|
void ESMData::CopyFrom(const ESMData& from) {
|
||||||
|
// @@protoc_insertion_point(class_specific_copy_from_start:messages.track.ESMData)
|
||||||
|
if (&from == this) return;
|
||||||
|
Clear();
|
||||||
|
MergeFrom(from);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool ESMData::IsInitialized() const {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
void ESMData::InternalSwap(ESMData* other) {
|
||||||
|
using std::swap;
|
||||||
|
_internal_metadata_.InternalSwap(&other->_internal_metadata_);
|
||||||
|
::PROTOBUF_NAMESPACE_ID::internal::memswap<
|
||||||
|
PROTOBUF_FIELD_OFFSET(ESMData, _impl_.pulsewidth_)
|
||||||
|
+ sizeof(ESMData::_impl_.pulsewidth_)
|
||||||
|
- PROTOBUF_FIELD_OFFSET(ESMData, _impl_.frequency_)>(
|
||||||
|
reinterpret_cast<char*>(&_impl_.frequency_),
|
||||||
|
reinterpret_cast<char*>(&other->_impl_.frequency_));
|
||||||
|
}
|
||||||
|
|
||||||
|
::PROTOBUF_NAMESPACE_ID::Metadata ESMData::GetMetadata() const {
|
||||||
|
return ::_pbi::AssignDescriptors(
|
||||||
|
&descriptor_table_ESMData_2eproto_getter, &descriptor_table_ESMData_2eproto_once,
|
||||||
|
file_level_metadata_ESMData_2eproto[0]);
|
||||||
|
}
|
||||||
|
|
||||||
|
// @@protoc_insertion_point(namespace_scope)
|
||||||
|
} // namespace track
|
||||||
|
} // namespace messages
|
||||||
|
PROTOBUF_NAMESPACE_OPEN
|
||||||
|
template<> PROTOBUF_NOINLINE ::messages::track::ESMData*
|
||||||
|
Arena::CreateMaybeMessage< ::messages::track::ESMData >(Arena* arena) {
|
||||||
|
return Arena::CreateMessageInternal< ::messages::track::ESMData >(arena);
|
||||||
|
}
|
||||||
|
PROTOBUF_NAMESPACE_CLOSE
|
||||||
|
|
||||||
|
// @@protoc_insertion_point(global_scope)
|
||||||
|
#include <google/protobuf/port_undef.inc>
|
||||||
313
include/SimCore/Messages/Protos/ESMData.pb.h
Normal file
313
include/SimCore/Messages/Protos/ESMData.pb.h
Normal file
@@ -0,0 +1,313 @@
|
|||||||
|
// Generated by the protocol buffer compiler. DO NOT EDIT!
|
||||||
|
// source: ESMData.proto
|
||||||
|
|
||||||
|
#ifndef GOOGLE_PROTOBUF_INCLUDED_ESMData_2eproto
|
||||||
|
#define GOOGLE_PROTOBUF_INCLUDED_ESMData_2eproto
|
||||||
|
|
||||||
|
#include <limits>
|
||||||
|
#include <string>
|
||||||
|
|
||||||
|
#include <google/protobuf/port_def.inc>
|
||||||
|
#if PROTOBUF_VERSION < 3021000
|
||||||
|
#error This file was generated by a newer version of protoc which is
|
||||||
|
#error incompatible with your Protocol Buffer headers. Please update
|
||||||
|
#error your headers.
|
||||||
|
#endif
|
||||||
|
#if 3021012 < PROTOBUF_MIN_PROTOC_VERSION
|
||||||
|
#error This file was generated by an older version of protoc which is
|
||||||
|
#error incompatible with your Protocol Buffer headers. Please
|
||||||
|
#error regenerate this file with a newer version of protoc.
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include <google/protobuf/port_undef.inc>
|
||||||
|
#include <google/protobuf/io/coded_stream.h>
|
||||||
|
#include <google/protobuf/arena.h>
|
||||||
|
#include <google/protobuf/arenastring.h>
|
||||||
|
#include <google/protobuf/generated_message_util.h>
|
||||||
|
#include <google/protobuf/metadata_lite.h>
|
||||||
|
#include <google/protobuf/generated_message_reflection.h>
|
||||||
|
#include <google/protobuf/message.h>
|
||||||
|
#include <google/protobuf/repeated_field.h> // IWYU pragma: export
|
||||||
|
#include <google/protobuf/extension_set.h> // IWYU pragma: export
|
||||||
|
#include <google/protobuf/unknown_field_set.h>
|
||||||
|
// @@protoc_insertion_point(includes)
|
||||||
|
#include <google/protobuf/port_def.inc>
|
||||||
|
#define PROTOBUF_INTERNAL_EXPORT_ESMData_2eproto
|
||||||
|
PROTOBUF_NAMESPACE_OPEN
|
||||||
|
namespace internal {
|
||||||
|
class AnyMetadata;
|
||||||
|
} // namespace internal
|
||||||
|
PROTOBUF_NAMESPACE_CLOSE
|
||||||
|
|
||||||
|
// Internal implementation detail -- do not use these members.
|
||||||
|
struct TableStruct_ESMData_2eproto {
|
||||||
|
static const uint32_t offsets[];
|
||||||
|
};
|
||||||
|
extern const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_ESMData_2eproto;
|
||||||
|
namespace messages {
|
||||||
|
namespace track {
|
||||||
|
class ESMData;
|
||||||
|
struct ESMDataDefaultTypeInternal;
|
||||||
|
extern ESMDataDefaultTypeInternal _ESMData_default_instance_;
|
||||||
|
} // namespace track
|
||||||
|
} // namespace messages
|
||||||
|
PROTOBUF_NAMESPACE_OPEN
|
||||||
|
template<> ::messages::track::ESMData* Arena::CreateMaybeMessage<::messages::track::ESMData>(Arena*);
|
||||||
|
PROTOBUF_NAMESPACE_CLOSE
|
||||||
|
namespace messages {
|
||||||
|
namespace track {
|
||||||
|
|
||||||
|
// ===================================================================
|
||||||
|
|
||||||
|
class ESMData final :
|
||||||
|
public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:messages.track.ESMData) */ {
|
||||||
|
public:
|
||||||
|
inline ESMData() : ESMData(nullptr) {}
|
||||||
|
~ESMData() override;
|
||||||
|
explicit PROTOBUF_CONSTEXPR ESMData(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
|
||||||
|
|
||||||
|
ESMData(const ESMData& from);
|
||||||
|
ESMData(ESMData&& from) noexcept
|
||||||
|
: ESMData() {
|
||||||
|
*this = ::std::move(from);
|
||||||
|
}
|
||||||
|
|
||||||
|
inline ESMData& operator=(const ESMData& from) {
|
||||||
|
CopyFrom(from);
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
inline ESMData& operator=(ESMData&& from) noexcept {
|
||||||
|
if (this == &from) return *this;
|
||||||
|
if (GetOwningArena() == from.GetOwningArena()
|
||||||
|
#ifdef PROTOBUF_FORCE_COPY_IN_MOVE
|
||||||
|
&& GetOwningArena() != nullptr
|
||||||
|
#endif // !PROTOBUF_FORCE_COPY_IN_MOVE
|
||||||
|
) {
|
||||||
|
InternalSwap(&from);
|
||||||
|
} else {
|
||||||
|
CopyFrom(from);
|
||||||
|
}
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
|
||||||
|
static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
|
||||||
|
return GetDescriptor();
|
||||||
|
}
|
||||||
|
static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
|
||||||
|
return default_instance().GetMetadata().descriptor;
|
||||||
|
}
|
||||||
|
static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
|
||||||
|
return default_instance().GetMetadata().reflection;
|
||||||
|
}
|
||||||
|
static const ESMData& default_instance() {
|
||||||
|
return *internal_default_instance();
|
||||||
|
}
|
||||||
|
static inline const ESMData* internal_default_instance() {
|
||||||
|
return reinterpret_cast<const ESMData*>(
|
||||||
|
&_ESMData_default_instance_);
|
||||||
|
}
|
||||||
|
static constexpr int kIndexInFileMessages =
|
||||||
|
0;
|
||||||
|
|
||||||
|
friend void swap(ESMData& a, ESMData& b) {
|
||||||
|
a.Swap(&b);
|
||||||
|
}
|
||||||
|
inline void Swap(ESMData* other) {
|
||||||
|
if (other == this) return;
|
||||||
|
#ifdef PROTOBUF_FORCE_COPY_IN_SWAP
|
||||||
|
if (GetOwningArena() != nullptr &&
|
||||||
|
GetOwningArena() == other->GetOwningArena()) {
|
||||||
|
#else // PROTOBUF_FORCE_COPY_IN_SWAP
|
||||||
|
if (GetOwningArena() == other->GetOwningArena()) {
|
||||||
|
#endif // !PROTOBUF_FORCE_COPY_IN_SWAP
|
||||||
|
InternalSwap(other);
|
||||||
|
} else {
|
||||||
|
::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
void UnsafeArenaSwap(ESMData* other) {
|
||||||
|
if (other == this) return;
|
||||||
|
GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
|
||||||
|
InternalSwap(other);
|
||||||
|
}
|
||||||
|
|
||||||
|
// implements Message ----------------------------------------------
|
||||||
|
|
||||||
|
ESMData* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
|
||||||
|
return CreateMaybeMessage<ESMData>(arena);
|
||||||
|
}
|
||||||
|
using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
|
||||||
|
void CopyFrom(const ESMData& from);
|
||||||
|
using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
|
||||||
|
void MergeFrom( const ESMData& from) {
|
||||||
|
ESMData::MergeImpl(*this, from);
|
||||||
|
}
|
||||||
|
private:
|
||||||
|
static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg);
|
||||||
|
public:
|
||||||
|
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
|
||||||
|
bool IsInitialized() const final;
|
||||||
|
|
||||||
|
size_t ByteSizeLong() const final;
|
||||||
|
const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
|
||||||
|
uint8_t* _InternalSerialize(
|
||||||
|
uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
|
||||||
|
int GetCachedSize() const final { return _impl_._cached_size_.Get(); }
|
||||||
|
|
||||||
|
private:
|
||||||
|
void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
|
||||||
|
void SharedDtor();
|
||||||
|
void SetCachedSize(int size) const final;
|
||||||
|
void InternalSwap(ESMData* other);
|
||||||
|
|
||||||
|
private:
|
||||||
|
friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
|
||||||
|
static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
|
||||||
|
return "messages.track.ESMData";
|
||||||
|
}
|
||||||
|
protected:
|
||||||
|
explicit ESMData(::PROTOBUF_NAMESPACE_ID::Arena* arena,
|
||||||
|
bool is_message_owned = false);
|
||||||
|
public:
|
||||||
|
|
||||||
|
static const ClassData _class_data_;
|
||||||
|
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
|
||||||
|
|
||||||
|
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
|
||||||
|
|
||||||
|
// nested types ----------------------------------------------------
|
||||||
|
|
||||||
|
// accessors -------------------------------------------------------
|
||||||
|
|
||||||
|
enum : int {
|
||||||
|
kFrequencyFieldNumber = 1,
|
||||||
|
kPulseRepetitionFrequencyFieldNumber = 2,
|
||||||
|
kPulseWidthFieldNumber = 3,
|
||||||
|
};
|
||||||
|
// double Frequency = 1;
|
||||||
|
void clear_frequency();
|
||||||
|
double frequency() const;
|
||||||
|
void set_frequency(double value);
|
||||||
|
private:
|
||||||
|
double _internal_frequency() const;
|
||||||
|
void _internal_set_frequency(double value);
|
||||||
|
public:
|
||||||
|
|
||||||
|
// double PulseRepetitionFrequency = 2;
|
||||||
|
void clear_pulserepetitionfrequency();
|
||||||
|
double pulserepetitionfrequency() const;
|
||||||
|
void set_pulserepetitionfrequency(double value);
|
||||||
|
private:
|
||||||
|
double _internal_pulserepetitionfrequency() const;
|
||||||
|
void _internal_set_pulserepetitionfrequency(double value);
|
||||||
|
public:
|
||||||
|
|
||||||
|
// double PulseWidth = 3;
|
||||||
|
void clear_pulsewidth();
|
||||||
|
double pulsewidth() const;
|
||||||
|
void set_pulsewidth(double value);
|
||||||
|
private:
|
||||||
|
double _internal_pulsewidth() const;
|
||||||
|
void _internal_set_pulsewidth(double value);
|
||||||
|
public:
|
||||||
|
|
||||||
|
// @@protoc_insertion_point(class_scope:messages.track.ESMData)
|
||||||
|
private:
|
||||||
|
class _Internal;
|
||||||
|
|
||||||
|
template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
|
||||||
|
typedef void InternalArenaConstructable_;
|
||||||
|
typedef void DestructorSkippable_;
|
||||||
|
struct Impl_ {
|
||||||
|
double frequency_;
|
||||||
|
double pulserepetitionfrequency_;
|
||||||
|
double pulsewidth_;
|
||||||
|
mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
|
||||||
|
};
|
||||||
|
union { Impl_ _impl_; };
|
||||||
|
friend struct ::TableStruct_ESMData_2eproto;
|
||||||
|
};
|
||||||
|
// ===================================================================
|
||||||
|
|
||||||
|
|
||||||
|
// ===================================================================
|
||||||
|
|
||||||
|
#ifdef __GNUC__
|
||||||
|
#pragma GCC diagnostic push
|
||||||
|
#pragma GCC diagnostic ignored "-Wstrict-aliasing"
|
||||||
|
#endif // __GNUC__
|
||||||
|
// ESMData
|
||||||
|
|
||||||
|
// double Frequency = 1;
|
||||||
|
inline void ESMData::clear_frequency() {
|
||||||
|
_impl_.frequency_ = 0;
|
||||||
|
}
|
||||||
|
inline double ESMData::_internal_frequency() const {
|
||||||
|
return _impl_.frequency_;
|
||||||
|
}
|
||||||
|
inline double ESMData::frequency() const {
|
||||||
|
// @@protoc_insertion_point(field_get:messages.track.ESMData.Frequency)
|
||||||
|
return _internal_frequency();
|
||||||
|
}
|
||||||
|
inline void ESMData::_internal_set_frequency(double value) {
|
||||||
|
|
||||||
|
_impl_.frequency_ = value;
|
||||||
|
}
|
||||||
|
inline void ESMData::set_frequency(double value) {
|
||||||
|
_internal_set_frequency(value);
|
||||||
|
// @@protoc_insertion_point(field_set:messages.track.ESMData.Frequency)
|
||||||
|
}
|
||||||
|
|
||||||
|
// double PulseRepetitionFrequency = 2;
|
||||||
|
inline void ESMData::clear_pulserepetitionfrequency() {
|
||||||
|
_impl_.pulserepetitionfrequency_ = 0;
|
||||||
|
}
|
||||||
|
inline double ESMData::_internal_pulserepetitionfrequency() const {
|
||||||
|
return _impl_.pulserepetitionfrequency_;
|
||||||
|
}
|
||||||
|
inline double ESMData::pulserepetitionfrequency() const {
|
||||||
|
// @@protoc_insertion_point(field_get:messages.track.ESMData.PulseRepetitionFrequency)
|
||||||
|
return _internal_pulserepetitionfrequency();
|
||||||
|
}
|
||||||
|
inline void ESMData::_internal_set_pulserepetitionfrequency(double value) {
|
||||||
|
|
||||||
|
_impl_.pulserepetitionfrequency_ = value;
|
||||||
|
}
|
||||||
|
inline void ESMData::set_pulserepetitionfrequency(double value) {
|
||||||
|
_internal_set_pulserepetitionfrequency(value);
|
||||||
|
// @@protoc_insertion_point(field_set:messages.track.ESMData.PulseRepetitionFrequency)
|
||||||
|
}
|
||||||
|
|
||||||
|
// double PulseWidth = 3;
|
||||||
|
inline void ESMData::clear_pulsewidth() {
|
||||||
|
_impl_.pulsewidth_ = 0;
|
||||||
|
}
|
||||||
|
inline double ESMData::_internal_pulsewidth() const {
|
||||||
|
return _impl_.pulsewidth_;
|
||||||
|
}
|
||||||
|
inline double ESMData::pulsewidth() const {
|
||||||
|
// @@protoc_insertion_point(field_get:messages.track.ESMData.PulseWidth)
|
||||||
|
return _internal_pulsewidth();
|
||||||
|
}
|
||||||
|
inline void ESMData::_internal_set_pulsewidth(double value) {
|
||||||
|
|
||||||
|
_impl_.pulsewidth_ = value;
|
||||||
|
}
|
||||||
|
inline void ESMData::set_pulsewidth(double value) {
|
||||||
|
_internal_set_pulsewidth(value);
|
||||||
|
// @@protoc_insertion_point(field_set:messages.track.ESMData.PulseWidth)
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifdef __GNUC__
|
||||||
|
#pragma GCC diagnostic pop
|
||||||
|
#endif // __GNUC__
|
||||||
|
|
||||||
|
// @@protoc_insertion_point(namespace_scope)
|
||||||
|
|
||||||
|
} // namespace track
|
||||||
|
} // namespace messages
|
||||||
|
|
||||||
|
// @@protoc_insertion_point(global_scope)
|
||||||
|
|
||||||
|
#include <google/protobuf/port_undef.inc>
|
||||||
|
#endif // GOOGLE_PROTOBUF_INCLUDED_GOOGLE_PROTOBUF_INCLUDED_ESMData_2eproto
|
||||||
12
include/SimCore/Messages/Protos/ESMData.proto
Normal file
12
include/SimCore/Messages/Protos/ESMData.proto
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
syntax = "proto3";
|
||||||
|
package messages.track;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
message ESMData {
|
||||||
|
|
||||||
|
double Frequency = 1;
|
||||||
|
double PulseRepetitionFrequency = 2;
|
||||||
|
double PulseWidth = 3;
|
||||||
|
}
|
||||||
503
include/SimCore/Messages/Protos/ESMTrack.pb.cc
Normal file
503
include/SimCore/Messages/Protos/ESMTrack.pb.cc
Normal file
@@ -0,0 +1,503 @@
|
|||||||
|
// Generated by the protocol buffer compiler. DO NOT EDIT!
|
||||||
|
// source: ESMTrack.proto
|
||||||
|
|
||||||
|
#include "ESMTrack.pb.h"
|
||||||
|
|
||||||
|
#include <algorithm>
|
||||||
|
|
||||||
|
#include <google/protobuf/io/coded_stream.h>
|
||||||
|
#include <google/protobuf/extension_set.h>
|
||||||
|
#include <google/protobuf/wire_format_lite.h>
|
||||||
|
#include <google/protobuf/descriptor.h>
|
||||||
|
#include <google/protobuf/generated_message_reflection.h>
|
||||||
|
#include <google/protobuf/reflection_ops.h>
|
||||||
|
#include <google/protobuf/wire_format.h>
|
||||||
|
// @@protoc_insertion_point(includes)
|
||||||
|
#include <google/protobuf/port_def.inc>
|
||||||
|
|
||||||
|
PROTOBUF_PRAGMA_INIT_SEG
|
||||||
|
|
||||||
|
namespace _pb = ::PROTOBUF_NAMESPACE_ID;
|
||||||
|
namespace _pbi = _pb::internal;
|
||||||
|
|
||||||
|
namespace messages {
|
||||||
|
namespace track {
|
||||||
|
PROTOBUF_CONSTEXPR ESMTrack::ESMTrack(
|
||||||
|
::_pbi::ConstantInitialized): _impl_{
|
||||||
|
/*decltype(_impl_.esmsensorid_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
|
||||||
|
, /*decltype(_impl_.entityidentifier_)*/nullptr
|
||||||
|
, /*decltype(_impl_.esmdata_)*/nullptr
|
||||||
|
, /*decltype(_impl_.timestamp_)*/nullptr
|
||||||
|
, /*decltype(_impl_.contactbearing_)*/0
|
||||||
|
, /*decltype(_impl_._cached_size_)*/{}} {}
|
||||||
|
struct ESMTrackDefaultTypeInternal {
|
||||||
|
PROTOBUF_CONSTEXPR ESMTrackDefaultTypeInternal()
|
||||||
|
: _instance(::_pbi::ConstantInitialized{}) {}
|
||||||
|
~ESMTrackDefaultTypeInternal() {}
|
||||||
|
union {
|
||||||
|
ESMTrack _instance;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ESMTrackDefaultTypeInternal _ESMTrack_default_instance_;
|
||||||
|
} // namespace track
|
||||||
|
} // namespace messages
|
||||||
|
static ::_pb::Metadata file_level_metadata_ESMTrack_2eproto[1];
|
||||||
|
static constexpr ::_pb::EnumDescriptor const** file_level_enum_descriptors_ESMTrack_2eproto = nullptr;
|
||||||
|
static constexpr ::_pb::ServiceDescriptor const** file_level_service_descriptors_ESMTrack_2eproto = nullptr;
|
||||||
|
|
||||||
|
const uint32_t TableStruct_ESMTrack_2eproto::offsets[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = {
|
||||||
|
~0u, // no _has_bits_
|
||||||
|
PROTOBUF_FIELD_OFFSET(::messages::track::ESMTrack, _internal_metadata_),
|
||||||
|
~0u, // no _extensions_
|
||||||
|
~0u, // no _oneof_case_
|
||||||
|
~0u, // no _weak_field_map_
|
||||||
|
~0u, // no _inlined_string_donated_
|
||||||
|
PROTOBUF_FIELD_OFFSET(::messages::track::ESMTrack, _impl_.esmsensorid_),
|
||||||
|
PROTOBUF_FIELD_OFFSET(::messages::track::ESMTrack, _impl_.entityidentifier_),
|
||||||
|
PROTOBUF_FIELD_OFFSET(::messages::track::ESMTrack, _impl_.esmdata_),
|
||||||
|
PROTOBUF_FIELD_OFFSET(::messages::track::ESMTrack, _impl_.contactbearing_),
|
||||||
|
PROTOBUF_FIELD_OFFSET(::messages::track::ESMTrack, _impl_.timestamp_),
|
||||||
|
};
|
||||||
|
static const ::_pbi::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = {
|
||||||
|
{ 0, -1, -1, sizeof(::messages::track::ESMTrack)},
|
||||||
|
};
|
||||||
|
|
||||||
|
static const ::_pb::Message* const file_default_instances[] = {
|
||||||
|
&::messages::track::_ESMTrack_default_instance_._instance,
|
||||||
|
};
|
||||||
|
|
||||||
|
const char descriptor_table_protodef_ESMTrack_2eproto[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) =
|
||||||
|
"\n\016ESMTrack.proto\022\016messages.track\032\020Identi"
|
||||||
|
"fier.proto\032\rESMData.proto\032\030GeocentricPos"
|
||||||
|
"ition.proto\032\037google/protobuf/timestamp.p"
|
||||||
|
"roto\"\306\001\n\010ESMTrack\022\023\n\013ESMSensorID\030\001 \001(\t\0224"
|
||||||
|
"\n\020EntityIdentifier\030\002 \001(\0132\032.messages.trac"
|
||||||
|
"k.Identifier\022(\n\007ESMData\030\003 \001(\0132\027.messages"
|
||||||
|
".track.ESMData\022\026\n\016ContactBearing\030\004 \001(\001\022-"
|
||||||
|
"\n\ttimestamp\030\005 \001(\0132\032.google.protobuf.Time"
|
||||||
|
"stampb\006proto3"
|
||||||
|
;
|
||||||
|
static const ::_pbi::DescriptorTable* const descriptor_table_ESMTrack_2eproto_deps[4] = {
|
||||||
|
&::descriptor_table_ESMData_2eproto,
|
||||||
|
&::descriptor_table_GeocentricPosition_2eproto,
|
||||||
|
&::descriptor_table_Identifier_2eproto,
|
||||||
|
&::descriptor_table_google_2fprotobuf_2ftimestamp_2eproto,
|
||||||
|
};
|
||||||
|
static ::_pbi::once_flag descriptor_table_ESMTrack_2eproto_once;
|
||||||
|
const ::_pbi::DescriptorTable descriptor_table_ESMTrack_2eproto = {
|
||||||
|
false, false, 333, descriptor_table_protodef_ESMTrack_2eproto,
|
||||||
|
"ESMTrack.proto",
|
||||||
|
&descriptor_table_ESMTrack_2eproto_once, descriptor_table_ESMTrack_2eproto_deps, 4, 1,
|
||||||
|
schemas, file_default_instances, TableStruct_ESMTrack_2eproto::offsets,
|
||||||
|
file_level_metadata_ESMTrack_2eproto, file_level_enum_descriptors_ESMTrack_2eproto,
|
||||||
|
file_level_service_descriptors_ESMTrack_2eproto,
|
||||||
|
};
|
||||||
|
PROTOBUF_ATTRIBUTE_WEAK const ::_pbi::DescriptorTable* descriptor_table_ESMTrack_2eproto_getter() {
|
||||||
|
return &descriptor_table_ESMTrack_2eproto;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Force running AddDescriptors() at dynamic initialization time.
|
||||||
|
PROTOBUF_ATTRIBUTE_INIT_PRIORITY2 static ::_pbi::AddDescriptorsRunner dynamic_init_dummy_ESMTrack_2eproto(&descriptor_table_ESMTrack_2eproto);
|
||||||
|
namespace messages {
|
||||||
|
namespace track {
|
||||||
|
|
||||||
|
// ===================================================================
|
||||||
|
|
||||||
|
class ESMTrack::_Internal {
|
||||||
|
public:
|
||||||
|
static const ::messages::track::Identifier& entityidentifier(const ESMTrack* msg);
|
||||||
|
static const ::messages::track::ESMData& esmdata(const ESMTrack* msg);
|
||||||
|
static const ::PROTOBUF_NAMESPACE_ID::Timestamp& timestamp(const ESMTrack* msg);
|
||||||
|
};
|
||||||
|
|
||||||
|
const ::messages::track::Identifier&
|
||||||
|
ESMTrack::_Internal::entityidentifier(const ESMTrack* msg) {
|
||||||
|
return *msg->_impl_.entityidentifier_;
|
||||||
|
}
|
||||||
|
const ::messages::track::ESMData&
|
||||||
|
ESMTrack::_Internal::esmdata(const ESMTrack* msg) {
|
||||||
|
return *msg->_impl_.esmdata_;
|
||||||
|
}
|
||||||
|
const ::PROTOBUF_NAMESPACE_ID::Timestamp&
|
||||||
|
ESMTrack::_Internal::timestamp(const ESMTrack* msg) {
|
||||||
|
return *msg->_impl_.timestamp_;
|
||||||
|
}
|
||||||
|
void ESMTrack::clear_entityidentifier() {
|
||||||
|
if (GetArenaForAllocation() == nullptr && _impl_.entityidentifier_ != nullptr) {
|
||||||
|
delete _impl_.entityidentifier_;
|
||||||
|
}
|
||||||
|
_impl_.entityidentifier_ = nullptr;
|
||||||
|
}
|
||||||
|
void ESMTrack::clear_esmdata() {
|
||||||
|
if (GetArenaForAllocation() == nullptr && _impl_.esmdata_ != nullptr) {
|
||||||
|
delete _impl_.esmdata_;
|
||||||
|
}
|
||||||
|
_impl_.esmdata_ = nullptr;
|
||||||
|
}
|
||||||
|
void ESMTrack::clear_timestamp() {
|
||||||
|
if (GetArenaForAllocation() == nullptr && _impl_.timestamp_ != nullptr) {
|
||||||
|
delete _impl_.timestamp_;
|
||||||
|
}
|
||||||
|
_impl_.timestamp_ = nullptr;
|
||||||
|
}
|
||||||
|
ESMTrack::ESMTrack(::PROTOBUF_NAMESPACE_ID::Arena* arena,
|
||||||
|
bool is_message_owned)
|
||||||
|
: ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
|
||||||
|
SharedCtor(arena, is_message_owned);
|
||||||
|
// @@protoc_insertion_point(arena_constructor:messages.track.ESMTrack)
|
||||||
|
}
|
||||||
|
ESMTrack::ESMTrack(const ESMTrack& from)
|
||||||
|
: ::PROTOBUF_NAMESPACE_ID::Message() {
|
||||||
|
ESMTrack* const _this = this; (void)_this;
|
||||||
|
new (&_impl_) Impl_{
|
||||||
|
decltype(_impl_.esmsensorid_){}
|
||||||
|
, decltype(_impl_.entityidentifier_){nullptr}
|
||||||
|
, decltype(_impl_.esmdata_){nullptr}
|
||||||
|
, decltype(_impl_.timestamp_){nullptr}
|
||||||
|
, decltype(_impl_.contactbearing_){}
|
||||||
|
, /*decltype(_impl_._cached_size_)*/{}};
|
||||||
|
|
||||||
|
_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
|
||||||
|
_impl_.esmsensorid_.InitDefault();
|
||||||
|
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
|
||||||
|
_impl_.esmsensorid_.Set("", GetArenaForAllocation());
|
||||||
|
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
|
||||||
|
if (!from._internal_esmsensorid().empty()) {
|
||||||
|
_this->_impl_.esmsensorid_.Set(from._internal_esmsensorid(),
|
||||||
|
_this->GetArenaForAllocation());
|
||||||
|
}
|
||||||
|
if (from._internal_has_entityidentifier()) {
|
||||||
|
_this->_impl_.entityidentifier_ = new ::messages::track::Identifier(*from._impl_.entityidentifier_);
|
||||||
|
}
|
||||||
|
if (from._internal_has_esmdata()) {
|
||||||
|
_this->_impl_.esmdata_ = new ::messages::track::ESMData(*from._impl_.esmdata_);
|
||||||
|
}
|
||||||
|
if (from._internal_has_timestamp()) {
|
||||||
|
_this->_impl_.timestamp_ = new ::PROTOBUF_NAMESPACE_ID::Timestamp(*from._impl_.timestamp_);
|
||||||
|
}
|
||||||
|
_this->_impl_.contactbearing_ = from._impl_.contactbearing_;
|
||||||
|
// @@protoc_insertion_point(copy_constructor:messages.track.ESMTrack)
|
||||||
|
}
|
||||||
|
|
||||||
|
inline void ESMTrack::SharedCtor(
|
||||||
|
::_pb::Arena* arena, bool is_message_owned) {
|
||||||
|
(void)arena;
|
||||||
|
(void)is_message_owned;
|
||||||
|
new (&_impl_) Impl_{
|
||||||
|
decltype(_impl_.esmsensorid_){}
|
||||||
|
, decltype(_impl_.entityidentifier_){nullptr}
|
||||||
|
, decltype(_impl_.esmdata_){nullptr}
|
||||||
|
, decltype(_impl_.timestamp_){nullptr}
|
||||||
|
, decltype(_impl_.contactbearing_){0}
|
||||||
|
, /*decltype(_impl_._cached_size_)*/{}
|
||||||
|
};
|
||||||
|
_impl_.esmsensorid_.InitDefault();
|
||||||
|
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
|
||||||
|
_impl_.esmsensorid_.Set("", GetArenaForAllocation());
|
||||||
|
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
|
||||||
|
}
|
||||||
|
|
||||||
|
ESMTrack::~ESMTrack() {
|
||||||
|
// @@protoc_insertion_point(destructor:messages.track.ESMTrack)
|
||||||
|
if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
|
||||||
|
(void)arena;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
SharedDtor();
|
||||||
|
}
|
||||||
|
|
||||||
|
inline void ESMTrack::SharedDtor() {
|
||||||
|
GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
|
||||||
|
_impl_.esmsensorid_.Destroy();
|
||||||
|
if (this != internal_default_instance()) delete _impl_.entityidentifier_;
|
||||||
|
if (this != internal_default_instance()) delete _impl_.esmdata_;
|
||||||
|
if (this != internal_default_instance()) delete _impl_.timestamp_;
|
||||||
|
}
|
||||||
|
|
||||||
|
void ESMTrack::SetCachedSize(int size) const {
|
||||||
|
_impl_._cached_size_.Set(size);
|
||||||
|
}
|
||||||
|
|
||||||
|
void ESMTrack::Clear() {
|
||||||
|
// @@protoc_insertion_point(message_clear_start:messages.track.ESMTrack)
|
||||||
|
uint32_t cached_has_bits = 0;
|
||||||
|
// Prevent compiler warnings about cached_has_bits being unused
|
||||||
|
(void) cached_has_bits;
|
||||||
|
|
||||||
|
_impl_.esmsensorid_.ClearToEmpty();
|
||||||
|
if (GetArenaForAllocation() == nullptr && _impl_.entityidentifier_ != nullptr) {
|
||||||
|
delete _impl_.entityidentifier_;
|
||||||
|
}
|
||||||
|
_impl_.entityidentifier_ = nullptr;
|
||||||
|
if (GetArenaForAllocation() == nullptr && _impl_.esmdata_ != nullptr) {
|
||||||
|
delete _impl_.esmdata_;
|
||||||
|
}
|
||||||
|
_impl_.esmdata_ = nullptr;
|
||||||
|
if (GetArenaForAllocation() == nullptr && _impl_.timestamp_ != nullptr) {
|
||||||
|
delete _impl_.timestamp_;
|
||||||
|
}
|
||||||
|
_impl_.timestamp_ = nullptr;
|
||||||
|
_impl_.contactbearing_ = 0;
|
||||||
|
_internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
|
||||||
|
}
|
||||||
|
|
||||||
|
const char* ESMTrack::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
|
||||||
|
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
|
||||||
|
while (!ctx->Done(&ptr)) {
|
||||||
|
uint32_t tag;
|
||||||
|
ptr = ::_pbi::ReadTag(ptr, &tag);
|
||||||
|
switch (tag >> 3) {
|
||||||
|
// string ESMSensorID = 1;
|
||||||
|
case 1:
|
||||||
|
if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
|
||||||
|
auto str = _internal_mutable_esmsensorid();
|
||||||
|
ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
|
||||||
|
CHK_(ptr);
|
||||||
|
CHK_(::_pbi::VerifyUTF8(str, "messages.track.ESMTrack.ESMSensorID"));
|
||||||
|
} 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);
|
||||||
|
CHK_(ptr);
|
||||||
|
} else
|
||||||
|
goto handle_unusual;
|
||||||
|
continue;
|
||||||
|
// .messages.track.ESMData ESMData = 3;
|
||||||
|
case 3:
|
||||||
|
if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 26)) {
|
||||||
|
ptr = ctx->ParseMessage(_internal_mutable_esmdata(), ptr);
|
||||||
|
CHK_(ptr);
|
||||||
|
} else
|
||||||
|
goto handle_unusual;
|
||||||
|
continue;
|
||||||
|
// double ContactBearing = 4;
|
||||||
|
case 4:
|
||||||
|
if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 33)) {
|
||||||
|
_impl_.contactbearing_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
|
||||||
|
ptr += sizeof(double);
|
||||||
|
} else
|
||||||
|
goto handle_unusual;
|
||||||
|
continue;
|
||||||
|
// .google.protobuf.Timestamp timestamp = 5;
|
||||||
|
case 5:
|
||||||
|
if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 42)) {
|
||||||
|
ptr = ctx->ParseMessage(_internal_mutable_timestamp(), ptr);
|
||||||
|
CHK_(ptr);
|
||||||
|
} else
|
||||||
|
goto handle_unusual;
|
||||||
|
continue;
|
||||||
|
default:
|
||||||
|
goto handle_unusual;
|
||||||
|
} // switch
|
||||||
|
handle_unusual:
|
||||||
|
if ((tag == 0) || ((tag & 7) == 4)) {
|
||||||
|
CHK_(ptr);
|
||||||
|
ctx->SetLastTag(tag);
|
||||||
|
goto message_done;
|
||||||
|
}
|
||||||
|
ptr = UnknownFieldParse(
|
||||||
|
tag,
|
||||||
|
_internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
|
||||||
|
ptr, ctx);
|
||||||
|
CHK_(ptr != nullptr);
|
||||||
|
} // while
|
||||||
|
message_done:
|
||||||
|
return ptr;
|
||||||
|
failure:
|
||||||
|
ptr = nullptr;
|
||||||
|
goto message_done;
|
||||||
|
#undef CHK_
|
||||||
|
}
|
||||||
|
|
||||||
|
uint8_t* ESMTrack::_InternalSerialize(
|
||||||
|
uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
|
||||||
|
// @@protoc_insertion_point(serialize_to_array_start:messages.track.ESMTrack)
|
||||||
|
uint32_t cached_has_bits = 0;
|
||||||
|
(void) cached_has_bits;
|
||||||
|
|
||||||
|
// string ESMSensorID = 1;
|
||||||
|
if (!this->_internal_esmsensorid().empty()) {
|
||||||
|
::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
|
||||||
|
this->_internal_esmsensorid().data(), static_cast<int>(this->_internal_esmsensorid().length()),
|
||||||
|
::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
|
||||||
|
"messages.track.ESMTrack.ESMSensorID");
|
||||||
|
target = stream->WriteStringMaybeAliased(
|
||||||
|
1, this->_internal_esmsensorid(), target);
|
||||||
|
}
|
||||||
|
|
||||||
|
// .messages.track.Identifier EntityIdentifier = 2;
|
||||||
|
if (this->_internal_has_entityidentifier()) {
|
||||||
|
target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
|
||||||
|
InternalWriteMessage(2, _Internal::entityidentifier(this),
|
||||||
|
_Internal::entityidentifier(this).GetCachedSize(), target, stream);
|
||||||
|
}
|
||||||
|
|
||||||
|
// .messages.track.ESMData ESMData = 3;
|
||||||
|
if (this->_internal_has_esmdata()) {
|
||||||
|
target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
|
||||||
|
InternalWriteMessage(3, _Internal::esmdata(this),
|
||||||
|
_Internal::esmdata(this).GetCachedSize(), target, stream);
|
||||||
|
}
|
||||||
|
|
||||||
|
// double ContactBearing = 4;
|
||||||
|
static_assert(sizeof(uint64_t) == sizeof(double), "Code assumes uint64_t and double are the same size.");
|
||||||
|
double tmp_contactbearing = this->_internal_contactbearing();
|
||||||
|
uint64_t raw_contactbearing;
|
||||||
|
memcpy(&raw_contactbearing, &tmp_contactbearing, sizeof(tmp_contactbearing));
|
||||||
|
if (raw_contactbearing != 0) {
|
||||||
|
target = stream->EnsureSpace(target);
|
||||||
|
target = ::_pbi::WireFormatLite::WriteDoubleToArray(4, this->_internal_contactbearing(), target);
|
||||||
|
}
|
||||||
|
|
||||||
|
// .google.protobuf.Timestamp timestamp = 5;
|
||||||
|
if (this->_internal_has_timestamp()) {
|
||||||
|
target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
|
||||||
|
InternalWriteMessage(5, _Internal::timestamp(this),
|
||||||
|
_Internal::timestamp(this).GetCachedSize(), target, stream);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
|
||||||
|
target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
|
||||||
|
_internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
|
||||||
|
}
|
||||||
|
// @@protoc_insertion_point(serialize_to_array_end:messages.track.ESMTrack)
|
||||||
|
return target;
|
||||||
|
}
|
||||||
|
|
||||||
|
size_t ESMTrack::ByteSizeLong() const {
|
||||||
|
// @@protoc_insertion_point(message_byte_size_start:messages.track.ESMTrack)
|
||||||
|
size_t total_size = 0;
|
||||||
|
|
||||||
|
uint32_t cached_has_bits = 0;
|
||||||
|
// Prevent compiler warnings about cached_has_bits being unused
|
||||||
|
(void) cached_has_bits;
|
||||||
|
|
||||||
|
// string ESMSensorID = 1;
|
||||||
|
if (!this->_internal_esmsensorid().empty()) {
|
||||||
|
total_size += 1 +
|
||||||
|
::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
|
||||||
|
this->_internal_esmsensorid());
|
||||||
|
}
|
||||||
|
|
||||||
|
// .messages.track.Identifier EntityIdentifier = 2;
|
||||||
|
if (this->_internal_has_entityidentifier()) {
|
||||||
|
total_size += 1 +
|
||||||
|
::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
|
||||||
|
*_impl_.entityidentifier_);
|
||||||
|
}
|
||||||
|
|
||||||
|
// .messages.track.ESMData ESMData = 3;
|
||||||
|
if (this->_internal_has_esmdata()) {
|
||||||
|
total_size += 1 +
|
||||||
|
::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
|
||||||
|
*_impl_.esmdata_);
|
||||||
|
}
|
||||||
|
|
||||||
|
// .google.protobuf.Timestamp timestamp = 5;
|
||||||
|
if (this->_internal_has_timestamp()) {
|
||||||
|
total_size += 1 +
|
||||||
|
::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
|
||||||
|
*_impl_.timestamp_);
|
||||||
|
}
|
||||||
|
|
||||||
|
// double ContactBearing = 4;
|
||||||
|
static_assert(sizeof(uint64_t) == sizeof(double), "Code assumes uint64_t and double are the same size.");
|
||||||
|
double tmp_contactbearing = this->_internal_contactbearing();
|
||||||
|
uint64_t raw_contactbearing;
|
||||||
|
memcpy(&raw_contactbearing, &tmp_contactbearing, sizeof(tmp_contactbearing));
|
||||||
|
if (raw_contactbearing != 0) {
|
||||||
|
total_size += 1 + 8;
|
||||||
|
}
|
||||||
|
|
||||||
|
return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
|
||||||
|
}
|
||||||
|
|
||||||
|
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData ESMTrack::_class_data_ = {
|
||||||
|
::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
|
||||||
|
ESMTrack::MergeImpl
|
||||||
|
};
|
||||||
|
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*ESMTrack::GetClassData() const { return &_class_data_; }
|
||||||
|
|
||||||
|
|
||||||
|
void ESMTrack::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
|
||||||
|
auto* const _this = static_cast<ESMTrack*>(&to_msg);
|
||||||
|
auto& from = static_cast<const ESMTrack&>(from_msg);
|
||||||
|
// @@protoc_insertion_point(class_specific_merge_from_start:messages.track.ESMTrack)
|
||||||
|
GOOGLE_DCHECK_NE(&from, _this);
|
||||||
|
uint32_t cached_has_bits = 0;
|
||||||
|
(void) cached_has_bits;
|
||||||
|
|
||||||
|
if (!from._internal_esmsensorid().empty()) {
|
||||||
|
_this->_internal_set_esmsensorid(from._internal_esmsensorid());
|
||||||
|
}
|
||||||
|
if (from._internal_has_entityidentifier()) {
|
||||||
|
_this->_internal_mutable_entityidentifier()->::messages::track::Identifier::MergeFrom(
|
||||||
|
from._internal_entityidentifier());
|
||||||
|
}
|
||||||
|
if (from._internal_has_esmdata()) {
|
||||||
|
_this->_internal_mutable_esmdata()->::messages::track::ESMData::MergeFrom(
|
||||||
|
from._internal_esmdata());
|
||||||
|
}
|
||||||
|
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.");
|
||||||
|
double tmp_contactbearing = from._internal_contactbearing();
|
||||||
|
uint64_t raw_contactbearing;
|
||||||
|
memcpy(&raw_contactbearing, &tmp_contactbearing, sizeof(tmp_contactbearing));
|
||||||
|
if (raw_contactbearing != 0) {
|
||||||
|
_this->_internal_set_contactbearing(from._internal_contactbearing());
|
||||||
|
}
|
||||||
|
_this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
|
||||||
|
}
|
||||||
|
|
||||||
|
void ESMTrack::CopyFrom(const ESMTrack& from) {
|
||||||
|
// @@protoc_insertion_point(class_specific_copy_from_start:messages.track.ESMTrack)
|
||||||
|
if (&from == this) return;
|
||||||
|
Clear();
|
||||||
|
MergeFrom(from);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool ESMTrack::IsInitialized() const {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
void ESMTrack::InternalSwap(ESMTrack* other) {
|
||||||
|
using std::swap;
|
||||||
|
auto* lhs_arena = GetArenaForAllocation();
|
||||||
|
auto* rhs_arena = other->GetArenaForAllocation();
|
||||||
|
_internal_metadata_.InternalSwap(&other->_internal_metadata_);
|
||||||
|
::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
|
||||||
|
&_impl_.esmsensorid_, lhs_arena,
|
||||||
|
&other->_impl_.esmsensorid_, rhs_arena
|
||||||
|
);
|
||||||
|
::PROTOBUF_NAMESPACE_ID::internal::memswap<
|
||||||
|
PROTOBUF_FIELD_OFFSET(ESMTrack, _impl_.contactbearing_)
|
||||||
|
+ sizeof(ESMTrack::_impl_.contactbearing_)
|
||||||
|
- PROTOBUF_FIELD_OFFSET(ESMTrack, _impl_.entityidentifier_)>(
|
||||||
|
reinterpret_cast<char*>(&_impl_.entityidentifier_),
|
||||||
|
reinterpret_cast<char*>(&other->_impl_.entityidentifier_));
|
||||||
|
}
|
||||||
|
|
||||||
|
::PROTOBUF_NAMESPACE_ID::Metadata ESMTrack::GetMetadata() const {
|
||||||
|
return ::_pbi::AssignDescriptors(
|
||||||
|
&descriptor_table_ESMTrack_2eproto_getter, &descriptor_table_ESMTrack_2eproto_once,
|
||||||
|
file_level_metadata_ESMTrack_2eproto[0]);
|
||||||
|
}
|
||||||
|
|
||||||
|
// @@protoc_insertion_point(namespace_scope)
|
||||||
|
} // namespace track
|
||||||
|
} // namespace messages
|
||||||
|
PROTOBUF_NAMESPACE_OPEN
|
||||||
|
template<> PROTOBUF_NOINLINE ::messages::track::ESMTrack*
|
||||||
|
Arena::CreateMaybeMessage< ::messages::track::ESMTrack >(Arena* arena) {
|
||||||
|
return Arena::CreateMessageInternal< ::messages::track::ESMTrack >(arena);
|
||||||
|
}
|
||||||
|
PROTOBUF_NAMESPACE_CLOSE
|
||||||
|
|
||||||
|
// @@protoc_insertion_point(global_scope)
|
||||||
|
#include <google/protobuf/port_undef.inc>
|
||||||
636
include/SimCore/Messages/Protos/ESMTrack.pb.h
Normal file
636
include/SimCore/Messages/Protos/ESMTrack.pb.h
Normal file
@@ -0,0 +1,636 @@
|
|||||||
|
// Generated by the protocol buffer compiler. DO NOT EDIT!
|
||||||
|
// source: ESMTrack.proto
|
||||||
|
|
||||||
|
#ifndef GOOGLE_PROTOBUF_INCLUDED_ESMTrack_2eproto
|
||||||
|
#define GOOGLE_PROTOBUF_INCLUDED_ESMTrack_2eproto
|
||||||
|
|
||||||
|
#include <limits>
|
||||||
|
#include <string>
|
||||||
|
|
||||||
|
#include <google/protobuf/port_def.inc>
|
||||||
|
#if PROTOBUF_VERSION < 3021000
|
||||||
|
#error This file was generated by a newer version of protoc which is
|
||||||
|
#error incompatible with your Protocol Buffer headers. Please update
|
||||||
|
#error your headers.
|
||||||
|
#endif
|
||||||
|
#if 3021012 < PROTOBUF_MIN_PROTOC_VERSION
|
||||||
|
#error This file was generated by an older version of protoc which is
|
||||||
|
#error incompatible with your Protocol Buffer headers. Please
|
||||||
|
#error regenerate this file with a newer version of protoc.
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include <google/protobuf/port_undef.inc>
|
||||||
|
#include <google/protobuf/io/coded_stream.h>
|
||||||
|
#include <google/protobuf/arena.h>
|
||||||
|
#include <google/protobuf/arenastring.h>
|
||||||
|
#include <google/protobuf/generated_message_util.h>
|
||||||
|
#include <google/protobuf/metadata_lite.h>
|
||||||
|
#include <google/protobuf/generated_message_reflection.h>
|
||||||
|
#include <google/protobuf/message.h>
|
||||||
|
#include <google/protobuf/repeated_field.h> // IWYU pragma: export
|
||||||
|
#include <google/protobuf/extension_set.h> // IWYU pragma: export
|
||||||
|
#include <google/protobuf/unknown_field_set.h>
|
||||||
|
#include "Identifier.pb.h"
|
||||||
|
#include "ESMData.pb.h"
|
||||||
|
#include "GeocentricPosition.pb.h"
|
||||||
|
#include <google/protobuf/timestamp.pb.h>
|
||||||
|
// @@protoc_insertion_point(includes)
|
||||||
|
#include <google/protobuf/port_def.inc>
|
||||||
|
#define PROTOBUF_INTERNAL_EXPORT_ESMTrack_2eproto
|
||||||
|
PROTOBUF_NAMESPACE_OPEN
|
||||||
|
namespace internal {
|
||||||
|
class AnyMetadata;
|
||||||
|
} // namespace internal
|
||||||
|
PROTOBUF_NAMESPACE_CLOSE
|
||||||
|
|
||||||
|
// Internal implementation detail -- do not use these members.
|
||||||
|
struct TableStruct_ESMTrack_2eproto {
|
||||||
|
static const uint32_t offsets[];
|
||||||
|
};
|
||||||
|
extern const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_ESMTrack_2eproto;
|
||||||
|
namespace messages {
|
||||||
|
namespace track {
|
||||||
|
class ESMTrack;
|
||||||
|
struct ESMTrackDefaultTypeInternal;
|
||||||
|
extern ESMTrackDefaultTypeInternal _ESMTrack_default_instance_;
|
||||||
|
} // namespace track
|
||||||
|
} // namespace messages
|
||||||
|
PROTOBUF_NAMESPACE_OPEN
|
||||||
|
template<> ::messages::track::ESMTrack* Arena::CreateMaybeMessage<::messages::track::ESMTrack>(Arena*);
|
||||||
|
PROTOBUF_NAMESPACE_CLOSE
|
||||||
|
namespace messages {
|
||||||
|
namespace track {
|
||||||
|
|
||||||
|
// ===================================================================
|
||||||
|
|
||||||
|
class ESMTrack final :
|
||||||
|
public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:messages.track.ESMTrack) */ {
|
||||||
|
public:
|
||||||
|
inline ESMTrack() : ESMTrack(nullptr) {}
|
||||||
|
~ESMTrack() override;
|
||||||
|
explicit PROTOBUF_CONSTEXPR ESMTrack(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
|
||||||
|
|
||||||
|
ESMTrack(const ESMTrack& from);
|
||||||
|
ESMTrack(ESMTrack&& from) noexcept
|
||||||
|
: ESMTrack() {
|
||||||
|
*this = ::std::move(from);
|
||||||
|
}
|
||||||
|
|
||||||
|
inline ESMTrack& operator=(const ESMTrack& from) {
|
||||||
|
CopyFrom(from);
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
inline ESMTrack& operator=(ESMTrack&& from) noexcept {
|
||||||
|
if (this == &from) return *this;
|
||||||
|
if (GetOwningArena() == from.GetOwningArena()
|
||||||
|
#ifdef PROTOBUF_FORCE_COPY_IN_MOVE
|
||||||
|
&& GetOwningArena() != nullptr
|
||||||
|
#endif // !PROTOBUF_FORCE_COPY_IN_MOVE
|
||||||
|
) {
|
||||||
|
InternalSwap(&from);
|
||||||
|
} else {
|
||||||
|
CopyFrom(from);
|
||||||
|
}
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
|
||||||
|
static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
|
||||||
|
return GetDescriptor();
|
||||||
|
}
|
||||||
|
static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
|
||||||
|
return default_instance().GetMetadata().descriptor;
|
||||||
|
}
|
||||||
|
static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
|
||||||
|
return default_instance().GetMetadata().reflection;
|
||||||
|
}
|
||||||
|
static const ESMTrack& default_instance() {
|
||||||
|
return *internal_default_instance();
|
||||||
|
}
|
||||||
|
static inline const ESMTrack* internal_default_instance() {
|
||||||
|
return reinterpret_cast<const ESMTrack*>(
|
||||||
|
&_ESMTrack_default_instance_);
|
||||||
|
}
|
||||||
|
static constexpr int kIndexInFileMessages =
|
||||||
|
0;
|
||||||
|
|
||||||
|
friend void swap(ESMTrack& a, ESMTrack& b) {
|
||||||
|
a.Swap(&b);
|
||||||
|
}
|
||||||
|
inline void Swap(ESMTrack* other) {
|
||||||
|
if (other == this) return;
|
||||||
|
#ifdef PROTOBUF_FORCE_COPY_IN_SWAP
|
||||||
|
if (GetOwningArena() != nullptr &&
|
||||||
|
GetOwningArena() == other->GetOwningArena()) {
|
||||||
|
#else // PROTOBUF_FORCE_COPY_IN_SWAP
|
||||||
|
if (GetOwningArena() == other->GetOwningArena()) {
|
||||||
|
#endif // !PROTOBUF_FORCE_COPY_IN_SWAP
|
||||||
|
InternalSwap(other);
|
||||||
|
} else {
|
||||||
|
::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
void UnsafeArenaSwap(ESMTrack* other) {
|
||||||
|
if (other == this) return;
|
||||||
|
GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
|
||||||
|
InternalSwap(other);
|
||||||
|
}
|
||||||
|
|
||||||
|
// implements Message ----------------------------------------------
|
||||||
|
|
||||||
|
ESMTrack* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
|
||||||
|
return CreateMaybeMessage<ESMTrack>(arena);
|
||||||
|
}
|
||||||
|
using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
|
||||||
|
void CopyFrom(const ESMTrack& from);
|
||||||
|
using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
|
||||||
|
void MergeFrom( const ESMTrack& from) {
|
||||||
|
ESMTrack::MergeImpl(*this, from);
|
||||||
|
}
|
||||||
|
private:
|
||||||
|
static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg);
|
||||||
|
public:
|
||||||
|
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
|
||||||
|
bool IsInitialized() const final;
|
||||||
|
|
||||||
|
size_t ByteSizeLong() const final;
|
||||||
|
const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
|
||||||
|
uint8_t* _InternalSerialize(
|
||||||
|
uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
|
||||||
|
int GetCachedSize() const final { return _impl_._cached_size_.Get(); }
|
||||||
|
|
||||||
|
private:
|
||||||
|
void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
|
||||||
|
void SharedDtor();
|
||||||
|
void SetCachedSize(int size) const final;
|
||||||
|
void InternalSwap(ESMTrack* other);
|
||||||
|
|
||||||
|
private:
|
||||||
|
friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
|
||||||
|
static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
|
||||||
|
return "messages.track.ESMTrack";
|
||||||
|
}
|
||||||
|
protected:
|
||||||
|
explicit ESMTrack(::PROTOBUF_NAMESPACE_ID::Arena* arena,
|
||||||
|
bool is_message_owned = false);
|
||||||
|
public:
|
||||||
|
|
||||||
|
static const ClassData _class_data_;
|
||||||
|
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
|
||||||
|
|
||||||
|
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
|
||||||
|
|
||||||
|
// nested types ----------------------------------------------------
|
||||||
|
|
||||||
|
// accessors -------------------------------------------------------
|
||||||
|
|
||||||
|
enum : int {
|
||||||
|
kESMSensorIDFieldNumber = 1,
|
||||||
|
kEntityIdentifierFieldNumber = 2,
|
||||||
|
kESMDataFieldNumber = 3,
|
||||||
|
kTimestampFieldNumber = 5,
|
||||||
|
kContactBearingFieldNumber = 4,
|
||||||
|
};
|
||||||
|
// string ESMSensorID = 1;
|
||||||
|
void clear_esmsensorid();
|
||||||
|
const std::string& esmsensorid() const;
|
||||||
|
template <typename ArgT0 = const std::string&, typename... ArgT>
|
||||||
|
void set_esmsensorid(ArgT0&& arg0, ArgT... args);
|
||||||
|
std::string* mutable_esmsensorid();
|
||||||
|
PROTOBUF_NODISCARD std::string* release_esmsensorid();
|
||||||
|
void set_allocated_esmsensorid(std::string* esmsensorid);
|
||||||
|
private:
|
||||||
|
const std::string& _internal_esmsensorid() const;
|
||||||
|
inline PROTOBUF_ALWAYS_INLINE void _internal_set_esmsensorid(const std::string& value);
|
||||||
|
std::string* _internal_mutable_esmsensorid();
|
||||||
|
public:
|
||||||
|
|
||||||
|
// .messages.track.Identifier EntityIdentifier = 2;
|
||||||
|
bool has_entityidentifier() const;
|
||||||
|
private:
|
||||||
|
bool _internal_has_entityidentifier() const;
|
||||||
|
public:
|
||||||
|
void clear_entityidentifier();
|
||||||
|
const ::messages::track::Identifier& entityidentifier() const;
|
||||||
|
PROTOBUF_NODISCARD ::messages::track::Identifier* release_entityidentifier();
|
||||||
|
::messages::track::Identifier* mutable_entityidentifier();
|
||||||
|
void set_allocated_entityidentifier(::messages::track::Identifier* entityidentifier);
|
||||||
|
private:
|
||||||
|
const ::messages::track::Identifier& _internal_entityidentifier() const;
|
||||||
|
::messages::track::Identifier* _internal_mutable_entityidentifier();
|
||||||
|
public:
|
||||||
|
void unsafe_arena_set_allocated_entityidentifier(
|
||||||
|
::messages::track::Identifier* entityidentifier);
|
||||||
|
::messages::track::Identifier* unsafe_arena_release_entityidentifier();
|
||||||
|
|
||||||
|
// .messages.track.ESMData ESMData = 3;
|
||||||
|
bool has_esmdata() const;
|
||||||
|
private:
|
||||||
|
bool _internal_has_esmdata() const;
|
||||||
|
public:
|
||||||
|
void clear_esmdata();
|
||||||
|
const ::messages::track::ESMData& esmdata() const;
|
||||||
|
PROTOBUF_NODISCARD ::messages::track::ESMData* release_esmdata();
|
||||||
|
::messages::track::ESMData* mutable_esmdata();
|
||||||
|
void set_allocated_esmdata(::messages::track::ESMData* esmdata);
|
||||||
|
private:
|
||||||
|
const ::messages::track::ESMData& _internal_esmdata() const;
|
||||||
|
::messages::track::ESMData* _internal_mutable_esmdata();
|
||||||
|
public:
|
||||||
|
void unsafe_arena_set_allocated_esmdata(
|
||||||
|
::messages::track::ESMData* esmdata);
|
||||||
|
::messages::track::ESMData* unsafe_arena_release_esmdata();
|
||||||
|
|
||||||
|
// .google.protobuf.Timestamp timestamp = 5;
|
||||||
|
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 ContactBearing = 4;
|
||||||
|
void clear_contactbearing();
|
||||||
|
double contactbearing() const;
|
||||||
|
void set_contactbearing(double value);
|
||||||
|
private:
|
||||||
|
double _internal_contactbearing() const;
|
||||||
|
void _internal_set_contactbearing(double value);
|
||||||
|
public:
|
||||||
|
|
||||||
|
// @@protoc_insertion_point(class_scope:messages.track.ESMTrack)
|
||||||
|
private:
|
||||||
|
class _Internal;
|
||||||
|
|
||||||
|
template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
|
||||||
|
typedef void InternalArenaConstructable_;
|
||||||
|
typedef void DestructorSkippable_;
|
||||||
|
struct Impl_ {
|
||||||
|
::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr esmsensorid_;
|
||||||
|
::messages::track::Identifier* entityidentifier_;
|
||||||
|
::messages::track::ESMData* esmdata_;
|
||||||
|
::PROTOBUF_NAMESPACE_ID::Timestamp* timestamp_;
|
||||||
|
double contactbearing_;
|
||||||
|
mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
|
||||||
|
};
|
||||||
|
union { Impl_ _impl_; };
|
||||||
|
friend struct ::TableStruct_ESMTrack_2eproto;
|
||||||
|
};
|
||||||
|
// ===================================================================
|
||||||
|
|
||||||
|
|
||||||
|
// ===================================================================
|
||||||
|
|
||||||
|
#ifdef __GNUC__
|
||||||
|
#pragma GCC diagnostic push
|
||||||
|
#pragma GCC diagnostic ignored "-Wstrict-aliasing"
|
||||||
|
#endif // __GNUC__
|
||||||
|
// ESMTrack
|
||||||
|
|
||||||
|
// string ESMSensorID = 1;
|
||||||
|
inline void ESMTrack::clear_esmsensorid() {
|
||||||
|
_impl_.esmsensorid_.ClearToEmpty();
|
||||||
|
}
|
||||||
|
inline const std::string& ESMTrack::esmsensorid() const {
|
||||||
|
// @@protoc_insertion_point(field_get:messages.track.ESMTrack.ESMSensorID)
|
||||||
|
return _internal_esmsensorid();
|
||||||
|
}
|
||||||
|
template <typename ArgT0, typename... ArgT>
|
||||||
|
inline PROTOBUF_ALWAYS_INLINE
|
||||||
|
void ESMTrack::set_esmsensorid(ArgT0&& arg0, ArgT... args) {
|
||||||
|
|
||||||
|
_impl_.esmsensorid_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
|
||||||
|
// @@protoc_insertion_point(field_set:messages.track.ESMTrack.ESMSensorID)
|
||||||
|
}
|
||||||
|
inline std::string* ESMTrack::mutable_esmsensorid() {
|
||||||
|
std::string* _s = _internal_mutable_esmsensorid();
|
||||||
|
// @@protoc_insertion_point(field_mutable:messages.track.ESMTrack.ESMSensorID)
|
||||||
|
return _s;
|
||||||
|
}
|
||||||
|
inline const std::string& ESMTrack::_internal_esmsensorid() const {
|
||||||
|
return _impl_.esmsensorid_.Get();
|
||||||
|
}
|
||||||
|
inline void ESMTrack::_internal_set_esmsensorid(const std::string& value) {
|
||||||
|
|
||||||
|
_impl_.esmsensorid_.Set(value, GetArenaForAllocation());
|
||||||
|
}
|
||||||
|
inline std::string* ESMTrack::_internal_mutable_esmsensorid() {
|
||||||
|
|
||||||
|
return _impl_.esmsensorid_.Mutable(GetArenaForAllocation());
|
||||||
|
}
|
||||||
|
inline std::string* ESMTrack::release_esmsensorid() {
|
||||||
|
// @@protoc_insertion_point(field_release:messages.track.ESMTrack.ESMSensorID)
|
||||||
|
return _impl_.esmsensorid_.Release();
|
||||||
|
}
|
||||||
|
inline void ESMTrack::set_allocated_esmsensorid(std::string* esmsensorid) {
|
||||||
|
if (esmsensorid != nullptr) {
|
||||||
|
|
||||||
|
} else {
|
||||||
|
|
||||||
|
}
|
||||||
|
_impl_.esmsensorid_.SetAllocated(esmsensorid, GetArenaForAllocation());
|
||||||
|
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
|
||||||
|
if (_impl_.esmsensorid_.IsDefault()) {
|
||||||
|
_impl_.esmsensorid_.Set("", GetArenaForAllocation());
|
||||||
|
}
|
||||||
|
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
|
||||||
|
// @@protoc_insertion_point(field_set_allocated:messages.track.ESMTrack.ESMSensorID)
|
||||||
|
}
|
||||||
|
|
||||||
|
// .messages.track.Identifier EntityIdentifier = 2;
|
||||||
|
inline bool ESMTrack::_internal_has_entityidentifier() const {
|
||||||
|
return this != internal_default_instance() && _impl_.entityidentifier_ != nullptr;
|
||||||
|
}
|
||||||
|
inline bool ESMTrack::has_entityidentifier() const {
|
||||||
|
return _internal_has_entityidentifier();
|
||||||
|
}
|
||||||
|
inline const ::messages::track::Identifier& ESMTrack::_internal_entityidentifier() const {
|
||||||
|
const ::messages::track::Identifier* p = _impl_.entityidentifier_;
|
||||||
|
return p != nullptr ? *p : reinterpret_cast<const ::messages::track::Identifier&>(
|
||||||
|
::messages::track::_Identifier_default_instance_);
|
||||||
|
}
|
||||||
|
inline const ::messages::track::Identifier& ESMTrack::entityidentifier() const {
|
||||||
|
// @@protoc_insertion_point(field_get:messages.track.ESMTrack.EntityIdentifier)
|
||||||
|
return _internal_entityidentifier();
|
||||||
|
}
|
||||||
|
inline void ESMTrack::unsafe_arena_set_allocated_entityidentifier(
|
||||||
|
::messages::track::Identifier* entityidentifier) {
|
||||||
|
if (GetArenaForAllocation() == nullptr) {
|
||||||
|
delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.entityidentifier_);
|
||||||
|
}
|
||||||
|
_impl_.entityidentifier_ = entityidentifier;
|
||||||
|
if (entityidentifier) {
|
||||||
|
|
||||||
|
} else {
|
||||||
|
|
||||||
|
}
|
||||||
|
// @@protoc_insertion_point(field_unsafe_arena_set_allocated:messages.track.ESMTrack.EntityIdentifier)
|
||||||
|
}
|
||||||
|
inline ::messages::track::Identifier* ESMTrack::release_entityidentifier() {
|
||||||
|
|
||||||
|
::messages::track::Identifier* temp = _impl_.entityidentifier_;
|
||||||
|
_impl_.entityidentifier_ = nullptr;
|
||||||
|
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
|
||||||
|
auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
|
||||||
|
temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
|
||||||
|
if (GetArenaForAllocation() == nullptr) { delete old; }
|
||||||
|
#else // PROTOBUF_FORCE_COPY_IN_RELEASE
|
||||||
|
if (GetArenaForAllocation() != nullptr) {
|
||||||
|
temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
|
||||||
|
}
|
||||||
|
#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE
|
||||||
|
return temp;
|
||||||
|
}
|
||||||
|
inline ::messages::track::Identifier* ESMTrack::unsafe_arena_release_entityidentifier() {
|
||||||
|
// @@protoc_insertion_point(field_release:messages.track.ESMTrack.EntityIdentifier)
|
||||||
|
|
||||||
|
::messages::track::Identifier* temp = _impl_.entityidentifier_;
|
||||||
|
_impl_.entityidentifier_ = nullptr;
|
||||||
|
return temp;
|
||||||
|
}
|
||||||
|
inline ::messages::track::Identifier* ESMTrack::_internal_mutable_entityidentifier() {
|
||||||
|
|
||||||
|
if (_impl_.entityidentifier_ == nullptr) {
|
||||||
|
auto* p = CreateMaybeMessage<::messages::track::Identifier>(GetArenaForAllocation());
|
||||||
|
_impl_.entityidentifier_ = p;
|
||||||
|
}
|
||||||
|
return _impl_.entityidentifier_;
|
||||||
|
}
|
||||||
|
inline ::messages::track::Identifier* ESMTrack::mutable_entityidentifier() {
|
||||||
|
::messages::track::Identifier* _msg = _internal_mutable_entityidentifier();
|
||||||
|
// @@protoc_insertion_point(field_mutable:messages.track.ESMTrack.EntityIdentifier)
|
||||||
|
return _msg;
|
||||||
|
}
|
||||||
|
inline void ESMTrack::set_allocated_entityidentifier(::messages::track::Identifier* entityidentifier) {
|
||||||
|
::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
|
||||||
|
if (message_arena == nullptr) {
|
||||||
|
delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.entityidentifier_);
|
||||||
|
}
|
||||||
|
if (entityidentifier) {
|
||||||
|
::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
|
||||||
|
::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(
|
||||||
|
reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(entityidentifier));
|
||||||
|
if (message_arena != submessage_arena) {
|
||||||
|
entityidentifier = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
|
||||||
|
message_arena, entityidentifier, submessage_arena);
|
||||||
|
}
|
||||||
|
|
||||||
|
} else {
|
||||||
|
|
||||||
|
}
|
||||||
|
_impl_.entityidentifier_ = entityidentifier;
|
||||||
|
// @@protoc_insertion_point(field_set_allocated:messages.track.ESMTrack.EntityIdentifier)
|
||||||
|
}
|
||||||
|
|
||||||
|
// .messages.track.ESMData ESMData = 3;
|
||||||
|
inline bool ESMTrack::_internal_has_esmdata() const {
|
||||||
|
return this != internal_default_instance() && _impl_.esmdata_ != nullptr;
|
||||||
|
}
|
||||||
|
inline bool ESMTrack::has_esmdata() const {
|
||||||
|
return _internal_has_esmdata();
|
||||||
|
}
|
||||||
|
inline const ::messages::track::ESMData& ESMTrack::_internal_esmdata() const {
|
||||||
|
const ::messages::track::ESMData* p = _impl_.esmdata_;
|
||||||
|
return p != nullptr ? *p : reinterpret_cast<const ::messages::track::ESMData&>(
|
||||||
|
::messages::track::_ESMData_default_instance_);
|
||||||
|
}
|
||||||
|
inline const ::messages::track::ESMData& ESMTrack::esmdata() const {
|
||||||
|
// @@protoc_insertion_point(field_get:messages.track.ESMTrack.ESMData)
|
||||||
|
return _internal_esmdata();
|
||||||
|
}
|
||||||
|
inline void ESMTrack::unsafe_arena_set_allocated_esmdata(
|
||||||
|
::messages::track::ESMData* esmdata) {
|
||||||
|
if (GetArenaForAllocation() == nullptr) {
|
||||||
|
delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.esmdata_);
|
||||||
|
}
|
||||||
|
_impl_.esmdata_ = esmdata;
|
||||||
|
if (esmdata) {
|
||||||
|
|
||||||
|
} else {
|
||||||
|
|
||||||
|
}
|
||||||
|
// @@protoc_insertion_point(field_unsafe_arena_set_allocated:messages.track.ESMTrack.ESMData)
|
||||||
|
}
|
||||||
|
inline ::messages::track::ESMData* ESMTrack::release_esmdata() {
|
||||||
|
|
||||||
|
::messages::track::ESMData* temp = _impl_.esmdata_;
|
||||||
|
_impl_.esmdata_ = nullptr;
|
||||||
|
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
|
||||||
|
auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
|
||||||
|
temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
|
||||||
|
if (GetArenaForAllocation() == nullptr) { delete old; }
|
||||||
|
#else // PROTOBUF_FORCE_COPY_IN_RELEASE
|
||||||
|
if (GetArenaForAllocation() != nullptr) {
|
||||||
|
temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
|
||||||
|
}
|
||||||
|
#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE
|
||||||
|
return temp;
|
||||||
|
}
|
||||||
|
inline ::messages::track::ESMData* ESMTrack::unsafe_arena_release_esmdata() {
|
||||||
|
// @@protoc_insertion_point(field_release:messages.track.ESMTrack.ESMData)
|
||||||
|
|
||||||
|
::messages::track::ESMData* temp = _impl_.esmdata_;
|
||||||
|
_impl_.esmdata_ = nullptr;
|
||||||
|
return temp;
|
||||||
|
}
|
||||||
|
inline ::messages::track::ESMData* ESMTrack::_internal_mutable_esmdata() {
|
||||||
|
|
||||||
|
if (_impl_.esmdata_ == nullptr) {
|
||||||
|
auto* p = CreateMaybeMessage<::messages::track::ESMData>(GetArenaForAllocation());
|
||||||
|
_impl_.esmdata_ = p;
|
||||||
|
}
|
||||||
|
return _impl_.esmdata_;
|
||||||
|
}
|
||||||
|
inline ::messages::track::ESMData* ESMTrack::mutable_esmdata() {
|
||||||
|
::messages::track::ESMData* _msg = _internal_mutable_esmdata();
|
||||||
|
// @@protoc_insertion_point(field_mutable:messages.track.ESMTrack.ESMData)
|
||||||
|
return _msg;
|
||||||
|
}
|
||||||
|
inline void ESMTrack::set_allocated_esmdata(::messages::track::ESMData* esmdata) {
|
||||||
|
::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
|
||||||
|
if (message_arena == nullptr) {
|
||||||
|
delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.esmdata_);
|
||||||
|
}
|
||||||
|
if (esmdata) {
|
||||||
|
::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
|
||||||
|
::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(
|
||||||
|
reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(esmdata));
|
||||||
|
if (message_arena != submessage_arena) {
|
||||||
|
esmdata = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
|
||||||
|
message_arena, esmdata, submessage_arena);
|
||||||
|
}
|
||||||
|
|
||||||
|
} else {
|
||||||
|
|
||||||
|
}
|
||||||
|
_impl_.esmdata_ = esmdata;
|
||||||
|
// @@protoc_insertion_point(field_set_allocated:messages.track.ESMTrack.ESMData)
|
||||||
|
}
|
||||||
|
|
||||||
|
// double ContactBearing = 4;
|
||||||
|
inline void ESMTrack::clear_contactbearing() {
|
||||||
|
_impl_.contactbearing_ = 0;
|
||||||
|
}
|
||||||
|
inline double ESMTrack::_internal_contactbearing() const {
|
||||||
|
return _impl_.contactbearing_;
|
||||||
|
}
|
||||||
|
inline double ESMTrack::contactbearing() const {
|
||||||
|
// @@protoc_insertion_point(field_get:messages.track.ESMTrack.ContactBearing)
|
||||||
|
return _internal_contactbearing();
|
||||||
|
}
|
||||||
|
inline void ESMTrack::_internal_set_contactbearing(double value) {
|
||||||
|
|
||||||
|
_impl_.contactbearing_ = value;
|
||||||
|
}
|
||||||
|
inline void ESMTrack::set_contactbearing(double value) {
|
||||||
|
_internal_set_contactbearing(value);
|
||||||
|
// @@protoc_insertion_point(field_set:messages.track.ESMTrack.ContactBearing)
|
||||||
|
}
|
||||||
|
|
||||||
|
// .google.protobuf.Timestamp timestamp = 5;
|
||||||
|
inline bool ESMTrack::_internal_has_timestamp() const {
|
||||||
|
return this != internal_default_instance() && _impl_.timestamp_ != nullptr;
|
||||||
|
}
|
||||||
|
inline bool ESMTrack::has_timestamp() const {
|
||||||
|
return _internal_has_timestamp();
|
||||||
|
}
|
||||||
|
inline const ::PROTOBUF_NAMESPACE_ID::Timestamp& ESMTrack::_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& ESMTrack::timestamp() const {
|
||||||
|
// @@protoc_insertion_point(field_get:messages.track.ESMTrack.timestamp)
|
||||||
|
return _internal_timestamp();
|
||||||
|
}
|
||||||
|
inline void ESMTrack::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 {
|
||||||
|
|
||||||
|
}
|
||||||
|
// @@protoc_insertion_point(field_unsafe_arena_set_allocated:messages.track.ESMTrack.timestamp)
|
||||||
|
}
|
||||||
|
inline ::PROTOBUF_NAMESPACE_ID::Timestamp* ESMTrack::release_timestamp() {
|
||||||
|
|
||||||
|
::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_IN_RELEASE
|
||||||
|
return temp;
|
||||||
|
}
|
||||||
|
inline ::PROTOBUF_NAMESPACE_ID::Timestamp* ESMTrack::unsafe_arena_release_timestamp() {
|
||||||
|
// @@protoc_insertion_point(field_release:messages.track.ESMTrack.timestamp)
|
||||||
|
|
||||||
|
::PROTOBUF_NAMESPACE_ID::Timestamp* temp = _impl_.timestamp_;
|
||||||
|
_impl_.timestamp_ = nullptr;
|
||||||
|
return temp;
|
||||||
|
}
|
||||||
|
inline ::PROTOBUF_NAMESPACE_ID::Timestamp* ESMTrack::_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* ESMTrack::mutable_timestamp() {
|
||||||
|
::PROTOBUF_NAMESPACE_ID::Timestamp* _msg = _internal_mutable_timestamp();
|
||||||
|
// @@protoc_insertion_point(field_mutable:messages.track.ESMTrack.timestamp)
|
||||||
|
return _msg;
|
||||||
|
}
|
||||||
|
inline void ESMTrack::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.ESMTrack.timestamp)
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifdef __GNUC__
|
||||||
|
#pragma GCC diagnostic pop
|
||||||
|
#endif // __GNUC__
|
||||||
|
|
||||||
|
// @@protoc_insertion_point(namespace_scope)
|
||||||
|
|
||||||
|
} // namespace track
|
||||||
|
} // namespace messages
|
||||||
|
|
||||||
|
// @@protoc_insertion_point(global_scope)
|
||||||
|
|
||||||
|
#include <google/protobuf/port_undef.inc>
|
||||||
|
#endif // GOOGLE_PROTOBUF_INCLUDED_GOOGLE_PROTOBUF_INCLUDED_ESMTrack_2eproto
|
||||||
19
include/SimCore/Messages/Protos/ESMTrack.proto
Normal file
19
include/SimCore/Messages/Protos/ESMTrack.proto
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
syntax = "proto3";
|
||||||
|
package messages.track;
|
||||||
|
|
||||||
|
import "Identifier.proto";
|
||||||
|
import "ESMData.proto";
|
||||||
|
import "GeocentricPosition.proto";
|
||||||
|
|
||||||
|
import "google/protobuf/timestamp.proto";
|
||||||
|
|
||||||
|
|
||||||
|
message ESMTrack {
|
||||||
|
|
||||||
|
string ESMSensorID = 1;
|
||||||
|
messages.track.Identifier EntityIdentifier = 2;
|
||||||
|
messages.track.ESMData ESMData = 3;
|
||||||
|
double ContactBearing = 4;
|
||||||
|
|
||||||
|
google.protobuf.Timestamp timestamp = 5;
|
||||||
|
}
|
||||||
581
include/SimCore/Messages/Protos/GroundTruthTrack.pb.cc
Normal file
581
include/SimCore/Messages/Protos/GroundTruthTrack.pb.cc
Normal file
@@ -0,0 +1,581 @@
|
|||||||
|
// Generated by the protocol buffer compiler. DO NOT EDIT!
|
||||||
|
// source: GroundTruthTrack.proto
|
||||||
|
|
||||||
|
#include "GroundTruthTrack.pb.h"
|
||||||
|
|
||||||
|
#include <algorithm>
|
||||||
|
|
||||||
|
#include <google/protobuf/io/coded_stream.h>
|
||||||
|
#include <google/protobuf/extension_set.h>
|
||||||
|
#include <google/protobuf/wire_format_lite.h>
|
||||||
|
#include <google/protobuf/descriptor.h>
|
||||||
|
#include <google/protobuf/generated_message_reflection.h>
|
||||||
|
#include <google/protobuf/reflection_ops.h>
|
||||||
|
#include <google/protobuf/wire_format.h>
|
||||||
|
// @@protoc_insertion_point(includes)
|
||||||
|
#include <google/protobuf/port_def.inc>
|
||||||
|
|
||||||
|
PROTOBUF_PRAGMA_INIT_SEG
|
||||||
|
|
||||||
|
namespace _pb = ::PROTOBUF_NAMESPACE_ID;
|
||||||
|
namespace _pbi = _pb::internal;
|
||||||
|
|
||||||
|
namespace messages {
|
||||||
|
namespace track {
|
||||||
|
PROTOBUF_CONSTEXPR GroundTruthTrack::GroundTruthTrack(
|
||||||
|
::_pbi::ConstantInitialized): _impl_{
|
||||||
|
/*decltype(_impl_._has_bits_)*/{}
|
||||||
|
, /*decltype(_impl_._cached_size_)*/{}
|
||||||
|
, /*decltype(_impl_.entityidentifier_)*/nullptr
|
||||||
|
, /*decltype(_impl_.geocentricposition_)*/nullptr
|
||||||
|
, /*decltype(_impl_.esmdata_)*/nullptr
|
||||||
|
, /*decltype(_impl_.timestamp_)*/nullptr
|
||||||
|
, /*decltype(_impl_.contactspeed_)*/0
|
||||||
|
, /*decltype(_impl_.contactcourse_)*/0
|
||||||
|
, /*decltype(_impl_.trackkind_)*/0u} {}
|
||||||
|
struct GroundTruthTrackDefaultTypeInternal {
|
||||||
|
PROTOBUF_CONSTEXPR GroundTruthTrackDefaultTypeInternal()
|
||||||
|
: _instance(::_pbi::ConstantInitialized{}) {}
|
||||||
|
~GroundTruthTrackDefaultTypeInternal() {}
|
||||||
|
union {
|
||||||
|
GroundTruthTrack _instance;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GroundTruthTrackDefaultTypeInternal _GroundTruthTrack_default_instance_;
|
||||||
|
} // namespace track
|
||||||
|
} // namespace messages
|
||||||
|
static ::_pb::Metadata file_level_metadata_GroundTruthTrack_2eproto[1];
|
||||||
|
static constexpr ::_pb::EnumDescriptor const** file_level_enum_descriptors_GroundTruthTrack_2eproto = nullptr;
|
||||||
|
static constexpr ::_pb::ServiceDescriptor const** file_level_service_descriptors_GroundTruthTrack_2eproto = nullptr;
|
||||||
|
|
||||||
|
const uint32_t TableStruct_GroundTruthTrack_2eproto::offsets[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = {
|
||||||
|
PROTOBUF_FIELD_OFFSET(::messages::track::GroundTruthTrack, _impl_._has_bits_),
|
||||||
|
PROTOBUF_FIELD_OFFSET(::messages::track::GroundTruthTrack, _internal_metadata_),
|
||||||
|
~0u, // no _extensions_
|
||||||
|
~0u, // no _oneof_case_
|
||||||
|
~0u, // no _weak_field_map_
|
||||||
|
~0u, // no _inlined_string_donated_
|
||||||
|
PROTOBUF_FIELD_OFFSET(::messages::track::GroundTruthTrack, _impl_.trackkind_),
|
||||||
|
PROTOBUF_FIELD_OFFSET(::messages::track::GroundTruthTrack, _impl_.entityidentifier_),
|
||||||
|
PROTOBUF_FIELD_OFFSET(::messages::track::GroundTruthTrack, _impl_.geocentricposition_),
|
||||||
|
PROTOBUF_FIELD_OFFSET(::messages::track::GroundTruthTrack, _impl_.contactspeed_),
|
||||||
|
PROTOBUF_FIELD_OFFSET(::messages::track::GroundTruthTrack, _impl_.contactcourse_),
|
||||||
|
PROTOBUF_FIELD_OFFSET(::messages::track::GroundTruthTrack, _impl_.esmdata_),
|
||||||
|
PROTOBUF_FIELD_OFFSET(::messages::track::GroundTruthTrack, _impl_.timestamp_),
|
||||||
|
~0u,
|
||||||
|
~0u,
|
||||||
|
~0u,
|
||||||
|
1,
|
||||||
|
2,
|
||||||
|
0,
|
||||||
|
~0u,
|
||||||
|
};
|
||||||
|
static const ::_pbi::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = {
|
||||||
|
{ 0, 13, -1, sizeof(::messages::track::GroundTruthTrack)},
|
||||||
|
};
|
||||||
|
|
||||||
|
static const ::_pb::Message* const file_default_instances[] = {
|
||||||
|
&::messages::track::_GroundTruthTrack_default_instance_._instance,
|
||||||
|
};
|
||||||
|
|
||||||
|
const char descriptor_table_protodef_GroundTruthTrack_2eproto[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) =
|
||||||
|
"\n\026GroundTruthTrack.proto\022\016messages.track"
|
||||||
|
"\032\020Identifier.proto\032\rESMData.proto\032\030Geoce"
|
||||||
|
"ntricPosition.proto\032\037google/protobuf/tim"
|
||||||
|
"estamp.proto\"\345\002\n\020GroundTruthTrack\022\021\n\tTra"
|
||||||
|
"ckKind\030\001 \001(\r\0224\n\020EntityIdentifier\030\002 \001(\0132\032"
|
||||||
|
".messages.track.Identifier\022D\n\022Geocentric"
|
||||||
|
"Position\030\003 \001(\0132(.messages.track.EntityGe"
|
||||||
|
"ocentricPosition\022\031\n\014ContactSpeed\030\004 \001(\001H\000"
|
||||||
|
"\210\001\001\022\032\n\rContactCourse\030\005 \001(\001H\001\210\001\001\022-\n\007ESMDa"
|
||||||
|
"ta\030\006 \001(\0132\027.messages.track.ESMDataH\002\210\001\001\022-"
|
||||||
|
"\n\ttimestamp\030\007 \001(\0132\032.google.protobuf.Time"
|
||||||
|
"stampB\017\n\r_ContactSpeedB\020\n\016_ContactCourse"
|
||||||
|
"B\n\n\010_ESMDatab\006proto3"
|
||||||
|
;
|
||||||
|
static const ::_pbi::DescriptorTable* const descriptor_table_GroundTruthTrack_2eproto_deps[4] = {
|
||||||
|
&::descriptor_table_ESMData_2eproto,
|
||||||
|
&::descriptor_table_GeocentricPosition_2eproto,
|
||||||
|
&::descriptor_table_Identifier_2eproto,
|
||||||
|
&::descriptor_table_google_2fprotobuf_2ftimestamp_2eproto,
|
||||||
|
};
|
||||||
|
static ::_pbi::once_flag descriptor_table_GroundTruthTrack_2eproto_once;
|
||||||
|
const ::_pbi::DescriptorTable descriptor_table_GroundTruthTrack_2eproto = {
|
||||||
|
false, false, 500, descriptor_table_protodef_GroundTruthTrack_2eproto,
|
||||||
|
"GroundTruthTrack.proto",
|
||||||
|
&descriptor_table_GroundTruthTrack_2eproto_once, descriptor_table_GroundTruthTrack_2eproto_deps, 4, 1,
|
||||||
|
schemas, file_default_instances, TableStruct_GroundTruthTrack_2eproto::offsets,
|
||||||
|
file_level_metadata_GroundTruthTrack_2eproto, file_level_enum_descriptors_GroundTruthTrack_2eproto,
|
||||||
|
file_level_service_descriptors_GroundTruthTrack_2eproto,
|
||||||
|
};
|
||||||
|
PROTOBUF_ATTRIBUTE_WEAK const ::_pbi::DescriptorTable* descriptor_table_GroundTruthTrack_2eproto_getter() {
|
||||||
|
return &descriptor_table_GroundTruthTrack_2eproto;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Force running AddDescriptors() at dynamic initialization time.
|
||||||
|
PROTOBUF_ATTRIBUTE_INIT_PRIORITY2 static ::_pbi::AddDescriptorsRunner dynamic_init_dummy_GroundTruthTrack_2eproto(&descriptor_table_GroundTruthTrack_2eproto);
|
||||||
|
namespace messages {
|
||||||
|
namespace track {
|
||||||
|
|
||||||
|
// ===================================================================
|
||||||
|
|
||||||
|
class GroundTruthTrack::_Internal {
|
||||||
|
public:
|
||||||
|
using HasBits = decltype(std::declval<GroundTruthTrack>()._impl_._has_bits_);
|
||||||
|
static const ::messages::track::Identifier& entityidentifier(const GroundTruthTrack* msg);
|
||||||
|
static const ::messages::track::EntityGeocentricPosition& geocentricposition(const GroundTruthTrack* msg);
|
||||||
|
static void set_has_contactspeed(HasBits* has_bits) {
|
||||||
|
(*has_bits)[0] |= 2u;
|
||||||
|
}
|
||||||
|
static void set_has_contactcourse(HasBits* has_bits) {
|
||||||
|
(*has_bits)[0] |= 4u;
|
||||||
|
}
|
||||||
|
static const ::messages::track::ESMData& esmdata(const GroundTruthTrack* msg);
|
||||||
|
static void set_has_esmdata(HasBits* has_bits) {
|
||||||
|
(*has_bits)[0] |= 1u;
|
||||||
|
}
|
||||||
|
static const ::PROTOBUF_NAMESPACE_ID::Timestamp& timestamp(const GroundTruthTrack* msg);
|
||||||
|
};
|
||||||
|
|
||||||
|
const ::messages::track::Identifier&
|
||||||
|
GroundTruthTrack::_Internal::entityidentifier(const GroundTruthTrack* msg) {
|
||||||
|
return *msg->_impl_.entityidentifier_;
|
||||||
|
}
|
||||||
|
const ::messages::track::EntityGeocentricPosition&
|
||||||
|
GroundTruthTrack::_Internal::geocentricposition(const GroundTruthTrack* msg) {
|
||||||
|
return *msg->_impl_.geocentricposition_;
|
||||||
|
}
|
||||||
|
const ::messages::track::ESMData&
|
||||||
|
GroundTruthTrack::_Internal::esmdata(const GroundTruthTrack* msg) {
|
||||||
|
return *msg->_impl_.esmdata_;
|
||||||
|
}
|
||||||
|
const ::PROTOBUF_NAMESPACE_ID::Timestamp&
|
||||||
|
GroundTruthTrack::_Internal::timestamp(const GroundTruthTrack* msg) {
|
||||||
|
return *msg->_impl_.timestamp_;
|
||||||
|
}
|
||||||
|
void GroundTruthTrack::clear_entityidentifier() {
|
||||||
|
if (GetArenaForAllocation() == nullptr && _impl_.entityidentifier_ != nullptr) {
|
||||||
|
delete _impl_.entityidentifier_;
|
||||||
|
}
|
||||||
|
_impl_.entityidentifier_ = nullptr;
|
||||||
|
}
|
||||||
|
void GroundTruthTrack::clear_geocentricposition() {
|
||||||
|
if (GetArenaForAllocation() == nullptr && _impl_.geocentricposition_ != nullptr) {
|
||||||
|
delete _impl_.geocentricposition_;
|
||||||
|
}
|
||||||
|
_impl_.geocentricposition_ = nullptr;
|
||||||
|
}
|
||||||
|
void GroundTruthTrack::clear_esmdata() {
|
||||||
|
if (_impl_.esmdata_ != nullptr) _impl_.esmdata_->Clear();
|
||||||
|
_impl_._has_bits_[0] &= ~0x00000001u;
|
||||||
|
}
|
||||||
|
void GroundTruthTrack::clear_timestamp() {
|
||||||
|
if (GetArenaForAllocation() == nullptr && _impl_.timestamp_ != nullptr) {
|
||||||
|
delete _impl_.timestamp_;
|
||||||
|
}
|
||||||
|
_impl_.timestamp_ = nullptr;
|
||||||
|
}
|
||||||
|
GroundTruthTrack::GroundTruthTrack(::PROTOBUF_NAMESPACE_ID::Arena* arena,
|
||||||
|
bool is_message_owned)
|
||||||
|
: ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
|
||||||
|
SharedCtor(arena, is_message_owned);
|
||||||
|
// @@protoc_insertion_point(arena_constructor:messages.track.GroundTruthTrack)
|
||||||
|
}
|
||||||
|
GroundTruthTrack::GroundTruthTrack(const GroundTruthTrack& from)
|
||||||
|
: ::PROTOBUF_NAMESPACE_ID::Message() {
|
||||||
|
GroundTruthTrack* const _this = this; (void)_this;
|
||||||
|
new (&_impl_) Impl_{
|
||||||
|
decltype(_impl_._has_bits_){from._impl_._has_bits_}
|
||||||
|
, /*decltype(_impl_._cached_size_)*/{}
|
||||||
|
, decltype(_impl_.entityidentifier_){nullptr}
|
||||||
|
, decltype(_impl_.geocentricposition_){nullptr}
|
||||||
|
, decltype(_impl_.esmdata_){nullptr}
|
||||||
|
, decltype(_impl_.timestamp_){nullptr}
|
||||||
|
, decltype(_impl_.contactspeed_){}
|
||||||
|
, decltype(_impl_.contactcourse_){}
|
||||||
|
, decltype(_impl_.trackkind_){}};
|
||||||
|
|
||||||
|
_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
|
||||||
|
if (from._internal_has_entityidentifier()) {
|
||||||
|
_this->_impl_.entityidentifier_ = new ::messages::track::Identifier(*from._impl_.entityidentifier_);
|
||||||
|
}
|
||||||
|
if (from._internal_has_geocentricposition()) {
|
||||||
|
_this->_impl_.geocentricposition_ = new ::messages::track::EntityGeocentricPosition(*from._impl_.geocentricposition_);
|
||||||
|
}
|
||||||
|
if (from._internal_has_esmdata()) {
|
||||||
|
_this->_impl_.esmdata_ = new ::messages::track::ESMData(*from._impl_.esmdata_);
|
||||||
|
}
|
||||||
|
if (from._internal_has_timestamp()) {
|
||||||
|
_this->_impl_.timestamp_ = new ::PROTOBUF_NAMESPACE_ID::Timestamp(*from._impl_.timestamp_);
|
||||||
|
}
|
||||||
|
::memcpy(&_impl_.contactspeed_, &from._impl_.contactspeed_,
|
||||||
|
static_cast<size_t>(reinterpret_cast<char*>(&_impl_.trackkind_) -
|
||||||
|
reinterpret_cast<char*>(&_impl_.contactspeed_)) + sizeof(_impl_.trackkind_));
|
||||||
|
// @@protoc_insertion_point(copy_constructor:messages.track.GroundTruthTrack)
|
||||||
|
}
|
||||||
|
|
||||||
|
inline void GroundTruthTrack::SharedCtor(
|
||||||
|
::_pb::Arena* arena, bool is_message_owned) {
|
||||||
|
(void)arena;
|
||||||
|
(void)is_message_owned;
|
||||||
|
new (&_impl_) Impl_{
|
||||||
|
decltype(_impl_._has_bits_){}
|
||||||
|
, /*decltype(_impl_._cached_size_)*/{}
|
||||||
|
, decltype(_impl_.entityidentifier_){nullptr}
|
||||||
|
, decltype(_impl_.geocentricposition_){nullptr}
|
||||||
|
, decltype(_impl_.esmdata_){nullptr}
|
||||||
|
, decltype(_impl_.timestamp_){nullptr}
|
||||||
|
, decltype(_impl_.contactspeed_){0}
|
||||||
|
, decltype(_impl_.contactcourse_){0}
|
||||||
|
, decltype(_impl_.trackkind_){0u}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
GroundTruthTrack::~GroundTruthTrack() {
|
||||||
|
// @@protoc_insertion_point(destructor:messages.track.GroundTruthTrack)
|
||||||
|
if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
|
||||||
|
(void)arena;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
SharedDtor();
|
||||||
|
}
|
||||||
|
|
||||||
|
inline void GroundTruthTrack::SharedDtor() {
|
||||||
|
GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
|
||||||
|
if (this != internal_default_instance()) delete _impl_.entityidentifier_;
|
||||||
|
if (this != internal_default_instance()) delete _impl_.geocentricposition_;
|
||||||
|
if (this != internal_default_instance()) delete _impl_.esmdata_;
|
||||||
|
if (this != internal_default_instance()) delete _impl_.timestamp_;
|
||||||
|
}
|
||||||
|
|
||||||
|
void GroundTruthTrack::SetCachedSize(int size) const {
|
||||||
|
_impl_._cached_size_.Set(size);
|
||||||
|
}
|
||||||
|
|
||||||
|
void GroundTruthTrack::Clear() {
|
||||||
|
// @@protoc_insertion_point(message_clear_start:messages.track.GroundTruthTrack)
|
||||||
|
uint32_t cached_has_bits = 0;
|
||||||
|
// Prevent compiler warnings about cached_has_bits being unused
|
||||||
|
(void) cached_has_bits;
|
||||||
|
|
||||||
|
if (GetArenaForAllocation() == nullptr && _impl_.entityidentifier_ != nullptr) {
|
||||||
|
delete _impl_.entityidentifier_;
|
||||||
|
}
|
||||||
|
_impl_.entityidentifier_ = nullptr;
|
||||||
|
if (GetArenaForAllocation() == nullptr && _impl_.geocentricposition_ != nullptr) {
|
||||||
|
delete _impl_.geocentricposition_;
|
||||||
|
}
|
||||||
|
_impl_.geocentricposition_ = nullptr;
|
||||||
|
cached_has_bits = _impl_._has_bits_[0];
|
||||||
|
if (cached_has_bits & 0x00000001u) {
|
||||||
|
GOOGLE_DCHECK(_impl_.esmdata_ != nullptr);
|
||||||
|
_impl_.esmdata_->Clear();
|
||||||
|
}
|
||||||
|
if (GetArenaForAllocation() == nullptr && _impl_.timestamp_ != nullptr) {
|
||||||
|
delete _impl_.timestamp_;
|
||||||
|
}
|
||||||
|
_impl_.timestamp_ = nullptr;
|
||||||
|
if (cached_has_bits & 0x00000006u) {
|
||||||
|
::memset(&_impl_.contactspeed_, 0, static_cast<size_t>(
|
||||||
|
reinterpret_cast<char*>(&_impl_.contactcourse_) -
|
||||||
|
reinterpret_cast<char*>(&_impl_.contactspeed_)) + sizeof(_impl_.contactcourse_));
|
||||||
|
}
|
||||||
|
_impl_.trackkind_ = 0u;
|
||||||
|
_impl_._has_bits_.Clear();
|
||||||
|
_internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
|
||||||
|
}
|
||||||
|
|
||||||
|
const char* GroundTruthTrack::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
|
||||||
|
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
|
||||||
|
_Internal::HasBits has_bits{};
|
||||||
|
while (!ctx->Done(&ptr)) {
|
||||||
|
uint32_t tag;
|
||||||
|
ptr = ::_pbi::ReadTag(ptr, &tag);
|
||||||
|
switch (tag >> 3) {
|
||||||
|
// uint32 TrackKind = 1;
|
||||||
|
case 1:
|
||||||
|
if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 8)) {
|
||||||
|
_impl_.trackkind_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
|
||||||
|
CHK_(ptr);
|
||||||
|
} 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);
|
||||||
|
CHK_(ptr);
|
||||||
|
} else
|
||||||
|
goto handle_unusual;
|
||||||
|
continue;
|
||||||
|
// .messages.track.EntityGeocentricPosition GeocentricPosition = 3;
|
||||||
|
case 3:
|
||||||
|
if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 26)) {
|
||||||
|
ptr = ctx->ParseMessage(_internal_mutable_geocentricposition(), ptr);
|
||||||
|
CHK_(ptr);
|
||||||
|
} else
|
||||||
|
goto handle_unusual;
|
||||||
|
continue;
|
||||||
|
// optional double ContactSpeed = 4;
|
||||||
|
case 4:
|
||||||
|
if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 33)) {
|
||||||
|
_Internal::set_has_contactspeed(&has_bits);
|
||||||
|
_impl_.contactspeed_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
|
||||||
|
ptr += sizeof(double);
|
||||||
|
} else
|
||||||
|
goto handle_unusual;
|
||||||
|
continue;
|
||||||
|
// optional double ContactCourse = 5;
|
||||||
|
case 5:
|
||||||
|
if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 41)) {
|
||||||
|
_Internal::set_has_contactcourse(&has_bits);
|
||||||
|
_impl_.contactcourse_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
|
||||||
|
ptr += sizeof(double);
|
||||||
|
} else
|
||||||
|
goto handle_unusual;
|
||||||
|
continue;
|
||||||
|
// optional .messages.track.ESMData ESMData = 6;
|
||||||
|
case 6:
|
||||||
|
if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 50)) {
|
||||||
|
ptr = ctx->ParseMessage(_internal_mutable_esmdata(), ptr);
|
||||||
|
CHK_(ptr);
|
||||||
|
} else
|
||||||
|
goto handle_unusual;
|
||||||
|
continue;
|
||||||
|
// .google.protobuf.Timestamp timestamp = 7;
|
||||||
|
case 7:
|
||||||
|
if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 58)) {
|
||||||
|
ptr = ctx->ParseMessage(_internal_mutable_timestamp(), ptr);
|
||||||
|
CHK_(ptr);
|
||||||
|
} else
|
||||||
|
goto handle_unusual;
|
||||||
|
continue;
|
||||||
|
default:
|
||||||
|
goto handle_unusual;
|
||||||
|
} // switch
|
||||||
|
handle_unusual:
|
||||||
|
if ((tag == 0) || ((tag & 7) == 4)) {
|
||||||
|
CHK_(ptr);
|
||||||
|
ctx->SetLastTag(tag);
|
||||||
|
goto message_done;
|
||||||
|
}
|
||||||
|
ptr = UnknownFieldParse(
|
||||||
|
tag,
|
||||||
|
_internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
|
||||||
|
ptr, ctx);
|
||||||
|
CHK_(ptr != nullptr);
|
||||||
|
} // while
|
||||||
|
message_done:
|
||||||
|
_impl_._has_bits_.Or(has_bits);
|
||||||
|
return ptr;
|
||||||
|
failure:
|
||||||
|
ptr = nullptr;
|
||||||
|
goto message_done;
|
||||||
|
#undef CHK_
|
||||||
|
}
|
||||||
|
|
||||||
|
uint8_t* GroundTruthTrack::_InternalSerialize(
|
||||||
|
uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
|
||||||
|
// @@protoc_insertion_point(serialize_to_array_start:messages.track.GroundTruthTrack)
|
||||||
|
uint32_t cached_has_bits = 0;
|
||||||
|
(void) cached_has_bits;
|
||||||
|
|
||||||
|
// uint32 TrackKind = 1;
|
||||||
|
if (this->_internal_trackkind() != 0) {
|
||||||
|
target = stream->EnsureSpace(target);
|
||||||
|
target = ::_pbi::WireFormatLite::WriteUInt32ToArray(1, this->_internal_trackkind(), target);
|
||||||
|
}
|
||||||
|
|
||||||
|
// .messages.track.Identifier EntityIdentifier = 2;
|
||||||
|
if (this->_internal_has_entityidentifier()) {
|
||||||
|
target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
|
||||||
|
InternalWriteMessage(2, _Internal::entityidentifier(this),
|
||||||
|
_Internal::entityidentifier(this).GetCachedSize(), target, stream);
|
||||||
|
}
|
||||||
|
|
||||||
|
// .messages.track.EntityGeocentricPosition GeocentricPosition = 3;
|
||||||
|
if (this->_internal_has_geocentricposition()) {
|
||||||
|
target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
|
||||||
|
InternalWriteMessage(3, _Internal::geocentricposition(this),
|
||||||
|
_Internal::geocentricposition(this).GetCachedSize(), target, stream);
|
||||||
|
}
|
||||||
|
|
||||||
|
// optional double ContactSpeed = 4;
|
||||||
|
if (_internal_has_contactspeed()) {
|
||||||
|
target = stream->EnsureSpace(target);
|
||||||
|
target = ::_pbi::WireFormatLite::WriteDoubleToArray(4, this->_internal_contactspeed(), target);
|
||||||
|
}
|
||||||
|
|
||||||
|
// optional double ContactCourse = 5;
|
||||||
|
if (_internal_has_contactcourse()) {
|
||||||
|
target = stream->EnsureSpace(target);
|
||||||
|
target = ::_pbi::WireFormatLite::WriteDoubleToArray(5, this->_internal_contactcourse(), target);
|
||||||
|
}
|
||||||
|
|
||||||
|
// optional .messages.track.ESMData ESMData = 6;
|
||||||
|
if (_internal_has_esmdata()) {
|
||||||
|
target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
|
||||||
|
InternalWriteMessage(6, _Internal::esmdata(this),
|
||||||
|
_Internal::esmdata(this).GetCachedSize(), target, stream);
|
||||||
|
}
|
||||||
|
|
||||||
|
// .google.protobuf.Timestamp timestamp = 7;
|
||||||
|
if (this->_internal_has_timestamp()) {
|
||||||
|
target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
|
||||||
|
InternalWriteMessage(7, _Internal::timestamp(this),
|
||||||
|
_Internal::timestamp(this).GetCachedSize(), target, stream);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
|
||||||
|
target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
|
||||||
|
_internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
|
||||||
|
}
|
||||||
|
// @@protoc_insertion_point(serialize_to_array_end:messages.track.GroundTruthTrack)
|
||||||
|
return target;
|
||||||
|
}
|
||||||
|
|
||||||
|
size_t GroundTruthTrack::ByteSizeLong() const {
|
||||||
|
// @@protoc_insertion_point(message_byte_size_start:messages.track.GroundTruthTrack)
|
||||||
|
size_t total_size = 0;
|
||||||
|
|
||||||
|
uint32_t cached_has_bits = 0;
|
||||||
|
// Prevent compiler warnings about cached_has_bits being unused
|
||||||
|
(void) cached_has_bits;
|
||||||
|
|
||||||
|
// .messages.track.Identifier EntityIdentifier = 2;
|
||||||
|
if (this->_internal_has_entityidentifier()) {
|
||||||
|
total_size += 1 +
|
||||||
|
::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
|
||||||
|
*_impl_.entityidentifier_);
|
||||||
|
}
|
||||||
|
|
||||||
|
// .messages.track.EntityGeocentricPosition GeocentricPosition = 3;
|
||||||
|
if (this->_internal_has_geocentricposition()) {
|
||||||
|
total_size += 1 +
|
||||||
|
::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
|
||||||
|
*_impl_.geocentricposition_);
|
||||||
|
}
|
||||||
|
|
||||||
|
// optional .messages.track.ESMData ESMData = 6;
|
||||||
|
cached_has_bits = _impl_._has_bits_[0];
|
||||||
|
if (cached_has_bits & 0x00000001u) {
|
||||||
|
total_size += 1 +
|
||||||
|
::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
|
||||||
|
*_impl_.esmdata_);
|
||||||
|
}
|
||||||
|
|
||||||
|
// .google.protobuf.Timestamp timestamp = 7;
|
||||||
|
if (this->_internal_has_timestamp()) {
|
||||||
|
total_size += 1 +
|
||||||
|
::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
|
||||||
|
*_impl_.timestamp_);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (cached_has_bits & 0x00000006u) {
|
||||||
|
// optional double ContactSpeed = 4;
|
||||||
|
if (cached_has_bits & 0x00000002u) {
|
||||||
|
total_size += 1 + 8;
|
||||||
|
}
|
||||||
|
|
||||||
|
// optional double ContactCourse = 5;
|
||||||
|
if (cached_has_bits & 0x00000004u) {
|
||||||
|
total_size += 1 + 8;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
// uint32 TrackKind = 1;
|
||||||
|
if (this->_internal_trackkind() != 0) {
|
||||||
|
total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_trackkind());
|
||||||
|
}
|
||||||
|
|
||||||
|
return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
|
||||||
|
}
|
||||||
|
|
||||||
|
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData GroundTruthTrack::_class_data_ = {
|
||||||
|
::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
|
||||||
|
GroundTruthTrack::MergeImpl
|
||||||
|
};
|
||||||
|
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GroundTruthTrack::GetClassData() const { return &_class_data_; }
|
||||||
|
|
||||||
|
|
||||||
|
void GroundTruthTrack::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
|
||||||
|
auto* const _this = static_cast<GroundTruthTrack*>(&to_msg);
|
||||||
|
auto& from = static_cast<const GroundTruthTrack&>(from_msg);
|
||||||
|
// @@protoc_insertion_point(class_specific_merge_from_start:messages.track.GroundTruthTrack)
|
||||||
|
GOOGLE_DCHECK_NE(&from, _this);
|
||||||
|
uint32_t cached_has_bits = 0;
|
||||||
|
(void) cached_has_bits;
|
||||||
|
|
||||||
|
if (from._internal_has_entityidentifier()) {
|
||||||
|
_this->_internal_mutable_entityidentifier()->::messages::track::Identifier::MergeFrom(
|
||||||
|
from._internal_entityidentifier());
|
||||||
|
}
|
||||||
|
if (from._internal_has_geocentricposition()) {
|
||||||
|
_this->_internal_mutable_geocentricposition()->::messages::track::EntityGeocentricPosition::MergeFrom(
|
||||||
|
from._internal_geocentricposition());
|
||||||
|
}
|
||||||
|
if (from._internal_has_esmdata()) {
|
||||||
|
_this->_internal_mutable_esmdata()->::messages::track::ESMData::MergeFrom(
|
||||||
|
from._internal_esmdata());
|
||||||
|
}
|
||||||
|
if (from._internal_has_timestamp()) {
|
||||||
|
_this->_internal_mutable_timestamp()->::PROTOBUF_NAMESPACE_ID::Timestamp::MergeFrom(
|
||||||
|
from._internal_timestamp());
|
||||||
|
}
|
||||||
|
cached_has_bits = from._impl_._has_bits_[0];
|
||||||
|
if (cached_has_bits & 0x00000006u) {
|
||||||
|
if (cached_has_bits & 0x00000002u) {
|
||||||
|
_this->_impl_.contactspeed_ = from._impl_.contactspeed_;
|
||||||
|
}
|
||||||
|
if (cached_has_bits & 0x00000004u) {
|
||||||
|
_this->_impl_.contactcourse_ = from._impl_.contactcourse_;
|
||||||
|
}
|
||||||
|
_this->_impl_._has_bits_[0] |= cached_has_bits;
|
||||||
|
}
|
||||||
|
if (from._internal_trackkind() != 0) {
|
||||||
|
_this->_internal_set_trackkind(from._internal_trackkind());
|
||||||
|
}
|
||||||
|
_this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
|
||||||
|
}
|
||||||
|
|
||||||
|
void GroundTruthTrack::CopyFrom(const GroundTruthTrack& from) {
|
||||||
|
// @@protoc_insertion_point(class_specific_copy_from_start:messages.track.GroundTruthTrack)
|
||||||
|
if (&from == this) return;
|
||||||
|
Clear();
|
||||||
|
MergeFrom(from);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool GroundTruthTrack::IsInitialized() const {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
void GroundTruthTrack::InternalSwap(GroundTruthTrack* other) {
|
||||||
|
using std::swap;
|
||||||
|
_internal_metadata_.InternalSwap(&other->_internal_metadata_);
|
||||||
|
swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
|
||||||
|
::PROTOBUF_NAMESPACE_ID::internal::memswap<
|
||||||
|
PROTOBUF_FIELD_OFFSET(GroundTruthTrack, _impl_.trackkind_)
|
||||||
|
+ sizeof(GroundTruthTrack::_impl_.trackkind_)
|
||||||
|
- PROTOBUF_FIELD_OFFSET(GroundTruthTrack, _impl_.entityidentifier_)>(
|
||||||
|
reinterpret_cast<char*>(&_impl_.entityidentifier_),
|
||||||
|
reinterpret_cast<char*>(&other->_impl_.entityidentifier_));
|
||||||
|
}
|
||||||
|
|
||||||
|
::PROTOBUF_NAMESPACE_ID::Metadata GroundTruthTrack::GetMetadata() const {
|
||||||
|
return ::_pbi::AssignDescriptors(
|
||||||
|
&descriptor_table_GroundTruthTrack_2eproto_getter, &descriptor_table_GroundTruthTrack_2eproto_once,
|
||||||
|
file_level_metadata_GroundTruthTrack_2eproto[0]);
|
||||||
|
}
|
||||||
|
|
||||||
|
// @@protoc_insertion_point(namespace_scope)
|
||||||
|
} // namespace track
|
||||||
|
} // namespace messages
|
||||||
|
PROTOBUF_NAMESPACE_OPEN
|
||||||
|
template<> PROTOBUF_NOINLINE ::messages::track::GroundTruthTrack*
|
||||||
|
Arena::CreateMaybeMessage< ::messages::track::GroundTruthTrack >(Arena* arena) {
|
||||||
|
return Arena::CreateMessageInternal< ::messages::track::GroundTruthTrack >(arena);
|
||||||
|
}
|
||||||
|
PROTOBUF_NAMESPACE_CLOSE
|
||||||
|
|
||||||
|
// @@protoc_insertion_point(global_scope)
|
||||||
|
#include <google/protobuf/port_undef.inc>
|
||||||
764
include/SimCore/Messages/Protos/GroundTruthTrack.pb.h
Normal file
764
include/SimCore/Messages/Protos/GroundTruthTrack.pb.h
Normal file
@@ -0,0 +1,764 @@
|
|||||||
|
// Generated by the protocol buffer compiler. DO NOT EDIT!
|
||||||
|
// source: GroundTruthTrack.proto
|
||||||
|
|
||||||
|
#ifndef GOOGLE_PROTOBUF_INCLUDED_GroundTruthTrack_2eproto
|
||||||
|
#define GOOGLE_PROTOBUF_INCLUDED_GroundTruthTrack_2eproto
|
||||||
|
|
||||||
|
#include <limits>
|
||||||
|
#include <string>
|
||||||
|
|
||||||
|
#include <google/protobuf/port_def.inc>
|
||||||
|
#if PROTOBUF_VERSION < 3021000
|
||||||
|
#error This file was generated by a newer version of protoc which is
|
||||||
|
#error incompatible with your Protocol Buffer headers. Please update
|
||||||
|
#error your headers.
|
||||||
|
#endif
|
||||||
|
#if 3021012 < PROTOBUF_MIN_PROTOC_VERSION
|
||||||
|
#error This file was generated by an older version of protoc which is
|
||||||
|
#error incompatible with your Protocol Buffer headers. Please
|
||||||
|
#error regenerate this file with a newer version of protoc.
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include <google/protobuf/port_undef.inc>
|
||||||
|
#include <google/protobuf/io/coded_stream.h>
|
||||||
|
#include <google/protobuf/arena.h>
|
||||||
|
#include <google/protobuf/arenastring.h>
|
||||||
|
#include <google/protobuf/generated_message_util.h>
|
||||||
|
#include <google/protobuf/metadata_lite.h>
|
||||||
|
#include <google/protobuf/generated_message_reflection.h>
|
||||||
|
#include <google/protobuf/message.h>
|
||||||
|
#include <google/protobuf/repeated_field.h> // IWYU pragma: export
|
||||||
|
#include <google/protobuf/extension_set.h> // IWYU pragma: export
|
||||||
|
#include <google/protobuf/unknown_field_set.h>
|
||||||
|
#include "Identifier.pb.h"
|
||||||
|
#include "ESMData.pb.h"
|
||||||
|
#include "GeocentricPosition.pb.h"
|
||||||
|
#include <google/protobuf/timestamp.pb.h>
|
||||||
|
// @@protoc_insertion_point(includes)
|
||||||
|
#include <google/protobuf/port_def.inc>
|
||||||
|
#define PROTOBUF_INTERNAL_EXPORT_GroundTruthTrack_2eproto
|
||||||
|
PROTOBUF_NAMESPACE_OPEN
|
||||||
|
namespace internal {
|
||||||
|
class AnyMetadata;
|
||||||
|
} // namespace internal
|
||||||
|
PROTOBUF_NAMESPACE_CLOSE
|
||||||
|
|
||||||
|
// Internal implementation detail -- do not use these members.
|
||||||
|
struct TableStruct_GroundTruthTrack_2eproto {
|
||||||
|
static const uint32_t offsets[];
|
||||||
|
};
|
||||||
|
extern const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_GroundTruthTrack_2eproto;
|
||||||
|
namespace messages {
|
||||||
|
namespace track {
|
||||||
|
class GroundTruthTrack;
|
||||||
|
struct GroundTruthTrackDefaultTypeInternal;
|
||||||
|
extern GroundTruthTrackDefaultTypeInternal _GroundTruthTrack_default_instance_;
|
||||||
|
} // namespace track
|
||||||
|
} // namespace messages
|
||||||
|
PROTOBUF_NAMESPACE_OPEN
|
||||||
|
template<> ::messages::track::GroundTruthTrack* Arena::CreateMaybeMessage<::messages::track::GroundTruthTrack>(Arena*);
|
||||||
|
PROTOBUF_NAMESPACE_CLOSE
|
||||||
|
namespace messages {
|
||||||
|
namespace track {
|
||||||
|
|
||||||
|
// ===================================================================
|
||||||
|
|
||||||
|
class GroundTruthTrack final :
|
||||||
|
public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:messages.track.GroundTruthTrack) */ {
|
||||||
|
public:
|
||||||
|
inline GroundTruthTrack() : GroundTruthTrack(nullptr) {}
|
||||||
|
~GroundTruthTrack() override;
|
||||||
|
explicit PROTOBUF_CONSTEXPR GroundTruthTrack(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
|
||||||
|
|
||||||
|
GroundTruthTrack(const GroundTruthTrack& from);
|
||||||
|
GroundTruthTrack(GroundTruthTrack&& from) noexcept
|
||||||
|
: GroundTruthTrack() {
|
||||||
|
*this = ::std::move(from);
|
||||||
|
}
|
||||||
|
|
||||||
|
inline GroundTruthTrack& operator=(const GroundTruthTrack& from) {
|
||||||
|
CopyFrom(from);
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
inline GroundTruthTrack& operator=(GroundTruthTrack&& from) noexcept {
|
||||||
|
if (this == &from) return *this;
|
||||||
|
if (GetOwningArena() == from.GetOwningArena()
|
||||||
|
#ifdef PROTOBUF_FORCE_COPY_IN_MOVE
|
||||||
|
&& GetOwningArena() != nullptr
|
||||||
|
#endif // !PROTOBUF_FORCE_COPY_IN_MOVE
|
||||||
|
) {
|
||||||
|
InternalSwap(&from);
|
||||||
|
} else {
|
||||||
|
CopyFrom(from);
|
||||||
|
}
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
|
||||||
|
static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
|
||||||
|
return GetDescriptor();
|
||||||
|
}
|
||||||
|
static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
|
||||||
|
return default_instance().GetMetadata().descriptor;
|
||||||
|
}
|
||||||
|
static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
|
||||||
|
return default_instance().GetMetadata().reflection;
|
||||||
|
}
|
||||||
|
static const GroundTruthTrack& default_instance() {
|
||||||
|
return *internal_default_instance();
|
||||||
|
}
|
||||||
|
static inline const GroundTruthTrack* internal_default_instance() {
|
||||||
|
return reinterpret_cast<const GroundTruthTrack*>(
|
||||||
|
&_GroundTruthTrack_default_instance_);
|
||||||
|
}
|
||||||
|
static constexpr int kIndexInFileMessages =
|
||||||
|
0;
|
||||||
|
|
||||||
|
friend void swap(GroundTruthTrack& a, GroundTruthTrack& b) {
|
||||||
|
a.Swap(&b);
|
||||||
|
}
|
||||||
|
inline void Swap(GroundTruthTrack* other) {
|
||||||
|
if (other == this) return;
|
||||||
|
#ifdef PROTOBUF_FORCE_COPY_IN_SWAP
|
||||||
|
if (GetOwningArena() != nullptr &&
|
||||||
|
GetOwningArena() == other->GetOwningArena()) {
|
||||||
|
#else // PROTOBUF_FORCE_COPY_IN_SWAP
|
||||||
|
if (GetOwningArena() == other->GetOwningArena()) {
|
||||||
|
#endif // !PROTOBUF_FORCE_COPY_IN_SWAP
|
||||||
|
InternalSwap(other);
|
||||||
|
} else {
|
||||||
|
::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
void UnsafeArenaSwap(GroundTruthTrack* other) {
|
||||||
|
if (other == this) return;
|
||||||
|
GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
|
||||||
|
InternalSwap(other);
|
||||||
|
}
|
||||||
|
|
||||||
|
// implements Message ----------------------------------------------
|
||||||
|
|
||||||
|
GroundTruthTrack* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
|
||||||
|
return CreateMaybeMessage<GroundTruthTrack>(arena);
|
||||||
|
}
|
||||||
|
using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
|
||||||
|
void CopyFrom(const GroundTruthTrack& from);
|
||||||
|
using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
|
||||||
|
void MergeFrom( const GroundTruthTrack& from) {
|
||||||
|
GroundTruthTrack::MergeImpl(*this, from);
|
||||||
|
}
|
||||||
|
private:
|
||||||
|
static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg);
|
||||||
|
public:
|
||||||
|
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
|
||||||
|
bool IsInitialized() const final;
|
||||||
|
|
||||||
|
size_t ByteSizeLong() const final;
|
||||||
|
const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
|
||||||
|
uint8_t* _InternalSerialize(
|
||||||
|
uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
|
||||||
|
int GetCachedSize() const final { return _impl_._cached_size_.Get(); }
|
||||||
|
|
||||||
|
private:
|
||||||
|
void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
|
||||||
|
void SharedDtor();
|
||||||
|
void SetCachedSize(int size) const final;
|
||||||
|
void InternalSwap(GroundTruthTrack* other);
|
||||||
|
|
||||||
|
private:
|
||||||
|
friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
|
||||||
|
static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
|
||||||
|
return "messages.track.GroundTruthTrack";
|
||||||
|
}
|
||||||
|
protected:
|
||||||
|
explicit GroundTruthTrack(::PROTOBUF_NAMESPACE_ID::Arena* arena,
|
||||||
|
bool is_message_owned = false);
|
||||||
|
public:
|
||||||
|
|
||||||
|
static const ClassData _class_data_;
|
||||||
|
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
|
||||||
|
|
||||||
|
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
|
||||||
|
|
||||||
|
// nested types ----------------------------------------------------
|
||||||
|
|
||||||
|
// accessors -------------------------------------------------------
|
||||||
|
|
||||||
|
enum : int {
|
||||||
|
kEntityIdentifierFieldNumber = 2,
|
||||||
|
kGeocentricPositionFieldNumber = 3,
|
||||||
|
kESMDataFieldNumber = 6,
|
||||||
|
kTimestampFieldNumber = 7,
|
||||||
|
kContactSpeedFieldNumber = 4,
|
||||||
|
kContactCourseFieldNumber = 5,
|
||||||
|
kTrackKindFieldNumber = 1,
|
||||||
|
};
|
||||||
|
// .messages.track.Identifier EntityIdentifier = 2;
|
||||||
|
bool has_entityidentifier() const;
|
||||||
|
private:
|
||||||
|
bool _internal_has_entityidentifier() const;
|
||||||
|
public:
|
||||||
|
void clear_entityidentifier();
|
||||||
|
const ::messages::track::Identifier& entityidentifier() const;
|
||||||
|
PROTOBUF_NODISCARD ::messages::track::Identifier* release_entityidentifier();
|
||||||
|
::messages::track::Identifier* mutable_entityidentifier();
|
||||||
|
void set_allocated_entityidentifier(::messages::track::Identifier* entityidentifier);
|
||||||
|
private:
|
||||||
|
const ::messages::track::Identifier& _internal_entityidentifier() const;
|
||||||
|
::messages::track::Identifier* _internal_mutable_entityidentifier();
|
||||||
|
public:
|
||||||
|
void unsafe_arena_set_allocated_entityidentifier(
|
||||||
|
::messages::track::Identifier* entityidentifier);
|
||||||
|
::messages::track::Identifier* unsafe_arena_release_entityidentifier();
|
||||||
|
|
||||||
|
// .messages.track.EntityGeocentricPosition GeocentricPosition = 3;
|
||||||
|
bool has_geocentricposition() const;
|
||||||
|
private:
|
||||||
|
bool _internal_has_geocentricposition() const;
|
||||||
|
public:
|
||||||
|
void clear_geocentricposition();
|
||||||
|
const ::messages::track::EntityGeocentricPosition& geocentricposition() const;
|
||||||
|
PROTOBUF_NODISCARD ::messages::track::EntityGeocentricPosition* release_geocentricposition();
|
||||||
|
::messages::track::EntityGeocentricPosition* mutable_geocentricposition();
|
||||||
|
void set_allocated_geocentricposition(::messages::track::EntityGeocentricPosition* geocentricposition);
|
||||||
|
private:
|
||||||
|
const ::messages::track::EntityGeocentricPosition& _internal_geocentricposition() const;
|
||||||
|
::messages::track::EntityGeocentricPosition* _internal_mutable_geocentricposition();
|
||||||
|
public:
|
||||||
|
void unsafe_arena_set_allocated_geocentricposition(
|
||||||
|
::messages::track::EntityGeocentricPosition* geocentricposition);
|
||||||
|
::messages::track::EntityGeocentricPosition* unsafe_arena_release_geocentricposition();
|
||||||
|
|
||||||
|
// optional .messages.track.ESMData ESMData = 6;
|
||||||
|
bool has_esmdata() const;
|
||||||
|
private:
|
||||||
|
bool _internal_has_esmdata() const;
|
||||||
|
public:
|
||||||
|
void clear_esmdata();
|
||||||
|
const ::messages::track::ESMData& esmdata() const;
|
||||||
|
PROTOBUF_NODISCARD ::messages::track::ESMData* release_esmdata();
|
||||||
|
::messages::track::ESMData* mutable_esmdata();
|
||||||
|
void set_allocated_esmdata(::messages::track::ESMData* esmdata);
|
||||||
|
private:
|
||||||
|
const ::messages::track::ESMData& _internal_esmdata() const;
|
||||||
|
::messages::track::ESMData* _internal_mutable_esmdata();
|
||||||
|
public:
|
||||||
|
void unsafe_arena_set_allocated_esmdata(
|
||||||
|
::messages::track::ESMData* esmdata);
|
||||||
|
::messages::track::ESMData* unsafe_arena_release_esmdata();
|
||||||
|
|
||||||
|
// .google.protobuf.Timestamp timestamp = 7;
|
||||||
|
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();
|
||||||
|
|
||||||
|
// optional double ContactSpeed = 4;
|
||||||
|
bool has_contactspeed() const;
|
||||||
|
private:
|
||||||
|
bool _internal_has_contactspeed() const;
|
||||||
|
public:
|
||||||
|
void clear_contactspeed();
|
||||||
|
double contactspeed() const;
|
||||||
|
void set_contactspeed(double value);
|
||||||
|
private:
|
||||||
|
double _internal_contactspeed() const;
|
||||||
|
void _internal_set_contactspeed(double value);
|
||||||
|
public:
|
||||||
|
|
||||||
|
// optional double ContactCourse = 5;
|
||||||
|
bool has_contactcourse() const;
|
||||||
|
private:
|
||||||
|
bool _internal_has_contactcourse() const;
|
||||||
|
public:
|
||||||
|
void clear_contactcourse();
|
||||||
|
double contactcourse() const;
|
||||||
|
void set_contactcourse(double value);
|
||||||
|
private:
|
||||||
|
double _internal_contactcourse() const;
|
||||||
|
void _internal_set_contactcourse(double value);
|
||||||
|
public:
|
||||||
|
|
||||||
|
// uint32 TrackKind = 1;
|
||||||
|
void clear_trackkind();
|
||||||
|
uint32_t trackkind() const;
|
||||||
|
void set_trackkind(uint32_t value);
|
||||||
|
private:
|
||||||
|
uint32_t _internal_trackkind() const;
|
||||||
|
void _internal_set_trackkind(uint32_t value);
|
||||||
|
public:
|
||||||
|
|
||||||
|
// @@protoc_insertion_point(class_scope:messages.track.GroundTruthTrack)
|
||||||
|
private:
|
||||||
|
class _Internal;
|
||||||
|
|
||||||
|
template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
|
||||||
|
typedef void InternalArenaConstructable_;
|
||||||
|
typedef void DestructorSkippable_;
|
||||||
|
struct Impl_ {
|
||||||
|
::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
|
||||||
|
mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
|
||||||
|
::messages::track::Identifier* entityidentifier_;
|
||||||
|
::messages::track::EntityGeocentricPosition* geocentricposition_;
|
||||||
|
::messages::track::ESMData* esmdata_;
|
||||||
|
::PROTOBUF_NAMESPACE_ID::Timestamp* timestamp_;
|
||||||
|
double contactspeed_;
|
||||||
|
double contactcourse_;
|
||||||
|
uint32_t trackkind_;
|
||||||
|
};
|
||||||
|
union { Impl_ _impl_; };
|
||||||
|
friend struct ::TableStruct_GroundTruthTrack_2eproto;
|
||||||
|
};
|
||||||
|
// ===================================================================
|
||||||
|
|
||||||
|
|
||||||
|
// ===================================================================
|
||||||
|
|
||||||
|
#ifdef __GNUC__
|
||||||
|
#pragma GCC diagnostic push
|
||||||
|
#pragma GCC diagnostic ignored "-Wstrict-aliasing"
|
||||||
|
#endif // __GNUC__
|
||||||
|
// GroundTruthTrack
|
||||||
|
|
||||||
|
// uint32 TrackKind = 1;
|
||||||
|
inline void GroundTruthTrack::clear_trackkind() {
|
||||||
|
_impl_.trackkind_ = 0u;
|
||||||
|
}
|
||||||
|
inline uint32_t GroundTruthTrack::_internal_trackkind() const {
|
||||||
|
return _impl_.trackkind_;
|
||||||
|
}
|
||||||
|
inline uint32_t GroundTruthTrack::trackkind() const {
|
||||||
|
// @@protoc_insertion_point(field_get:messages.track.GroundTruthTrack.TrackKind)
|
||||||
|
return _internal_trackkind();
|
||||||
|
}
|
||||||
|
inline void GroundTruthTrack::_internal_set_trackkind(uint32_t value) {
|
||||||
|
|
||||||
|
_impl_.trackkind_ = value;
|
||||||
|
}
|
||||||
|
inline void GroundTruthTrack::set_trackkind(uint32_t value) {
|
||||||
|
_internal_set_trackkind(value);
|
||||||
|
// @@protoc_insertion_point(field_set:messages.track.GroundTruthTrack.TrackKind)
|
||||||
|
}
|
||||||
|
|
||||||
|
// .messages.track.Identifier EntityIdentifier = 2;
|
||||||
|
inline bool GroundTruthTrack::_internal_has_entityidentifier() const {
|
||||||
|
return this != internal_default_instance() && _impl_.entityidentifier_ != nullptr;
|
||||||
|
}
|
||||||
|
inline bool GroundTruthTrack::has_entityidentifier() const {
|
||||||
|
return _internal_has_entityidentifier();
|
||||||
|
}
|
||||||
|
inline const ::messages::track::Identifier& GroundTruthTrack::_internal_entityidentifier() const {
|
||||||
|
const ::messages::track::Identifier* p = _impl_.entityidentifier_;
|
||||||
|
return p != nullptr ? *p : reinterpret_cast<const ::messages::track::Identifier&>(
|
||||||
|
::messages::track::_Identifier_default_instance_);
|
||||||
|
}
|
||||||
|
inline const ::messages::track::Identifier& GroundTruthTrack::entityidentifier() const {
|
||||||
|
// @@protoc_insertion_point(field_get:messages.track.GroundTruthTrack.EntityIdentifier)
|
||||||
|
return _internal_entityidentifier();
|
||||||
|
}
|
||||||
|
inline void GroundTruthTrack::unsafe_arena_set_allocated_entityidentifier(
|
||||||
|
::messages::track::Identifier* entityidentifier) {
|
||||||
|
if (GetArenaForAllocation() == nullptr) {
|
||||||
|
delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.entityidentifier_);
|
||||||
|
}
|
||||||
|
_impl_.entityidentifier_ = entityidentifier;
|
||||||
|
if (entityidentifier) {
|
||||||
|
|
||||||
|
} else {
|
||||||
|
|
||||||
|
}
|
||||||
|
// @@protoc_insertion_point(field_unsafe_arena_set_allocated:messages.track.GroundTruthTrack.EntityIdentifier)
|
||||||
|
}
|
||||||
|
inline ::messages::track::Identifier* GroundTruthTrack::release_entityidentifier() {
|
||||||
|
|
||||||
|
::messages::track::Identifier* temp = _impl_.entityidentifier_;
|
||||||
|
_impl_.entityidentifier_ = nullptr;
|
||||||
|
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
|
||||||
|
auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
|
||||||
|
temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
|
||||||
|
if (GetArenaForAllocation() == nullptr) { delete old; }
|
||||||
|
#else // PROTOBUF_FORCE_COPY_IN_RELEASE
|
||||||
|
if (GetArenaForAllocation() != nullptr) {
|
||||||
|
temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
|
||||||
|
}
|
||||||
|
#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE
|
||||||
|
return temp;
|
||||||
|
}
|
||||||
|
inline ::messages::track::Identifier* GroundTruthTrack::unsafe_arena_release_entityidentifier() {
|
||||||
|
// @@protoc_insertion_point(field_release:messages.track.GroundTruthTrack.EntityIdentifier)
|
||||||
|
|
||||||
|
::messages::track::Identifier* temp = _impl_.entityidentifier_;
|
||||||
|
_impl_.entityidentifier_ = nullptr;
|
||||||
|
return temp;
|
||||||
|
}
|
||||||
|
inline ::messages::track::Identifier* GroundTruthTrack::_internal_mutable_entityidentifier() {
|
||||||
|
|
||||||
|
if (_impl_.entityidentifier_ == nullptr) {
|
||||||
|
auto* p = CreateMaybeMessage<::messages::track::Identifier>(GetArenaForAllocation());
|
||||||
|
_impl_.entityidentifier_ = p;
|
||||||
|
}
|
||||||
|
return _impl_.entityidentifier_;
|
||||||
|
}
|
||||||
|
inline ::messages::track::Identifier* GroundTruthTrack::mutable_entityidentifier() {
|
||||||
|
::messages::track::Identifier* _msg = _internal_mutable_entityidentifier();
|
||||||
|
// @@protoc_insertion_point(field_mutable:messages.track.GroundTruthTrack.EntityIdentifier)
|
||||||
|
return _msg;
|
||||||
|
}
|
||||||
|
inline void GroundTruthTrack::set_allocated_entityidentifier(::messages::track::Identifier* entityidentifier) {
|
||||||
|
::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
|
||||||
|
if (message_arena == nullptr) {
|
||||||
|
delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.entityidentifier_);
|
||||||
|
}
|
||||||
|
if (entityidentifier) {
|
||||||
|
::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
|
||||||
|
::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(
|
||||||
|
reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(entityidentifier));
|
||||||
|
if (message_arena != submessage_arena) {
|
||||||
|
entityidentifier = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
|
||||||
|
message_arena, entityidentifier, submessage_arena);
|
||||||
|
}
|
||||||
|
|
||||||
|
} else {
|
||||||
|
|
||||||
|
}
|
||||||
|
_impl_.entityidentifier_ = entityidentifier;
|
||||||
|
// @@protoc_insertion_point(field_set_allocated:messages.track.GroundTruthTrack.EntityIdentifier)
|
||||||
|
}
|
||||||
|
|
||||||
|
// .messages.track.EntityGeocentricPosition GeocentricPosition = 3;
|
||||||
|
inline bool GroundTruthTrack::_internal_has_geocentricposition() const {
|
||||||
|
return this != internal_default_instance() && _impl_.geocentricposition_ != nullptr;
|
||||||
|
}
|
||||||
|
inline bool GroundTruthTrack::has_geocentricposition() const {
|
||||||
|
return _internal_has_geocentricposition();
|
||||||
|
}
|
||||||
|
inline const ::messages::track::EntityGeocentricPosition& GroundTruthTrack::_internal_geocentricposition() const {
|
||||||
|
const ::messages::track::EntityGeocentricPosition* p = _impl_.geocentricposition_;
|
||||||
|
return p != nullptr ? *p : reinterpret_cast<const ::messages::track::EntityGeocentricPosition&>(
|
||||||
|
::messages::track::_EntityGeocentricPosition_default_instance_);
|
||||||
|
}
|
||||||
|
inline const ::messages::track::EntityGeocentricPosition& GroundTruthTrack::geocentricposition() const {
|
||||||
|
// @@protoc_insertion_point(field_get:messages.track.GroundTruthTrack.GeocentricPosition)
|
||||||
|
return _internal_geocentricposition();
|
||||||
|
}
|
||||||
|
inline void GroundTruthTrack::unsafe_arena_set_allocated_geocentricposition(
|
||||||
|
::messages::track::EntityGeocentricPosition* geocentricposition) {
|
||||||
|
if (GetArenaForAllocation() == nullptr) {
|
||||||
|
delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.geocentricposition_);
|
||||||
|
}
|
||||||
|
_impl_.geocentricposition_ = geocentricposition;
|
||||||
|
if (geocentricposition) {
|
||||||
|
|
||||||
|
} else {
|
||||||
|
|
||||||
|
}
|
||||||
|
// @@protoc_insertion_point(field_unsafe_arena_set_allocated:messages.track.GroundTruthTrack.GeocentricPosition)
|
||||||
|
}
|
||||||
|
inline ::messages::track::EntityGeocentricPosition* GroundTruthTrack::release_geocentricposition() {
|
||||||
|
|
||||||
|
::messages::track::EntityGeocentricPosition* temp = _impl_.geocentricposition_;
|
||||||
|
_impl_.geocentricposition_ = nullptr;
|
||||||
|
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
|
||||||
|
auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
|
||||||
|
temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
|
||||||
|
if (GetArenaForAllocation() == nullptr) { delete old; }
|
||||||
|
#else // PROTOBUF_FORCE_COPY_IN_RELEASE
|
||||||
|
if (GetArenaForAllocation() != nullptr) {
|
||||||
|
temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
|
||||||
|
}
|
||||||
|
#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE
|
||||||
|
return temp;
|
||||||
|
}
|
||||||
|
inline ::messages::track::EntityGeocentricPosition* GroundTruthTrack::unsafe_arena_release_geocentricposition() {
|
||||||
|
// @@protoc_insertion_point(field_release:messages.track.GroundTruthTrack.GeocentricPosition)
|
||||||
|
|
||||||
|
::messages::track::EntityGeocentricPosition* temp = _impl_.geocentricposition_;
|
||||||
|
_impl_.geocentricposition_ = nullptr;
|
||||||
|
return temp;
|
||||||
|
}
|
||||||
|
inline ::messages::track::EntityGeocentricPosition* GroundTruthTrack::_internal_mutable_geocentricposition() {
|
||||||
|
|
||||||
|
if (_impl_.geocentricposition_ == nullptr) {
|
||||||
|
auto* p = CreateMaybeMessage<::messages::track::EntityGeocentricPosition>(GetArenaForAllocation());
|
||||||
|
_impl_.geocentricposition_ = p;
|
||||||
|
}
|
||||||
|
return _impl_.geocentricposition_;
|
||||||
|
}
|
||||||
|
inline ::messages::track::EntityGeocentricPosition* GroundTruthTrack::mutable_geocentricposition() {
|
||||||
|
::messages::track::EntityGeocentricPosition* _msg = _internal_mutable_geocentricposition();
|
||||||
|
// @@protoc_insertion_point(field_mutable:messages.track.GroundTruthTrack.GeocentricPosition)
|
||||||
|
return _msg;
|
||||||
|
}
|
||||||
|
inline void GroundTruthTrack::set_allocated_geocentricposition(::messages::track::EntityGeocentricPosition* geocentricposition) {
|
||||||
|
::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
|
||||||
|
if (message_arena == nullptr) {
|
||||||
|
delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.geocentricposition_);
|
||||||
|
}
|
||||||
|
if (geocentricposition) {
|
||||||
|
::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
|
||||||
|
::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(
|
||||||
|
reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(geocentricposition));
|
||||||
|
if (message_arena != submessage_arena) {
|
||||||
|
geocentricposition = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
|
||||||
|
message_arena, geocentricposition, submessage_arena);
|
||||||
|
}
|
||||||
|
|
||||||
|
} else {
|
||||||
|
|
||||||
|
}
|
||||||
|
_impl_.geocentricposition_ = geocentricposition;
|
||||||
|
// @@protoc_insertion_point(field_set_allocated:messages.track.GroundTruthTrack.GeocentricPosition)
|
||||||
|
}
|
||||||
|
|
||||||
|
// optional double ContactSpeed = 4;
|
||||||
|
inline bool GroundTruthTrack::_internal_has_contactspeed() const {
|
||||||
|
bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
|
||||||
|
return value;
|
||||||
|
}
|
||||||
|
inline bool GroundTruthTrack::has_contactspeed() const {
|
||||||
|
return _internal_has_contactspeed();
|
||||||
|
}
|
||||||
|
inline void GroundTruthTrack::clear_contactspeed() {
|
||||||
|
_impl_.contactspeed_ = 0;
|
||||||
|
_impl_._has_bits_[0] &= ~0x00000002u;
|
||||||
|
}
|
||||||
|
inline double GroundTruthTrack::_internal_contactspeed() const {
|
||||||
|
return _impl_.contactspeed_;
|
||||||
|
}
|
||||||
|
inline double GroundTruthTrack::contactspeed() const {
|
||||||
|
// @@protoc_insertion_point(field_get:messages.track.GroundTruthTrack.ContactSpeed)
|
||||||
|
return _internal_contactspeed();
|
||||||
|
}
|
||||||
|
inline void GroundTruthTrack::_internal_set_contactspeed(double value) {
|
||||||
|
_impl_._has_bits_[0] |= 0x00000002u;
|
||||||
|
_impl_.contactspeed_ = value;
|
||||||
|
}
|
||||||
|
inline void GroundTruthTrack::set_contactspeed(double value) {
|
||||||
|
_internal_set_contactspeed(value);
|
||||||
|
// @@protoc_insertion_point(field_set:messages.track.GroundTruthTrack.ContactSpeed)
|
||||||
|
}
|
||||||
|
|
||||||
|
// optional double ContactCourse = 5;
|
||||||
|
inline bool GroundTruthTrack::_internal_has_contactcourse() const {
|
||||||
|
bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
|
||||||
|
return value;
|
||||||
|
}
|
||||||
|
inline bool GroundTruthTrack::has_contactcourse() const {
|
||||||
|
return _internal_has_contactcourse();
|
||||||
|
}
|
||||||
|
inline void GroundTruthTrack::clear_contactcourse() {
|
||||||
|
_impl_.contactcourse_ = 0;
|
||||||
|
_impl_._has_bits_[0] &= ~0x00000004u;
|
||||||
|
}
|
||||||
|
inline double GroundTruthTrack::_internal_contactcourse() const {
|
||||||
|
return _impl_.contactcourse_;
|
||||||
|
}
|
||||||
|
inline double GroundTruthTrack::contactcourse() const {
|
||||||
|
// @@protoc_insertion_point(field_get:messages.track.GroundTruthTrack.ContactCourse)
|
||||||
|
return _internal_contactcourse();
|
||||||
|
}
|
||||||
|
inline void GroundTruthTrack::_internal_set_contactcourse(double value) {
|
||||||
|
_impl_._has_bits_[0] |= 0x00000004u;
|
||||||
|
_impl_.contactcourse_ = value;
|
||||||
|
}
|
||||||
|
inline void GroundTruthTrack::set_contactcourse(double value) {
|
||||||
|
_internal_set_contactcourse(value);
|
||||||
|
// @@protoc_insertion_point(field_set:messages.track.GroundTruthTrack.ContactCourse)
|
||||||
|
}
|
||||||
|
|
||||||
|
// optional .messages.track.ESMData ESMData = 6;
|
||||||
|
inline bool GroundTruthTrack::_internal_has_esmdata() const {
|
||||||
|
bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
|
||||||
|
PROTOBUF_ASSUME(!value || _impl_.esmdata_ != nullptr);
|
||||||
|
return value;
|
||||||
|
}
|
||||||
|
inline bool GroundTruthTrack::has_esmdata() const {
|
||||||
|
return _internal_has_esmdata();
|
||||||
|
}
|
||||||
|
inline const ::messages::track::ESMData& GroundTruthTrack::_internal_esmdata() const {
|
||||||
|
const ::messages::track::ESMData* p = _impl_.esmdata_;
|
||||||
|
return p != nullptr ? *p : reinterpret_cast<const ::messages::track::ESMData&>(
|
||||||
|
::messages::track::_ESMData_default_instance_);
|
||||||
|
}
|
||||||
|
inline const ::messages::track::ESMData& GroundTruthTrack::esmdata() const {
|
||||||
|
// @@protoc_insertion_point(field_get:messages.track.GroundTruthTrack.ESMData)
|
||||||
|
return _internal_esmdata();
|
||||||
|
}
|
||||||
|
inline void GroundTruthTrack::unsafe_arena_set_allocated_esmdata(
|
||||||
|
::messages::track::ESMData* esmdata) {
|
||||||
|
if (GetArenaForAllocation() == nullptr) {
|
||||||
|
delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.esmdata_);
|
||||||
|
}
|
||||||
|
_impl_.esmdata_ = esmdata;
|
||||||
|
if (esmdata) {
|
||||||
|
_impl_._has_bits_[0] |= 0x00000001u;
|
||||||
|
} else {
|
||||||
|
_impl_._has_bits_[0] &= ~0x00000001u;
|
||||||
|
}
|
||||||
|
// @@protoc_insertion_point(field_unsafe_arena_set_allocated:messages.track.GroundTruthTrack.ESMData)
|
||||||
|
}
|
||||||
|
inline ::messages::track::ESMData* GroundTruthTrack::release_esmdata() {
|
||||||
|
_impl_._has_bits_[0] &= ~0x00000001u;
|
||||||
|
::messages::track::ESMData* temp = _impl_.esmdata_;
|
||||||
|
_impl_.esmdata_ = nullptr;
|
||||||
|
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
|
||||||
|
auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
|
||||||
|
temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
|
||||||
|
if (GetArenaForAllocation() == nullptr) { delete old; }
|
||||||
|
#else // PROTOBUF_FORCE_COPY_IN_RELEASE
|
||||||
|
if (GetArenaForAllocation() != nullptr) {
|
||||||
|
temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
|
||||||
|
}
|
||||||
|
#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE
|
||||||
|
return temp;
|
||||||
|
}
|
||||||
|
inline ::messages::track::ESMData* GroundTruthTrack::unsafe_arena_release_esmdata() {
|
||||||
|
// @@protoc_insertion_point(field_release:messages.track.GroundTruthTrack.ESMData)
|
||||||
|
_impl_._has_bits_[0] &= ~0x00000001u;
|
||||||
|
::messages::track::ESMData* temp = _impl_.esmdata_;
|
||||||
|
_impl_.esmdata_ = nullptr;
|
||||||
|
return temp;
|
||||||
|
}
|
||||||
|
inline ::messages::track::ESMData* GroundTruthTrack::_internal_mutable_esmdata() {
|
||||||
|
_impl_._has_bits_[0] |= 0x00000001u;
|
||||||
|
if (_impl_.esmdata_ == nullptr) {
|
||||||
|
auto* p = CreateMaybeMessage<::messages::track::ESMData>(GetArenaForAllocation());
|
||||||
|
_impl_.esmdata_ = p;
|
||||||
|
}
|
||||||
|
return _impl_.esmdata_;
|
||||||
|
}
|
||||||
|
inline ::messages::track::ESMData* GroundTruthTrack::mutable_esmdata() {
|
||||||
|
::messages::track::ESMData* _msg = _internal_mutable_esmdata();
|
||||||
|
// @@protoc_insertion_point(field_mutable:messages.track.GroundTruthTrack.ESMData)
|
||||||
|
return _msg;
|
||||||
|
}
|
||||||
|
inline void GroundTruthTrack::set_allocated_esmdata(::messages::track::ESMData* esmdata) {
|
||||||
|
::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
|
||||||
|
if (message_arena == nullptr) {
|
||||||
|
delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.esmdata_);
|
||||||
|
}
|
||||||
|
if (esmdata) {
|
||||||
|
::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
|
||||||
|
::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(
|
||||||
|
reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(esmdata));
|
||||||
|
if (message_arena != submessage_arena) {
|
||||||
|
esmdata = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
|
||||||
|
message_arena, esmdata, submessage_arena);
|
||||||
|
}
|
||||||
|
_impl_._has_bits_[0] |= 0x00000001u;
|
||||||
|
} else {
|
||||||
|
_impl_._has_bits_[0] &= ~0x00000001u;
|
||||||
|
}
|
||||||
|
_impl_.esmdata_ = esmdata;
|
||||||
|
// @@protoc_insertion_point(field_set_allocated:messages.track.GroundTruthTrack.ESMData)
|
||||||
|
}
|
||||||
|
|
||||||
|
// .google.protobuf.Timestamp timestamp = 7;
|
||||||
|
inline bool GroundTruthTrack::_internal_has_timestamp() const {
|
||||||
|
return this != internal_default_instance() && _impl_.timestamp_ != nullptr;
|
||||||
|
}
|
||||||
|
inline bool GroundTruthTrack::has_timestamp() const {
|
||||||
|
return _internal_has_timestamp();
|
||||||
|
}
|
||||||
|
inline const ::PROTOBUF_NAMESPACE_ID::Timestamp& GroundTruthTrack::_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& GroundTruthTrack::timestamp() const {
|
||||||
|
// @@protoc_insertion_point(field_get:messages.track.GroundTruthTrack.timestamp)
|
||||||
|
return _internal_timestamp();
|
||||||
|
}
|
||||||
|
inline void GroundTruthTrack::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 {
|
||||||
|
|
||||||
|
}
|
||||||
|
// @@protoc_insertion_point(field_unsafe_arena_set_allocated:messages.track.GroundTruthTrack.timestamp)
|
||||||
|
}
|
||||||
|
inline ::PROTOBUF_NAMESPACE_ID::Timestamp* GroundTruthTrack::release_timestamp() {
|
||||||
|
|
||||||
|
::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_IN_RELEASE
|
||||||
|
return temp;
|
||||||
|
}
|
||||||
|
inline ::PROTOBUF_NAMESPACE_ID::Timestamp* GroundTruthTrack::unsafe_arena_release_timestamp() {
|
||||||
|
// @@protoc_insertion_point(field_release:messages.track.GroundTruthTrack.timestamp)
|
||||||
|
|
||||||
|
::PROTOBUF_NAMESPACE_ID::Timestamp* temp = _impl_.timestamp_;
|
||||||
|
_impl_.timestamp_ = nullptr;
|
||||||
|
return temp;
|
||||||
|
}
|
||||||
|
inline ::PROTOBUF_NAMESPACE_ID::Timestamp* GroundTruthTrack::_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* GroundTruthTrack::mutable_timestamp() {
|
||||||
|
::PROTOBUF_NAMESPACE_ID::Timestamp* _msg = _internal_mutable_timestamp();
|
||||||
|
// @@protoc_insertion_point(field_mutable:messages.track.GroundTruthTrack.timestamp)
|
||||||
|
return _msg;
|
||||||
|
}
|
||||||
|
inline void GroundTruthTrack::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.GroundTruthTrack.timestamp)
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifdef __GNUC__
|
||||||
|
#pragma GCC diagnostic pop
|
||||||
|
#endif // __GNUC__
|
||||||
|
|
||||||
|
// @@protoc_insertion_point(namespace_scope)
|
||||||
|
|
||||||
|
} // namespace track
|
||||||
|
} // namespace messages
|
||||||
|
|
||||||
|
// @@protoc_insertion_point(global_scope)
|
||||||
|
|
||||||
|
#include <google/protobuf/port_undef.inc>
|
||||||
|
#endif // GOOGLE_PROTOBUF_INCLUDED_GOOGLE_PROTOBUF_INCLUDED_GroundTruthTrack_2eproto
|
||||||
22
include/SimCore/Messages/Protos/GroundTruthTrack.proto
Normal file
22
include/SimCore/Messages/Protos/GroundTruthTrack.proto
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
syntax = "proto3";
|
||||||
|
package messages.track;
|
||||||
|
|
||||||
|
import "Identifier.proto";
|
||||||
|
import "ESMData.proto";
|
||||||
|
import "GeocentricPosition.proto";
|
||||||
|
import "google/protobuf/timestamp.proto";
|
||||||
|
|
||||||
|
|
||||||
|
message GroundTruthTrack
|
||||||
|
{
|
||||||
|
uint32 TrackKind = 1;
|
||||||
|
messages.track.Identifier EntityIdentifier = 2;
|
||||||
|
messages.track.EntityGeocentricPosition GeocentricPosition = 3;
|
||||||
|
optional double ContactSpeed = 4;
|
||||||
|
optional double ContactCourse = 5;
|
||||||
|
|
||||||
|
optional messages.track.ESMData ESMData = 6;
|
||||||
|
|
||||||
|
google.protobuf.Timestamp timestamp = 7;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -25,9 +25,7 @@ namespace track {
|
|||||||
PROTOBUF_CONSTEXPR RadarTrack::RadarTrack(
|
PROTOBUF_CONSTEXPR RadarTrack::RadarTrack(
|
||||||
::_pbi::ConstantInitialized): _impl_{
|
::_pbi::ConstantInitialized): _impl_{
|
||||||
/*decltype(_impl_.radarid_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
|
/*decltype(_impl_.radarid_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
|
||||||
, /*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
|
||||||
@@ -57,14 +55,12 @@ const uint32_t TableStruct_RadarTrack_2eproto::offsets[] PROTOBUF_SECTION_VARIAB
|
|||||||
~0u, // no _weak_field_map_
|
~0u, // no _weak_field_map_
|
||||||
~0u, // no _inlined_string_donated_
|
~0u, // no _inlined_string_donated_
|
||||||
PROTOBUF_FIELD_OFFSET(::messages::track::RadarTrack, _impl_.radarid_),
|
PROTOBUF_FIELD_OFFSET(::messages::track::RadarTrack, _impl_.radarid_),
|
||||||
PROTOBUF_FIELD_OFFSET(::messages::track::RadarTrack, _impl_.entityidentifier_),
|
|
||||||
PROTOBUF_FIELD_OFFSET(::messages::track::RadarTrack, _impl_.geocentricposition_),
|
PROTOBUF_FIELD_OFFSET(::messages::track::RadarTrack, _impl_.geocentricposition_),
|
||||||
PROTOBUF_FIELD_OFFSET(::messages::track::RadarTrack, _impl_.contactspeed_),
|
PROTOBUF_FIELD_OFFSET(::messages::track::RadarTrack, _impl_.contactspeed_),
|
||||||
PROTOBUF_FIELD_OFFSET(::messages::track::RadarTrack, _impl_.contactcourse_),
|
PROTOBUF_FIELD_OFFSET(::messages::track::RadarTrack, _impl_.contactcourse_),
|
||||||
PROTOBUF_FIELD_OFFSET(::messages::track::RadarTrack, _impl_.contactbearing_),
|
PROTOBUF_FIELD_OFFSET(::messages::track::RadarTrack, _impl_.contactbearing_),
|
||||||
PROTOBUF_FIELD_OFFSET(::messages::track::RadarTrack, _impl_.contactrange_),
|
PROTOBUF_FIELD_OFFSET(::messages::track::RadarTrack, _impl_.contactrange_),
|
||||||
PROTOBUF_FIELD_OFFSET(::messages::track::RadarTrack, _impl_.contactenvironemnt_),
|
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::track::RadarTrack)},
|
{ 0, -1, -1, sizeof(::messages::track::RadarTrack)},
|
||||||
@@ -75,18 +71,15 @@ static const ::_pb::Message* const file_default_instances[] = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const char descriptor_table_protodef_RadarTrack_2eproto[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) =
|
const char descriptor_table_protodef_RadarTrack_2eproto[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) =
|
||||||
"\n\020RadarTrack.proto\022\016messages.track\032\037goog"
|
"\n\020RadarTrack.proto\022\016messages.track\032\030Geoc"
|
||||||
"le/protobuf/timestamp.proto\032\030GeocentricP"
|
"entricPosition.proto\032\020Identifier.proto\032\037"
|
||||||
"osition.proto\032\020Identifier.proto\"\277\002\n\nRada"
|
"google/protobuf/timestamp.proto\"\332\001\n\nRada"
|
||||||
"rTrack\022\017\n\007RadarID\030\001 \001(\t\0224\n\020EntityIdentif"
|
"rTrack\022\017\n\007RadarID\030\001 \001(\t\022D\n\022GeocentricPos"
|
||||||
"ier\030\002 \001(\0132\032.messages.track.Identifier\022D\n"
|
"ition\030\003 \001(\0132(.messages.track.EntityGeoce"
|
||||||
"\022GeocentricPosition\030\003 \001(\0132(.messages.tra"
|
"ntricPosition\022\024\n\014ContactSpeed\030\004 \001(\001\022\025\n\rC"
|
||||||
"ck.EntityGeocentricPosition\022\024\n\014ContactSp"
|
"ontactCourse\030\005 \001(\001\022\026\n\016ContactBearing\030\006 \001"
|
||||||
"eed\030\004 \001(\001\022\025\n\rContactCourse\030\005 \001(\001\022\026\n\016Cont"
|
"(\001\022\024\n\014ContactRange\030\007 \001(\001\022\032\n\022ContactEnvir"
|
||||||
"actBearing\030\006 \001(\001\022\024\n\014ContactRange\030\007 \001(\001\022\032"
|
"onemnt\030\010 \001(\rb\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_RadarTrack_2eproto_deps[3] = {
|
static const ::_pbi::DescriptorTable* const descriptor_table_RadarTrack_2eproto_deps[3] = {
|
||||||
&::descriptor_table_GeocentricPosition_2eproto,
|
&::descriptor_table_GeocentricPosition_2eproto,
|
||||||
@@ -95,7 +88,7 @@ static const ::_pbi::DescriptorTable* const descriptor_table_RadarTrack_2eproto_
|
|||||||
};
|
};
|
||||||
static ::_pbi::once_flag descriptor_table_RadarTrack_2eproto_once;
|
static ::_pbi::once_flag descriptor_table_RadarTrack_2eproto_once;
|
||||||
const ::_pbi::DescriptorTable descriptor_table_RadarTrack_2eproto = {
|
const ::_pbi::DescriptorTable descriptor_table_RadarTrack_2eproto = {
|
||||||
false, false, 441, descriptor_table_protodef_RadarTrack_2eproto,
|
false, false, 340, descriptor_table_protodef_RadarTrack_2eproto,
|
||||||
"RadarTrack.proto",
|
"RadarTrack.proto",
|
||||||
&descriptor_table_RadarTrack_2eproto_once, descriptor_table_RadarTrack_2eproto_deps, 3, 1,
|
&descriptor_table_RadarTrack_2eproto_once, descriptor_table_RadarTrack_2eproto_deps, 3, 1,
|
||||||
schemas, file_default_instances, TableStruct_RadarTrack_2eproto::offsets,
|
schemas, file_default_instances, TableStruct_RadarTrack_2eproto::offsets,
|
||||||
@@ -115,41 +108,19 @@ namespace track {
|
|||||||
|
|
||||||
class RadarTrack::_Internal {
|
class RadarTrack::_Internal {
|
||||||
public:
|
public:
|
||||||
static const ::messages::track::Identifier& entityidentifier(const RadarTrack* msg);
|
|
||||||
static const ::messages::track::EntityGeocentricPosition& geocentricposition(const RadarTrack* msg);
|
static const ::messages::track::EntityGeocentricPosition& geocentricposition(const RadarTrack* msg);
|
||||||
static const ::PROTOBUF_NAMESPACE_ID::Timestamp& timestamp(const RadarTrack* msg);
|
|
||||||
};
|
};
|
||||||
|
|
||||||
const ::messages::track::Identifier&
|
|
||||||
RadarTrack::_Internal::entityidentifier(const RadarTrack* msg) {
|
|
||||||
return *msg->_impl_.entityidentifier_;
|
|
||||||
}
|
|
||||||
const ::messages::track::EntityGeocentricPosition&
|
const ::messages::track::EntityGeocentricPosition&
|
||||||
RadarTrack::_Internal::geocentricposition(const RadarTrack* msg) {
|
RadarTrack::_Internal::geocentricposition(const RadarTrack* msg) {
|
||||||
return *msg->_impl_.geocentricposition_;
|
return *msg->_impl_.geocentricposition_;
|
||||||
}
|
}
|
||||||
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) {
|
|
||||||
delete _impl_.entityidentifier_;
|
|
||||||
}
|
|
||||||
_impl_.entityidentifier_ = nullptr;
|
|
||||||
}
|
|
||||||
void RadarTrack::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;
|
||||||
}
|
}
|
||||||
void RadarTrack::clear_timestamp() {
|
|
||||||
if (GetArenaForAllocation() == nullptr && _impl_.timestamp_ != nullptr) {
|
|
||||||
delete _impl_.timestamp_;
|
|
||||||
}
|
|
||||||
_impl_.timestamp_ = nullptr;
|
|
||||||
}
|
|
||||||
RadarTrack::RadarTrack(::PROTOBUF_NAMESPACE_ID::Arena* arena,
|
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) {
|
||||||
@@ -161,9 +132,7 @@ RadarTrack::RadarTrack(const RadarTrack& from)
|
|||||||
RadarTrack* const _this = this; (void)_this;
|
RadarTrack* const _this = this; (void)_this;
|
||||||
new (&_impl_) Impl_{
|
new (&_impl_) Impl_{
|
||||||
decltype(_impl_.radarid_){}
|
decltype(_impl_.radarid_){}
|
||||||
, 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_){}
|
||||||
@@ -180,15 +149,9 @@ RadarTrack::RadarTrack(const RadarTrack& from)
|
|||||||
_this->_impl_.radarid_.Set(from._internal_radarid(),
|
_this->_impl_.radarid_.Set(from._internal_radarid(),
|
||||||
_this->GetArenaForAllocation());
|
_this->GetArenaForAllocation());
|
||||||
}
|
}
|
||||||
if (from._internal_has_entityidentifier()) {
|
|
||||||
_this->_impl_.entityidentifier_ = new ::messages::track::Identifier(*from._impl_.entityidentifier_);
|
|
||||||
}
|
|
||||||
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_.contactenvironemnt_) -
|
static_cast<size_t>(reinterpret_cast<char*>(&_impl_.contactenvironemnt_) -
|
||||||
reinterpret_cast<char*>(&_impl_.contactspeed_)) + sizeof(_impl_.contactenvironemnt_));
|
reinterpret_cast<char*>(&_impl_.contactspeed_)) + sizeof(_impl_.contactenvironemnt_));
|
||||||
@@ -201,9 +164,7 @@ inline void RadarTrack::SharedCtor(
|
|||||||
(void)is_message_owned;
|
(void)is_message_owned;
|
||||||
new (&_impl_) Impl_{
|
new (&_impl_) Impl_{
|
||||||
decltype(_impl_.radarid_){}
|
decltype(_impl_.radarid_){}
|
||||||
, 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}
|
||||||
@@ -229,9 +190,7 @@ RadarTrack::~RadarTrack() {
|
|||||||
inline void RadarTrack::SharedDtor() {
|
inline void RadarTrack::SharedDtor() {
|
||||||
GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
|
GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
|
||||||
_impl_.radarid_.Destroy();
|
_impl_.radarid_.Destroy();
|
||||||
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 RadarTrack::SetCachedSize(int size) const {
|
void RadarTrack::SetCachedSize(int size) const {
|
||||||
@@ -245,18 +204,10 @@ void RadarTrack::Clear() {
|
|||||||
(void) cached_has_bits;
|
(void) cached_has_bits;
|
||||||
|
|
||||||
_impl_.radarid_.ClearToEmpty();
|
_impl_.radarid_.ClearToEmpty();
|
||||||
if (GetArenaForAllocation() == nullptr && _impl_.entityidentifier_ != nullptr) {
|
|
||||||
delete _impl_.entityidentifier_;
|
|
||||||
}
|
|
||||||
_impl_.entityidentifier_ = nullptr;
|
|
||||||
if (GetArenaForAllocation() == nullptr && _impl_.geocentricposition_ != nullptr) {
|
if (GetArenaForAllocation() == nullptr && _impl_.geocentricposition_ != nullptr) {
|
||||||
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_.contactenvironemnt_) -
|
reinterpret_cast<char*>(&_impl_.contactenvironemnt_) -
|
||||||
reinterpret_cast<char*>(&_impl_.contactspeed_)) + sizeof(_impl_.contactenvironemnt_));
|
reinterpret_cast<char*>(&_impl_.contactspeed_)) + sizeof(_impl_.contactenvironemnt_));
|
||||||
@@ -279,14 +230,6 @@ const char* RadarTrack::_InternalParse(const char* ptr, ::_pbi::ParseContext* ct
|
|||||||
} else
|
} else
|
||||||
goto handle_unusual;
|
goto handle_unusual;
|
||||||
continue;
|
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);
|
|
||||||
CHK_(ptr);
|
|
||||||
} else
|
|
||||||
goto handle_unusual;
|
|
||||||
continue;
|
|
||||||
// .messages.track.EntityGeocentricPosition GeocentricPosition = 3;
|
// .messages.track.EntityGeocentricPosition GeocentricPosition = 3;
|
||||||
case 3:
|
case 3:
|
||||||
if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 26)) {
|
if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 26)) {
|
||||||
@@ -335,14 +278,6 @@ const char* RadarTrack::_InternalParse(const char* ptr, ::_pbi::ParseContext* ct
|
|||||||
} else
|
} else
|
||||||
goto handle_unusual;
|
goto handle_unusual;
|
||||||
continue;
|
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);
|
|
||||||
} else
|
|
||||||
goto handle_unusual;
|
|
||||||
continue;
|
|
||||||
default:
|
default:
|
||||||
goto handle_unusual;
|
goto handle_unusual;
|
||||||
} // switch
|
} // switch
|
||||||
@@ -382,13 +317,6 @@ uint8_t* RadarTrack::_InternalSerialize(
|
|||||||
1, this->_internal_radarid(), target);
|
1, this->_internal_radarid(), target);
|
||||||
}
|
}
|
||||||
|
|
||||||
// .messages.track.Identifier EntityIdentifier = 2;
|
|
||||||
if (this->_internal_has_entityidentifier()) {
|
|
||||||
target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
|
|
||||||
InternalWriteMessage(2, _Internal::entityidentifier(this),
|
|
||||||
_Internal::entityidentifier(this).GetCachedSize(), target, stream);
|
|
||||||
}
|
|
||||||
|
|
||||||
// .messages.track.EntityGeocentricPosition GeocentricPosition = 3;
|
// .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::
|
||||||
@@ -442,13 +370,6 @@ uint8_t* RadarTrack::_InternalSerialize(
|
|||||||
target = ::_pbi::WireFormatLite::WriteUInt32ToArray(8, this->_internal_contactenvironemnt(), target);
|
target = ::_pbi::WireFormatLite::WriteUInt32ToArray(8, this->_internal_contactenvironemnt(), target);
|
||||||
}
|
}
|
||||||
|
|
||||||
// .google.protobuf.Timestamp timestamp = 9;
|
|
||||||
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);
|
||||||
@@ -472,13 +393,6 @@ size_t RadarTrack::ByteSizeLong() const {
|
|||||||
this->_internal_radarid());
|
this->_internal_radarid());
|
||||||
}
|
}
|
||||||
|
|
||||||
// .messages.track.Identifier EntityIdentifier = 2;
|
|
||||||
if (this->_internal_has_entityidentifier()) {
|
|
||||||
total_size += 1 +
|
|
||||||
::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
|
|
||||||
*_impl_.entityidentifier_);
|
|
||||||
}
|
|
||||||
|
|
||||||
// .messages.track.EntityGeocentricPosition GeocentricPosition = 3;
|
// .messages.track.EntityGeocentricPosition GeocentricPosition = 3;
|
||||||
if (this->_internal_has_geocentricposition()) {
|
if (this->_internal_has_geocentricposition()) {
|
||||||
total_size += 1 +
|
total_size += 1 +
|
||||||
@@ -486,13 +400,6 @@ size_t RadarTrack::ByteSizeLong() const {
|
|||||||
*_impl_.geocentricposition_);
|
*_impl_.geocentricposition_);
|
||||||
}
|
}
|
||||||
|
|
||||||
// .google.protobuf.Timestamp timestamp = 9;
|
|
||||||
if (this->_internal_has_timestamp()) {
|
|
||||||
total_size += 1 +
|
|
||||||
::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
|
|
||||||
*_impl_.timestamp_);
|
|
||||||
}
|
|
||||||
|
|
||||||
// double ContactSpeed = 4;
|
// 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();
|
||||||
@@ -555,18 +462,10 @@ void RadarTrack::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PRO
|
|||||||
if (!from._internal_radarid().empty()) {
|
if (!from._internal_radarid().empty()) {
|
||||||
_this->_internal_set_radarid(from._internal_radarid());
|
_this->_internal_set_radarid(from._internal_radarid());
|
||||||
}
|
}
|
||||||
if (from._internal_has_entityidentifier()) {
|
|
||||||
_this->_internal_mutable_entityidentifier()->::messages::track::Identifier::MergeFrom(
|
|
||||||
from._internal_entityidentifier());
|
|
||||||
}
|
|
||||||
if (from._internal_has_geocentricposition()) {
|
if (from._internal_has_geocentricposition()) {
|
||||||
_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;
|
||||||
@@ -624,9 +523,9 @@ void RadarTrack::InternalSwap(RadarTrack* other) {
|
|||||||
::PROTOBUF_NAMESPACE_ID::internal::memswap<
|
::PROTOBUF_NAMESPACE_ID::internal::memswap<
|
||||||
PROTOBUF_FIELD_OFFSET(RadarTrack, _impl_.contactenvironemnt_)
|
PROTOBUF_FIELD_OFFSET(RadarTrack, _impl_.contactenvironemnt_)
|
||||||
+ sizeof(RadarTrack::_impl_.contactenvironemnt_)
|
+ sizeof(RadarTrack::_impl_.contactenvironemnt_)
|
||||||
- PROTOBUF_FIELD_OFFSET(RadarTrack, _impl_.entityidentifier_)>(
|
- PROTOBUF_FIELD_OFFSET(RadarTrack, _impl_.geocentricposition_)>(
|
||||||
reinterpret_cast<char*>(&_impl_.entityidentifier_),
|
reinterpret_cast<char*>(&_impl_.geocentricposition_),
|
||||||
reinterpret_cast<char*>(&other->_impl_.entityidentifier_));
|
reinterpret_cast<char*>(&other->_impl_.geocentricposition_));
|
||||||
}
|
}
|
||||||
|
|
||||||
::PROTOBUF_NAMESPACE_ID::Metadata RadarTrack::GetMetadata() const {
|
::PROTOBUF_NAMESPACE_ID::Metadata RadarTrack::GetMetadata() const {
|
||||||
|
|||||||
@@ -30,9 +30,9 @@
|
|||||||
#include <google/protobuf/repeated_field.h> // IWYU pragma: export
|
#include <google/protobuf/repeated_field.h> // IWYU pragma: export
|
||||||
#include <google/protobuf/extension_set.h> // IWYU pragma: export
|
#include <google/protobuf/extension_set.h> // IWYU pragma: export
|
||||||
#include <google/protobuf/unknown_field_set.h>
|
#include <google/protobuf/unknown_field_set.h>
|
||||||
#include <google/protobuf/timestamp.pb.h>
|
|
||||||
#include "GeocentricPosition.pb.h"
|
#include "GeocentricPosition.pb.h"
|
||||||
#include "Identifier.pb.h"
|
#include "Identifier.pb.h"
|
||||||
|
#include <google/protobuf/timestamp.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_RadarTrack_2eproto
|
#define PROTOBUF_INTERNAL_EXPORT_RadarTrack_2eproto
|
||||||
@@ -184,9 +184,7 @@ class RadarTrack final :
|
|||||||
|
|
||||||
enum : int {
|
enum : int {
|
||||||
kRadarIDFieldNumber = 1,
|
kRadarIDFieldNumber = 1,
|
||||||
kEntityIdentifierFieldNumber = 2,
|
|
||||||
kGeocentricPositionFieldNumber = 3,
|
kGeocentricPositionFieldNumber = 3,
|
||||||
kTimestampFieldNumber = 9,
|
|
||||||
kContactSpeedFieldNumber = 4,
|
kContactSpeedFieldNumber = 4,
|
||||||
kContactCourseFieldNumber = 5,
|
kContactCourseFieldNumber = 5,
|
||||||
kContactBearingFieldNumber = 6,
|
kContactBearingFieldNumber = 6,
|
||||||
@@ -207,24 +205,6 @@ class RadarTrack final :
|
|||||||
std::string* _internal_mutable_radarid();
|
std::string* _internal_mutable_radarid();
|
||||||
public:
|
public:
|
||||||
|
|
||||||
// .messages.track.Identifier EntityIdentifier = 2;
|
|
||||||
bool has_entityidentifier() const;
|
|
||||||
private:
|
|
||||||
bool _internal_has_entityidentifier() const;
|
|
||||||
public:
|
|
||||||
void clear_entityidentifier();
|
|
||||||
const ::messages::track::Identifier& entityidentifier() const;
|
|
||||||
PROTOBUF_NODISCARD ::messages::track::Identifier* release_entityidentifier();
|
|
||||||
::messages::track::Identifier* mutable_entityidentifier();
|
|
||||||
void set_allocated_entityidentifier(::messages::track::Identifier* entityidentifier);
|
|
||||||
private:
|
|
||||||
const ::messages::track::Identifier& _internal_entityidentifier() const;
|
|
||||||
::messages::track::Identifier* _internal_mutable_entityidentifier();
|
|
||||||
public:
|
|
||||||
void unsafe_arena_set_allocated_entityidentifier(
|
|
||||||
::messages::track::Identifier* entityidentifier);
|
|
||||||
::messages::track::Identifier* unsafe_arena_release_entityidentifier();
|
|
||||||
|
|
||||||
// .messages.track.EntityGeocentricPosition GeocentricPosition = 3;
|
// .messages.track.EntityGeocentricPosition GeocentricPosition = 3;
|
||||||
bool has_geocentricposition() const;
|
bool has_geocentricposition() const;
|
||||||
private:
|
private:
|
||||||
@@ -243,24 +223,6 @@ class RadarTrack final :
|
|||||||
::messages::track::EntityGeocentricPosition* geocentricposition);
|
::messages::track::EntityGeocentricPosition* geocentricposition);
|
||||||
::messages::track::EntityGeocentricPosition* unsafe_arena_release_geocentricposition();
|
::messages::track::EntityGeocentricPosition* unsafe_arena_release_geocentricposition();
|
||||||
|
|
||||||
// .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;
|
// double ContactSpeed = 4;
|
||||||
void clear_contactspeed();
|
void clear_contactspeed();
|
||||||
double contactspeed() const;
|
double contactspeed() const;
|
||||||
@@ -315,9 +277,7 @@ class RadarTrack final :
|
|||||||
typedef void DestructorSkippable_;
|
typedef void DestructorSkippable_;
|
||||||
struct Impl_ {
|
struct Impl_ {
|
||||||
::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr radarid_;
|
::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr radarid_;
|
||||||
::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_;
|
||||||
@@ -389,91 +349,6 @@ inline void RadarTrack::set_allocated_radarid(std::string* radarid) {
|
|||||||
// @@protoc_insertion_point(field_set_allocated:messages.track.RadarTrack.RadarID)
|
// @@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;
|
|
||||||
}
|
|
||||||
inline bool RadarTrack::has_entityidentifier() const {
|
|
||||||
return _internal_has_entityidentifier();
|
|
||||||
}
|
|
||||||
inline const ::messages::track::Identifier& RadarTrack::_internal_entityidentifier() const {
|
|
||||||
const ::messages::track::Identifier* p = _impl_.entityidentifier_;
|
|
||||||
return p != nullptr ? *p : reinterpret_cast<const ::messages::track::Identifier&>(
|
|
||||||
::messages::track::_Identifier_default_instance_);
|
|
||||||
}
|
|
||||||
inline const ::messages::track::Identifier& RadarTrack::entityidentifier() const {
|
|
||||||
// @@protoc_insertion_point(field_get:messages.track.RadarTrack.EntityIdentifier)
|
|
||||||
return _internal_entityidentifier();
|
|
||||||
}
|
|
||||||
inline void RadarTrack::unsafe_arena_set_allocated_entityidentifier(
|
|
||||||
::messages::track::Identifier* entityidentifier) {
|
|
||||||
if (GetArenaForAllocation() == nullptr) {
|
|
||||||
delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.entityidentifier_);
|
|
||||||
}
|
|
||||||
_impl_.entityidentifier_ = entityidentifier;
|
|
||||||
if (entityidentifier) {
|
|
||||||
|
|
||||||
} else {
|
|
||||||
|
|
||||||
}
|
|
||||||
// @@protoc_insertion_point(field_unsafe_arena_set_allocated:messages.track.RadarTrack.EntityIdentifier)
|
|
||||||
}
|
|
||||||
inline ::messages::track::Identifier* RadarTrack::release_entityidentifier() {
|
|
||||||
|
|
||||||
::messages::track::Identifier* temp = _impl_.entityidentifier_;
|
|
||||||
_impl_.entityidentifier_ = nullptr;
|
|
||||||
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
|
|
||||||
auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
|
|
||||||
temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
|
|
||||||
if (GetArenaForAllocation() == nullptr) { delete old; }
|
|
||||||
#else // PROTOBUF_FORCE_COPY_IN_RELEASE
|
|
||||||
if (GetArenaForAllocation() != nullptr) {
|
|
||||||
temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
|
|
||||||
}
|
|
||||||
#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE
|
|
||||||
return temp;
|
|
||||||
}
|
|
||||||
inline ::messages::track::Identifier* RadarTrack::unsafe_arena_release_entityidentifier() {
|
|
||||||
// @@protoc_insertion_point(field_release:messages.track.RadarTrack.EntityIdentifier)
|
|
||||||
|
|
||||||
::messages::track::Identifier* temp = _impl_.entityidentifier_;
|
|
||||||
_impl_.entityidentifier_ = nullptr;
|
|
||||||
return temp;
|
|
||||||
}
|
|
||||||
inline ::messages::track::Identifier* RadarTrack::_internal_mutable_entityidentifier() {
|
|
||||||
|
|
||||||
if (_impl_.entityidentifier_ == nullptr) {
|
|
||||||
auto* p = CreateMaybeMessage<::messages::track::Identifier>(GetArenaForAllocation());
|
|
||||||
_impl_.entityidentifier_ = p;
|
|
||||||
}
|
|
||||||
return _impl_.entityidentifier_;
|
|
||||||
}
|
|
||||||
inline ::messages::track::Identifier* RadarTrack::mutable_entityidentifier() {
|
|
||||||
::messages::track::Identifier* _msg = _internal_mutable_entityidentifier();
|
|
||||||
// @@protoc_insertion_point(field_mutable:messages.track.RadarTrack.EntityIdentifier)
|
|
||||||
return _msg;
|
|
||||||
}
|
|
||||||
inline void RadarTrack::set_allocated_entityidentifier(::messages::track::Identifier* entityidentifier) {
|
|
||||||
::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
|
|
||||||
if (message_arena == nullptr) {
|
|
||||||
delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.entityidentifier_);
|
|
||||||
}
|
|
||||||
if (entityidentifier) {
|
|
||||||
::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
|
|
||||||
::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(
|
|
||||||
reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(entityidentifier));
|
|
||||||
if (message_arena != submessage_arena) {
|
|
||||||
entityidentifier = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
|
|
||||||
message_arena, entityidentifier, submessage_arena);
|
|
||||||
}
|
|
||||||
|
|
||||||
} else {
|
|
||||||
|
|
||||||
}
|
|
||||||
_impl_.entityidentifier_ = entityidentifier;
|
|
||||||
// @@protoc_insertion_point(field_set_allocated:messages.track.RadarTrack.EntityIdentifier)
|
|
||||||
}
|
|
||||||
|
|
||||||
// .messages.track.EntityGeocentricPosition GeocentricPosition = 3;
|
// .messages.track.EntityGeocentricPosition GeocentricPosition = 3;
|
||||||
inline bool RadarTrack::_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;
|
||||||
@@ -659,91 +534,6 @@ inline void RadarTrack::set_contactenvironemnt(uint32_t value) {
|
|||||||
// @@protoc_insertion_point(field_set:messages.track.RadarTrack.ContactEnvironemnt)
|
// @@protoc_insertion_point(field_set:messages.track.RadarTrack.ContactEnvironemnt)
|
||||||
}
|
}
|
||||||
|
|
||||||
// .google.protobuf.Timestamp timestamp = 9;
|
|
||||||
inline bool RadarTrack::_internal_has_timestamp() const {
|
|
||||||
return this != internal_default_instance() && _impl_.timestamp_ != nullptr;
|
|
||||||
}
|
|
||||||
inline bool RadarTrack::has_timestamp() const {
|
|
||||||
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 {
|
|
||||||
|
|
||||||
}
|
|
||||||
// @@protoc_insertion_point(field_unsafe_arena_set_allocated:messages.track.RadarTrack.timestamp)
|
|
||||||
}
|
|
||||||
inline ::PROTOBUF_NAMESPACE_ID::Timestamp* RadarTrack::release_timestamp() {
|
|
||||||
|
|
||||||
::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_IN_RELEASE
|
|
||||||
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__
|
||||||
#pragma GCC diagnostic pop
|
#pragma GCC diagnostic pop
|
||||||
#endif // __GNUC__
|
#endif // __GNUC__
|
||||||
|
|||||||
@@ -1,23 +1,22 @@
|
|||||||
syntax = "proto3";
|
syntax = "proto3";
|
||||||
package messages.track;
|
package messages.track;
|
||||||
|
|
||||||
import "google/protobuf/timestamp.proto";
|
|
||||||
import "GeocentricPosition.proto";
|
import "GeocentricPosition.proto";
|
||||||
import "Identifier.proto";
|
import "Identifier.proto";
|
||||||
// [END declaration]
|
import "google/protobuf/timestamp.proto";
|
||||||
|
|
||||||
|
|
||||||
message RadarTrack {
|
message RadarTrack {
|
||||||
|
|
||||||
string RadarID = 1;
|
string RadarID = 1;
|
||||||
messages.track.Identifier EntityIdentifier = 2;
|
// messages.track.Identifier EntityIdentifier = 2;
|
||||||
messages.track.EntityGeocentricPosition GeocentricPosition = 3;
|
messages.track.EntityGeocentricPosition GeocentricPosition = 3;
|
||||||
double ContactSpeed = 4;
|
double ContactSpeed = 4;
|
||||||
double ContactCourse = 5;
|
double ContactCourse = 5;
|
||||||
double ContactBearing = 6;
|
double ContactBearing = 6;
|
||||||
double ContactRange = 7;
|
double ContactRange = 7;
|
||||||
uint32 ContactEnvironemnt = 8;
|
uint32 ContactEnvironemnt = 8;
|
||||||
|
// google.protobuf.Timestamp timestamp = 9;
|
||||||
|
|
||||||
google.protobuf.Timestamp timestamp = 9;
|
|
||||||
|
|
||||||
}
|
}
|
||||||
620
include/SimCore/Messages/Protos/SensorTrack.pb.cc
Normal file
620
include/SimCore/Messages/Protos/SensorTrack.pb.cc
Normal file
@@ -0,0 +1,620 @@
|
|||||||
|
// Generated by the protocol buffer compiler. DO NOT EDIT!
|
||||||
|
// source: SensorTrack.proto
|
||||||
|
|
||||||
|
#include "SensorTrack.pb.h"
|
||||||
|
|
||||||
|
#include <algorithm>
|
||||||
|
|
||||||
|
#include <google/protobuf/io/coded_stream.h>
|
||||||
|
#include <google/protobuf/extension_set.h>
|
||||||
|
#include <google/protobuf/wire_format_lite.h>
|
||||||
|
#include <google/protobuf/descriptor.h>
|
||||||
|
#include <google/protobuf/generated_message_reflection.h>
|
||||||
|
#include <google/protobuf/reflection_ops.h>
|
||||||
|
#include <google/protobuf/wire_format.h>
|
||||||
|
// @@protoc_insertion_point(includes)
|
||||||
|
#include <google/protobuf/port_def.inc>
|
||||||
|
|
||||||
|
PROTOBUF_PRAGMA_INIT_SEG
|
||||||
|
|
||||||
|
namespace _pb = ::PROTOBUF_NAMESPACE_ID;
|
||||||
|
namespace _pbi = _pb::internal;
|
||||||
|
|
||||||
|
namespace messages {
|
||||||
|
namespace track {
|
||||||
|
PROTOBUF_CONSTEXPR SensorTrack::SensorTrack(
|
||||||
|
::_pbi::ConstantInitialized): _impl_{
|
||||||
|
/*decltype(_impl_._has_bits_)*/{}
|
||||||
|
, /*decltype(_impl_._cached_size_)*/{}
|
||||||
|
, /*decltype(_impl_.sensorid_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
|
||||||
|
, /*decltype(_impl_.entityidentifier_)*/nullptr
|
||||||
|
, /*decltype(_impl_.radartrack_)*/nullptr
|
||||||
|
, /*decltype(_impl_.esmtrack_)*/nullptr
|
||||||
|
, /*decltype(_impl_.timestamp_)*/nullptr
|
||||||
|
, /*decltype(_impl_.duration_)*/nullptr
|
||||||
|
, /*decltype(_impl_.trackkind_)*/0u} {}
|
||||||
|
struct SensorTrackDefaultTypeInternal {
|
||||||
|
PROTOBUF_CONSTEXPR SensorTrackDefaultTypeInternal()
|
||||||
|
: _instance(::_pbi::ConstantInitialized{}) {}
|
||||||
|
~SensorTrackDefaultTypeInternal() {}
|
||||||
|
union {
|
||||||
|
SensorTrack _instance;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 SensorTrackDefaultTypeInternal _SensorTrack_default_instance_;
|
||||||
|
} // namespace track
|
||||||
|
} // namespace messages
|
||||||
|
static ::_pb::Metadata file_level_metadata_SensorTrack_2eproto[1];
|
||||||
|
static constexpr ::_pb::EnumDescriptor const** file_level_enum_descriptors_SensorTrack_2eproto = nullptr;
|
||||||
|
static constexpr ::_pb::ServiceDescriptor const** file_level_service_descriptors_SensorTrack_2eproto = nullptr;
|
||||||
|
|
||||||
|
const uint32_t TableStruct_SensorTrack_2eproto::offsets[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = {
|
||||||
|
PROTOBUF_FIELD_OFFSET(::messages::track::SensorTrack, _impl_._has_bits_),
|
||||||
|
PROTOBUF_FIELD_OFFSET(::messages::track::SensorTrack, _internal_metadata_),
|
||||||
|
~0u, // no _extensions_
|
||||||
|
~0u, // no _oneof_case_
|
||||||
|
~0u, // no _weak_field_map_
|
||||||
|
~0u, // no _inlined_string_donated_
|
||||||
|
PROTOBUF_FIELD_OFFSET(::messages::track::SensorTrack, _impl_.entityidentifier_),
|
||||||
|
PROTOBUF_FIELD_OFFSET(::messages::track::SensorTrack, _impl_.sensorid_),
|
||||||
|
PROTOBUF_FIELD_OFFSET(::messages::track::SensorTrack, _impl_.trackkind_),
|
||||||
|
PROTOBUF_FIELD_OFFSET(::messages::track::SensorTrack, _impl_.radartrack_),
|
||||||
|
PROTOBUF_FIELD_OFFSET(::messages::track::SensorTrack, _impl_.esmtrack_),
|
||||||
|
PROTOBUF_FIELD_OFFSET(::messages::track::SensorTrack, _impl_.timestamp_),
|
||||||
|
PROTOBUF_FIELD_OFFSET(::messages::track::SensorTrack, _impl_.duration_),
|
||||||
|
~0u,
|
||||||
|
~0u,
|
||||||
|
~0u,
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
~0u,
|
||||||
|
~0u,
|
||||||
|
};
|
||||||
|
static const ::_pbi::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = {
|
||||||
|
{ 0, 13, -1, sizeof(::messages::track::SensorTrack)},
|
||||||
|
};
|
||||||
|
|
||||||
|
static const ::_pb::Message* const file_default_instances[] = {
|
||||||
|
&::messages::track::_SensorTrack_default_instance_._instance,
|
||||||
|
};
|
||||||
|
|
||||||
|
const char descriptor_table_protodef_SensorTrack_2eproto[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) =
|
||||||
|
"\n\021SensorTrack.proto\022\016messages.track\032\037goo"
|
||||||
|
"gle/protobuf/timestamp.proto\032\036google/pro"
|
||||||
|
"tobuf/duration.proto\032\020Identifier.proto\032\020"
|
||||||
|
"RadarTrack.proto\032\016ESMTrack.proto\"\306\002\n\013Sen"
|
||||||
|
"sorTrack\0224\n\020EntityIdentifier\030\001 \001(\0132\032.mes"
|
||||||
|
"sages.track.Identifier\022\020\n\010SensorID\030\002 \001(\t"
|
||||||
|
"\022\021\n\tTrackKind\030\003 \001(\r\0223\n\nRadarTrack\030\004 \001(\0132"
|
||||||
|
"\032.messages.track.RadarTrackH\000\210\001\001\022/\n\010ESMT"
|
||||||
|
"rack\030\005 \001(\0132\030.messages.track.ESMTrackH\001\210\001"
|
||||||
|
"\001\022-\n\ttimestamp\030\006 \001(\0132\032.google.protobuf.T"
|
||||||
|
"imestamp\022+\n\010duration\030\007 \001(\0132\031.google.prot"
|
||||||
|
"obuf.DurationB\r\n\013_RadarTrackB\013\n\t_ESMTrac"
|
||||||
|
"kb\006proto3"
|
||||||
|
;
|
||||||
|
static const ::_pbi::DescriptorTable* const descriptor_table_SensorTrack_2eproto_deps[5] = {
|
||||||
|
&::descriptor_table_ESMTrack_2eproto,
|
||||||
|
&::descriptor_table_Identifier_2eproto,
|
||||||
|
&::descriptor_table_RadarTrack_2eproto,
|
||||||
|
&::descriptor_table_google_2fprotobuf_2fduration_2eproto,
|
||||||
|
&::descriptor_table_google_2fprotobuf_2ftimestamp_2eproto,
|
||||||
|
};
|
||||||
|
static ::_pbi::once_flag descriptor_table_SensorTrack_2eproto_once;
|
||||||
|
const ::_pbi::DescriptorTable descriptor_table_SensorTrack_2eproto = {
|
||||||
|
false, false, 489, descriptor_table_protodef_SensorTrack_2eproto,
|
||||||
|
"SensorTrack.proto",
|
||||||
|
&descriptor_table_SensorTrack_2eproto_once, descriptor_table_SensorTrack_2eproto_deps, 5, 1,
|
||||||
|
schemas, file_default_instances, TableStruct_SensorTrack_2eproto::offsets,
|
||||||
|
file_level_metadata_SensorTrack_2eproto, file_level_enum_descriptors_SensorTrack_2eproto,
|
||||||
|
file_level_service_descriptors_SensorTrack_2eproto,
|
||||||
|
};
|
||||||
|
PROTOBUF_ATTRIBUTE_WEAK const ::_pbi::DescriptorTable* descriptor_table_SensorTrack_2eproto_getter() {
|
||||||
|
return &descriptor_table_SensorTrack_2eproto;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Force running AddDescriptors() at dynamic initialization time.
|
||||||
|
PROTOBUF_ATTRIBUTE_INIT_PRIORITY2 static ::_pbi::AddDescriptorsRunner dynamic_init_dummy_SensorTrack_2eproto(&descriptor_table_SensorTrack_2eproto);
|
||||||
|
namespace messages {
|
||||||
|
namespace track {
|
||||||
|
|
||||||
|
// ===================================================================
|
||||||
|
|
||||||
|
class SensorTrack::_Internal {
|
||||||
|
public:
|
||||||
|
using HasBits = decltype(std::declval<SensorTrack>()._impl_._has_bits_);
|
||||||
|
static const ::messages::track::Identifier& entityidentifier(const SensorTrack* msg);
|
||||||
|
static const ::messages::track::RadarTrack& radartrack(const SensorTrack* msg);
|
||||||
|
static void set_has_radartrack(HasBits* has_bits) {
|
||||||
|
(*has_bits)[0] |= 1u;
|
||||||
|
}
|
||||||
|
static const ::messages::track::ESMTrack& esmtrack(const SensorTrack* msg);
|
||||||
|
static void set_has_esmtrack(HasBits* has_bits) {
|
||||||
|
(*has_bits)[0] |= 2u;
|
||||||
|
}
|
||||||
|
static const ::PROTOBUF_NAMESPACE_ID::Timestamp& timestamp(const SensorTrack* msg);
|
||||||
|
static const ::PROTOBUF_NAMESPACE_ID::Duration& duration(const SensorTrack* msg);
|
||||||
|
};
|
||||||
|
|
||||||
|
const ::messages::track::Identifier&
|
||||||
|
SensorTrack::_Internal::entityidentifier(const SensorTrack* msg) {
|
||||||
|
return *msg->_impl_.entityidentifier_;
|
||||||
|
}
|
||||||
|
const ::messages::track::RadarTrack&
|
||||||
|
SensorTrack::_Internal::radartrack(const SensorTrack* msg) {
|
||||||
|
return *msg->_impl_.radartrack_;
|
||||||
|
}
|
||||||
|
const ::messages::track::ESMTrack&
|
||||||
|
SensorTrack::_Internal::esmtrack(const SensorTrack* msg) {
|
||||||
|
return *msg->_impl_.esmtrack_;
|
||||||
|
}
|
||||||
|
const ::PROTOBUF_NAMESPACE_ID::Timestamp&
|
||||||
|
SensorTrack::_Internal::timestamp(const SensorTrack* msg) {
|
||||||
|
return *msg->_impl_.timestamp_;
|
||||||
|
}
|
||||||
|
const ::PROTOBUF_NAMESPACE_ID::Duration&
|
||||||
|
SensorTrack::_Internal::duration(const SensorTrack* msg) {
|
||||||
|
return *msg->_impl_.duration_;
|
||||||
|
}
|
||||||
|
void SensorTrack::clear_entityidentifier() {
|
||||||
|
if (GetArenaForAllocation() == nullptr && _impl_.entityidentifier_ != nullptr) {
|
||||||
|
delete _impl_.entityidentifier_;
|
||||||
|
}
|
||||||
|
_impl_.entityidentifier_ = nullptr;
|
||||||
|
}
|
||||||
|
void SensorTrack::clear_radartrack() {
|
||||||
|
if (_impl_.radartrack_ != nullptr) _impl_.radartrack_->Clear();
|
||||||
|
_impl_._has_bits_[0] &= ~0x00000001u;
|
||||||
|
}
|
||||||
|
void SensorTrack::clear_esmtrack() {
|
||||||
|
if (_impl_.esmtrack_ != nullptr) _impl_.esmtrack_->Clear();
|
||||||
|
_impl_._has_bits_[0] &= ~0x00000002u;
|
||||||
|
}
|
||||||
|
void SensorTrack::clear_timestamp() {
|
||||||
|
if (GetArenaForAllocation() == nullptr && _impl_.timestamp_ != nullptr) {
|
||||||
|
delete _impl_.timestamp_;
|
||||||
|
}
|
||||||
|
_impl_.timestamp_ = nullptr;
|
||||||
|
}
|
||||||
|
void SensorTrack::clear_duration() {
|
||||||
|
if (GetArenaForAllocation() == nullptr && _impl_.duration_ != nullptr) {
|
||||||
|
delete _impl_.duration_;
|
||||||
|
}
|
||||||
|
_impl_.duration_ = nullptr;
|
||||||
|
}
|
||||||
|
SensorTrack::SensorTrack(::PROTOBUF_NAMESPACE_ID::Arena* arena,
|
||||||
|
bool is_message_owned)
|
||||||
|
: ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
|
||||||
|
SharedCtor(arena, is_message_owned);
|
||||||
|
// @@protoc_insertion_point(arena_constructor:messages.track.SensorTrack)
|
||||||
|
}
|
||||||
|
SensorTrack::SensorTrack(const SensorTrack& from)
|
||||||
|
: ::PROTOBUF_NAMESPACE_ID::Message() {
|
||||||
|
SensorTrack* const _this = this; (void)_this;
|
||||||
|
new (&_impl_) Impl_{
|
||||||
|
decltype(_impl_._has_bits_){from._impl_._has_bits_}
|
||||||
|
, /*decltype(_impl_._cached_size_)*/{}
|
||||||
|
, decltype(_impl_.sensorid_){}
|
||||||
|
, decltype(_impl_.entityidentifier_){nullptr}
|
||||||
|
, decltype(_impl_.radartrack_){nullptr}
|
||||||
|
, decltype(_impl_.esmtrack_){nullptr}
|
||||||
|
, decltype(_impl_.timestamp_){nullptr}
|
||||||
|
, decltype(_impl_.duration_){nullptr}
|
||||||
|
, decltype(_impl_.trackkind_){}};
|
||||||
|
|
||||||
|
_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
|
||||||
|
_impl_.sensorid_.InitDefault();
|
||||||
|
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
|
||||||
|
_impl_.sensorid_.Set("", GetArenaForAllocation());
|
||||||
|
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
|
||||||
|
if (!from._internal_sensorid().empty()) {
|
||||||
|
_this->_impl_.sensorid_.Set(from._internal_sensorid(),
|
||||||
|
_this->GetArenaForAllocation());
|
||||||
|
}
|
||||||
|
if (from._internal_has_entityidentifier()) {
|
||||||
|
_this->_impl_.entityidentifier_ = new ::messages::track::Identifier(*from._impl_.entityidentifier_);
|
||||||
|
}
|
||||||
|
if (from._internal_has_radartrack()) {
|
||||||
|
_this->_impl_.radartrack_ = new ::messages::track::RadarTrack(*from._impl_.radartrack_);
|
||||||
|
}
|
||||||
|
if (from._internal_has_esmtrack()) {
|
||||||
|
_this->_impl_.esmtrack_ = new ::messages::track::ESMTrack(*from._impl_.esmtrack_);
|
||||||
|
}
|
||||||
|
if (from._internal_has_timestamp()) {
|
||||||
|
_this->_impl_.timestamp_ = new ::PROTOBUF_NAMESPACE_ID::Timestamp(*from._impl_.timestamp_);
|
||||||
|
}
|
||||||
|
if (from._internal_has_duration()) {
|
||||||
|
_this->_impl_.duration_ = new ::PROTOBUF_NAMESPACE_ID::Duration(*from._impl_.duration_);
|
||||||
|
}
|
||||||
|
_this->_impl_.trackkind_ = from._impl_.trackkind_;
|
||||||
|
// @@protoc_insertion_point(copy_constructor:messages.track.SensorTrack)
|
||||||
|
}
|
||||||
|
|
||||||
|
inline void SensorTrack::SharedCtor(
|
||||||
|
::_pb::Arena* arena, bool is_message_owned) {
|
||||||
|
(void)arena;
|
||||||
|
(void)is_message_owned;
|
||||||
|
new (&_impl_) Impl_{
|
||||||
|
decltype(_impl_._has_bits_){}
|
||||||
|
, /*decltype(_impl_._cached_size_)*/{}
|
||||||
|
, decltype(_impl_.sensorid_){}
|
||||||
|
, decltype(_impl_.entityidentifier_){nullptr}
|
||||||
|
, decltype(_impl_.radartrack_){nullptr}
|
||||||
|
, decltype(_impl_.esmtrack_){nullptr}
|
||||||
|
, decltype(_impl_.timestamp_){nullptr}
|
||||||
|
, decltype(_impl_.duration_){nullptr}
|
||||||
|
, decltype(_impl_.trackkind_){0u}
|
||||||
|
};
|
||||||
|
_impl_.sensorid_.InitDefault();
|
||||||
|
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
|
||||||
|
_impl_.sensorid_.Set("", GetArenaForAllocation());
|
||||||
|
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
|
||||||
|
}
|
||||||
|
|
||||||
|
SensorTrack::~SensorTrack() {
|
||||||
|
// @@protoc_insertion_point(destructor:messages.track.SensorTrack)
|
||||||
|
if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
|
||||||
|
(void)arena;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
SharedDtor();
|
||||||
|
}
|
||||||
|
|
||||||
|
inline void SensorTrack::SharedDtor() {
|
||||||
|
GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
|
||||||
|
_impl_.sensorid_.Destroy();
|
||||||
|
if (this != internal_default_instance()) delete _impl_.entityidentifier_;
|
||||||
|
if (this != internal_default_instance()) delete _impl_.radartrack_;
|
||||||
|
if (this != internal_default_instance()) delete _impl_.esmtrack_;
|
||||||
|
if (this != internal_default_instance()) delete _impl_.timestamp_;
|
||||||
|
if (this != internal_default_instance()) delete _impl_.duration_;
|
||||||
|
}
|
||||||
|
|
||||||
|
void SensorTrack::SetCachedSize(int size) const {
|
||||||
|
_impl_._cached_size_.Set(size);
|
||||||
|
}
|
||||||
|
|
||||||
|
void SensorTrack::Clear() {
|
||||||
|
// @@protoc_insertion_point(message_clear_start:messages.track.SensorTrack)
|
||||||
|
uint32_t cached_has_bits = 0;
|
||||||
|
// Prevent compiler warnings about cached_has_bits being unused
|
||||||
|
(void) cached_has_bits;
|
||||||
|
|
||||||
|
_impl_.sensorid_.ClearToEmpty();
|
||||||
|
if (GetArenaForAllocation() == nullptr && _impl_.entityidentifier_ != nullptr) {
|
||||||
|
delete _impl_.entityidentifier_;
|
||||||
|
}
|
||||||
|
_impl_.entityidentifier_ = nullptr;
|
||||||
|
cached_has_bits = _impl_._has_bits_[0];
|
||||||
|
if (cached_has_bits & 0x00000003u) {
|
||||||
|
if (cached_has_bits & 0x00000001u) {
|
||||||
|
GOOGLE_DCHECK(_impl_.radartrack_ != nullptr);
|
||||||
|
_impl_.radartrack_->Clear();
|
||||||
|
}
|
||||||
|
if (cached_has_bits & 0x00000002u) {
|
||||||
|
GOOGLE_DCHECK(_impl_.esmtrack_ != nullptr);
|
||||||
|
_impl_.esmtrack_->Clear();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (GetArenaForAllocation() == nullptr && _impl_.timestamp_ != nullptr) {
|
||||||
|
delete _impl_.timestamp_;
|
||||||
|
}
|
||||||
|
_impl_.timestamp_ = nullptr;
|
||||||
|
if (GetArenaForAllocation() == nullptr && _impl_.duration_ != nullptr) {
|
||||||
|
delete _impl_.duration_;
|
||||||
|
}
|
||||||
|
_impl_.duration_ = nullptr;
|
||||||
|
_impl_.trackkind_ = 0u;
|
||||||
|
_impl_._has_bits_.Clear();
|
||||||
|
_internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
|
||||||
|
}
|
||||||
|
|
||||||
|
const char* SensorTrack::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
|
||||||
|
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
|
||||||
|
_Internal::HasBits has_bits{};
|
||||||
|
while (!ctx->Done(&ptr)) {
|
||||||
|
uint32_t tag;
|
||||||
|
ptr = ::_pbi::ReadTag(ptr, &tag);
|
||||||
|
switch (tag >> 3) {
|
||||||
|
// .messages.track.Identifier EntityIdentifier = 1;
|
||||||
|
case 1:
|
||||||
|
if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
|
||||||
|
ptr = ctx->ParseMessage(_internal_mutable_entityidentifier(), ptr);
|
||||||
|
CHK_(ptr);
|
||||||
|
} else
|
||||||
|
goto handle_unusual;
|
||||||
|
continue;
|
||||||
|
// string SensorID = 2;
|
||||||
|
case 2:
|
||||||
|
if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 18)) {
|
||||||
|
auto str = _internal_mutable_sensorid();
|
||||||
|
ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
|
||||||
|
CHK_(ptr);
|
||||||
|
CHK_(::_pbi::VerifyUTF8(str, "messages.track.SensorTrack.SensorID"));
|
||||||
|
} else
|
||||||
|
goto handle_unusual;
|
||||||
|
continue;
|
||||||
|
// uint32 TrackKind = 3;
|
||||||
|
case 3:
|
||||||
|
if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 24)) {
|
||||||
|
_impl_.trackkind_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
|
||||||
|
CHK_(ptr);
|
||||||
|
} else
|
||||||
|
goto handle_unusual;
|
||||||
|
continue;
|
||||||
|
// optional .messages.track.RadarTrack RadarTrack = 4;
|
||||||
|
case 4:
|
||||||
|
if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 34)) {
|
||||||
|
ptr = ctx->ParseMessage(_internal_mutable_radartrack(), ptr);
|
||||||
|
CHK_(ptr);
|
||||||
|
} else
|
||||||
|
goto handle_unusual;
|
||||||
|
continue;
|
||||||
|
// optional .messages.track.ESMTrack ESMTrack = 5;
|
||||||
|
case 5:
|
||||||
|
if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 42)) {
|
||||||
|
ptr = ctx->ParseMessage(_internal_mutable_esmtrack(), ptr);
|
||||||
|
CHK_(ptr);
|
||||||
|
} else
|
||||||
|
goto handle_unusual;
|
||||||
|
continue;
|
||||||
|
// .google.protobuf.Timestamp timestamp = 6;
|
||||||
|
case 6:
|
||||||
|
if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 50)) {
|
||||||
|
ptr = ctx->ParseMessage(_internal_mutable_timestamp(), ptr);
|
||||||
|
CHK_(ptr);
|
||||||
|
} else
|
||||||
|
goto handle_unusual;
|
||||||
|
continue;
|
||||||
|
// .google.protobuf.Duration duration = 7;
|
||||||
|
case 7:
|
||||||
|
if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 58)) {
|
||||||
|
ptr = ctx->ParseMessage(_internal_mutable_duration(), ptr);
|
||||||
|
CHK_(ptr);
|
||||||
|
} else
|
||||||
|
goto handle_unusual;
|
||||||
|
continue;
|
||||||
|
default:
|
||||||
|
goto handle_unusual;
|
||||||
|
} // switch
|
||||||
|
handle_unusual:
|
||||||
|
if ((tag == 0) || ((tag & 7) == 4)) {
|
||||||
|
CHK_(ptr);
|
||||||
|
ctx->SetLastTag(tag);
|
||||||
|
goto message_done;
|
||||||
|
}
|
||||||
|
ptr = UnknownFieldParse(
|
||||||
|
tag,
|
||||||
|
_internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
|
||||||
|
ptr, ctx);
|
||||||
|
CHK_(ptr != nullptr);
|
||||||
|
} // while
|
||||||
|
message_done:
|
||||||
|
_impl_._has_bits_.Or(has_bits);
|
||||||
|
return ptr;
|
||||||
|
failure:
|
||||||
|
ptr = nullptr;
|
||||||
|
goto message_done;
|
||||||
|
#undef CHK_
|
||||||
|
}
|
||||||
|
|
||||||
|
uint8_t* SensorTrack::_InternalSerialize(
|
||||||
|
uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
|
||||||
|
// @@protoc_insertion_point(serialize_to_array_start:messages.track.SensorTrack)
|
||||||
|
uint32_t cached_has_bits = 0;
|
||||||
|
(void) cached_has_bits;
|
||||||
|
|
||||||
|
// .messages.track.Identifier EntityIdentifier = 1;
|
||||||
|
if (this->_internal_has_entityidentifier()) {
|
||||||
|
target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
|
||||||
|
InternalWriteMessage(1, _Internal::entityidentifier(this),
|
||||||
|
_Internal::entityidentifier(this).GetCachedSize(), target, stream);
|
||||||
|
}
|
||||||
|
|
||||||
|
// string SensorID = 2;
|
||||||
|
if (!this->_internal_sensorid().empty()) {
|
||||||
|
::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
|
||||||
|
this->_internal_sensorid().data(), static_cast<int>(this->_internal_sensorid().length()),
|
||||||
|
::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
|
||||||
|
"messages.track.SensorTrack.SensorID");
|
||||||
|
target = stream->WriteStringMaybeAliased(
|
||||||
|
2, this->_internal_sensorid(), target);
|
||||||
|
}
|
||||||
|
|
||||||
|
// uint32 TrackKind = 3;
|
||||||
|
if (this->_internal_trackkind() != 0) {
|
||||||
|
target = stream->EnsureSpace(target);
|
||||||
|
target = ::_pbi::WireFormatLite::WriteUInt32ToArray(3, this->_internal_trackkind(), target);
|
||||||
|
}
|
||||||
|
|
||||||
|
// optional .messages.track.RadarTrack RadarTrack = 4;
|
||||||
|
if (_internal_has_radartrack()) {
|
||||||
|
target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
|
||||||
|
InternalWriteMessage(4, _Internal::radartrack(this),
|
||||||
|
_Internal::radartrack(this).GetCachedSize(), target, stream);
|
||||||
|
}
|
||||||
|
|
||||||
|
// optional .messages.track.ESMTrack ESMTrack = 5;
|
||||||
|
if (_internal_has_esmtrack()) {
|
||||||
|
target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
|
||||||
|
InternalWriteMessage(5, _Internal::esmtrack(this),
|
||||||
|
_Internal::esmtrack(this).GetCachedSize(), target, stream);
|
||||||
|
}
|
||||||
|
|
||||||
|
// .google.protobuf.Timestamp timestamp = 6;
|
||||||
|
if (this->_internal_has_timestamp()) {
|
||||||
|
target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
|
||||||
|
InternalWriteMessage(6, _Internal::timestamp(this),
|
||||||
|
_Internal::timestamp(this).GetCachedSize(), target, stream);
|
||||||
|
}
|
||||||
|
|
||||||
|
// .google.protobuf.Duration duration = 7;
|
||||||
|
if (this->_internal_has_duration()) {
|
||||||
|
target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
|
||||||
|
InternalWriteMessage(7, _Internal::duration(this),
|
||||||
|
_Internal::duration(this).GetCachedSize(), target, stream);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
|
||||||
|
target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
|
||||||
|
_internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
|
||||||
|
}
|
||||||
|
// @@protoc_insertion_point(serialize_to_array_end:messages.track.SensorTrack)
|
||||||
|
return target;
|
||||||
|
}
|
||||||
|
|
||||||
|
size_t SensorTrack::ByteSizeLong() const {
|
||||||
|
// @@protoc_insertion_point(message_byte_size_start:messages.track.SensorTrack)
|
||||||
|
size_t total_size = 0;
|
||||||
|
|
||||||
|
uint32_t cached_has_bits = 0;
|
||||||
|
// Prevent compiler warnings about cached_has_bits being unused
|
||||||
|
(void) cached_has_bits;
|
||||||
|
|
||||||
|
// string SensorID = 2;
|
||||||
|
if (!this->_internal_sensorid().empty()) {
|
||||||
|
total_size += 1 +
|
||||||
|
::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
|
||||||
|
this->_internal_sensorid());
|
||||||
|
}
|
||||||
|
|
||||||
|
// .messages.track.Identifier EntityIdentifier = 1;
|
||||||
|
if (this->_internal_has_entityidentifier()) {
|
||||||
|
total_size += 1 +
|
||||||
|
::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
|
||||||
|
*_impl_.entityidentifier_);
|
||||||
|
}
|
||||||
|
|
||||||
|
cached_has_bits = _impl_._has_bits_[0];
|
||||||
|
if (cached_has_bits & 0x00000003u) {
|
||||||
|
// optional .messages.track.RadarTrack RadarTrack = 4;
|
||||||
|
if (cached_has_bits & 0x00000001u) {
|
||||||
|
total_size += 1 +
|
||||||
|
::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
|
||||||
|
*_impl_.radartrack_);
|
||||||
|
}
|
||||||
|
|
||||||
|
// optional .messages.track.ESMTrack ESMTrack = 5;
|
||||||
|
if (cached_has_bits & 0x00000002u) {
|
||||||
|
total_size += 1 +
|
||||||
|
::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
|
||||||
|
*_impl_.esmtrack_);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
// .google.protobuf.Timestamp timestamp = 6;
|
||||||
|
if (this->_internal_has_timestamp()) {
|
||||||
|
total_size += 1 +
|
||||||
|
::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
|
||||||
|
*_impl_.timestamp_);
|
||||||
|
}
|
||||||
|
|
||||||
|
// .google.protobuf.Duration duration = 7;
|
||||||
|
if (this->_internal_has_duration()) {
|
||||||
|
total_size += 1 +
|
||||||
|
::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
|
||||||
|
*_impl_.duration_);
|
||||||
|
}
|
||||||
|
|
||||||
|
// uint32 TrackKind = 3;
|
||||||
|
if (this->_internal_trackkind() != 0) {
|
||||||
|
total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_trackkind());
|
||||||
|
}
|
||||||
|
|
||||||
|
return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
|
||||||
|
}
|
||||||
|
|
||||||
|
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData SensorTrack::_class_data_ = {
|
||||||
|
::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
|
||||||
|
SensorTrack::MergeImpl
|
||||||
|
};
|
||||||
|
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*SensorTrack::GetClassData() const { return &_class_data_; }
|
||||||
|
|
||||||
|
|
||||||
|
void SensorTrack::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
|
||||||
|
auto* const _this = static_cast<SensorTrack*>(&to_msg);
|
||||||
|
auto& from = static_cast<const SensorTrack&>(from_msg);
|
||||||
|
// @@protoc_insertion_point(class_specific_merge_from_start:messages.track.SensorTrack)
|
||||||
|
GOOGLE_DCHECK_NE(&from, _this);
|
||||||
|
uint32_t cached_has_bits = 0;
|
||||||
|
(void) cached_has_bits;
|
||||||
|
|
||||||
|
if (!from._internal_sensorid().empty()) {
|
||||||
|
_this->_internal_set_sensorid(from._internal_sensorid());
|
||||||
|
}
|
||||||
|
if (from._internal_has_entityidentifier()) {
|
||||||
|
_this->_internal_mutable_entityidentifier()->::messages::track::Identifier::MergeFrom(
|
||||||
|
from._internal_entityidentifier());
|
||||||
|
}
|
||||||
|
cached_has_bits = from._impl_._has_bits_[0];
|
||||||
|
if (cached_has_bits & 0x00000003u) {
|
||||||
|
if (cached_has_bits & 0x00000001u) {
|
||||||
|
_this->_internal_mutable_radartrack()->::messages::track::RadarTrack::MergeFrom(
|
||||||
|
from._internal_radartrack());
|
||||||
|
}
|
||||||
|
if (cached_has_bits & 0x00000002u) {
|
||||||
|
_this->_internal_mutable_esmtrack()->::messages::track::ESMTrack::MergeFrom(
|
||||||
|
from._internal_esmtrack());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (from._internal_has_timestamp()) {
|
||||||
|
_this->_internal_mutable_timestamp()->::PROTOBUF_NAMESPACE_ID::Timestamp::MergeFrom(
|
||||||
|
from._internal_timestamp());
|
||||||
|
}
|
||||||
|
if (from._internal_has_duration()) {
|
||||||
|
_this->_internal_mutable_duration()->::PROTOBUF_NAMESPACE_ID::Duration::MergeFrom(
|
||||||
|
from._internal_duration());
|
||||||
|
}
|
||||||
|
if (from._internal_trackkind() != 0) {
|
||||||
|
_this->_internal_set_trackkind(from._internal_trackkind());
|
||||||
|
}
|
||||||
|
_this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
|
||||||
|
}
|
||||||
|
|
||||||
|
void SensorTrack::CopyFrom(const SensorTrack& from) {
|
||||||
|
// @@protoc_insertion_point(class_specific_copy_from_start:messages.track.SensorTrack)
|
||||||
|
if (&from == this) return;
|
||||||
|
Clear();
|
||||||
|
MergeFrom(from);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool SensorTrack::IsInitialized() const {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
void SensorTrack::InternalSwap(SensorTrack* other) {
|
||||||
|
using std::swap;
|
||||||
|
auto* lhs_arena = GetArenaForAllocation();
|
||||||
|
auto* rhs_arena = other->GetArenaForAllocation();
|
||||||
|
_internal_metadata_.InternalSwap(&other->_internal_metadata_);
|
||||||
|
swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
|
||||||
|
::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
|
||||||
|
&_impl_.sensorid_, lhs_arena,
|
||||||
|
&other->_impl_.sensorid_, rhs_arena
|
||||||
|
);
|
||||||
|
::PROTOBUF_NAMESPACE_ID::internal::memswap<
|
||||||
|
PROTOBUF_FIELD_OFFSET(SensorTrack, _impl_.trackkind_)
|
||||||
|
+ sizeof(SensorTrack::_impl_.trackkind_)
|
||||||
|
- PROTOBUF_FIELD_OFFSET(SensorTrack, _impl_.entityidentifier_)>(
|
||||||
|
reinterpret_cast<char*>(&_impl_.entityidentifier_),
|
||||||
|
reinterpret_cast<char*>(&other->_impl_.entityidentifier_));
|
||||||
|
}
|
||||||
|
|
||||||
|
::PROTOBUF_NAMESPACE_ID::Metadata SensorTrack::GetMetadata() const {
|
||||||
|
return ::_pbi::AssignDescriptors(
|
||||||
|
&descriptor_table_SensorTrack_2eproto_getter, &descriptor_table_SensorTrack_2eproto_once,
|
||||||
|
file_level_metadata_SensorTrack_2eproto[0]);
|
||||||
|
}
|
||||||
|
|
||||||
|
// @@protoc_insertion_point(namespace_scope)
|
||||||
|
} // namespace track
|
||||||
|
} // namespace messages
|
||||||
|
PROTOBUF_NAMESPACE_OPEN
|
||||||
|
template<> PROTOBUF_NOINLINE ::messages::track::SensorTrack*
|
||||||
|
Arena::CreateMaybeMessage< ::messages::track::SensorTrack >(Arena* arena) {
|
||||||
|
return Arena::CreateMessageInternal< ::messages::track::SensorTrack >(arena);
|
||||||
|
}
|
||||||
|
PROTOBUF_NAMESPACE_CLOSE
|
||||||
|
|
||||||
|
// @@protoc_insertion_point(global_scope)
|
||||||
|
#include <google/protobuf/port_undef.inc>
|
||||||
852
include/SimCore/Messages/Protos/SensorTrack.pb.h
Normal file
852
include/SimCore/Messages/Protos/SensorTrack.pb.h
Normal file
@@ -0,0 +1,852 @@
|
|||||||
|
// Generated by the protocol buffer compiler. DO NOT EDIT!
|
||||||
|
// source: SensorTrack.proto
|
||||||
|
|
||||||
|
#ifndef GOOGLE_PROTOBUF_INCLUDED_SensorTrack_2eproto
|
||||||
|
#define GOOGLE_PROTOBUF_INCLUDED_SensorTrack_2eproto
|
||||||
|
|
||||||
|
#include <limits>
|
||||||
|
#include <string>
|
||||||
|
|
||||||
|
#include <google/protobuf/port_def.inc>
|
||||||
|
#if PROTOBUF_VERSION < 3021000
|
||||||
|
#error This file was generated by a newer version of protoc which is
|
||||||
|
#error incompatible with your Protocol Buffer headers. Please update
|
||||||
|
#error your headers.
|
||||||
|
#endif
|
||||||
|
#if 3021012 < PROTOBUF_MIN_PROTOC_VERSION
|
||||||
|
#error This file was generated by an older version of protoc which is
|
||||||
|
#error incompatible with your Protocol Buffer headers. Please
|
||||||
|
#error regenerate this file with a newer version of protoc.
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include <google/protobuf/port_undef.inc>
|
||||||
|
#include <google/protobuf/io/coded_stream.h>
|
||||||
|
#include <google/protobuf/arena.h>
|
||||||
|
#include <google/protobuf/arenastring.h>
|
||||||
|
#include <google/protobuf/generated_message_util.h>
|
||||||
|
#include <google/protobuf/metadata_lite.h>
|
||||||
|
#include <google/protobuf/generated_message_reflection.h>
|
||||||
|
#include <google/protobuf/message.h>
|
||||||
|
#include <google/protobuf/repeated_field.h> // IWYU pragma: export
|
||||||
|
#include <google/protobuf/extension_set.h> // IWYU pragma: export
|
||||||
|
#include <google/protobuf/unknown_field_set.h>
|
||||||
|
#include <google/protobuf/timestamp.pb.h>
|
||||||
|
#include <google/protobuf/duration.pb.h>
|
||||||
|
#include "Identifier.pb.h"
|
||||||
|
#include "RadarTrack.pb.h"
|
||||||
|
#include "ESMTrack.pb.h"
|
||||||
|
// @@protoc_insertion_point(includes)
|
||||||
|
#include <google/protobuf/port_def.inc>
|
||||||
|
#define PROTOBUF_INTERNAL_EXPORT_SensorTrack_2eproto
|
||||||
|
PROTOBUF_NAMESPACE_OPEN
|
||||||
|
namespace internal {
|
||||||
|
class AnyMetadata;
|
||||||
|
} // namespace internal
|
||||||
|
PROTOBUF_NAMESPACE_CLOSE
|
||||||
|
|
||||||
|
// Internal implementation detail -- do not use these members.
|
||||||
|
struct TableStruct_SensorTrack_2eproto {
|
||||||
|
static const uint32_t offsets[];
|
||||||
|
};
|
||||||
|
extern const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_SensorTrack_2eproto;
|
||||||
|
namespace messages {
|
||||||
|
namespace track {
|
||||||
|
class SensorTrack;
|
||||||
|
struct SensorTrackDefaultTypeInternal;
|
||||||
|
extern SensorTrackDefaultTypeInternal _SensorTrack_default_instance_;
|
||||||
|
} // namespace track
|
||||||
|
} // namespace messages
|
||||||
|
PROTOBUF_NAMESPACE_OPEN
|
||||||
|
template<> ::messages::track::SensorTrack* Arena::CreateMaybeMessage<::messages::track::SensorTrack>(Arena*);
|
||||||
|
PROTOBUF_NAMESPACE_CLOSE
|
||||||
|
namespace messages {
|
||||||
|
namespace track {
|
||||||
|
|
||||||
|
// ===================================================================
|
||||||
|
|
||||||
|
class SensorTrack final :
|
||||||
|
public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:messages.track.SensorTrack) */ {
|
||||||
|
public:
|
||||||
|
inline SensorTrack() : SensorTrack(nullptr) {}
|
||||||
|
~SensorTrack() override;
|
||||||
|
explicit PROTOBUF_CONSTEXPR SensorTrack(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
|
||||||
|
|
||||||
|
SensorTrack(const SensorTrack& from);
|
||||||
|
SensorTrack(SensorTrack&& from) noexcept
|
||||||
|
: SensorTrack() {
|
||||||
|
*this = ::std::move(from);
|
||||||
|
}
|
||||||
|
|
||||||
|
inline SensorTrack& operator=(const SensorTrack& from) {
|
||||||
|
CopyFrom(from);
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
inline SensorTrack& operator=(SensorTrack&& from) noexcept {
|
||||||
|
if (this == &from) return *this;
|
||||||
|
if (GetOwningArena() == from.GetOwningArena()
|
||||||
|
#ifdef PROTOBUF_FORCE_COPY_IN_MOVE
|
||||||
|
&& GetOwningArena() != nullptr
|
||||||
|
#endif // !PROTOBUF_FORCE_COPY_IN_MOVE
|
||||||
|
) {
|
||||||
|
InternalSwap(&from);
|
||||||
|
} else {
|
||||||
|
CopyFrom(from);
|
||||||
|
}
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
|
||||||
|
static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
|
||||||
|
return GetDescriptor();
|
||||||
|
}
|
||||||
|
static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
|
||||||
|
return default_instance().GetMetadata().descriptor;
|
||||||
|
}
|
||||||
|
static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
|
||||||
|
return default_instance().GetMetadata().reflection;
|
||||||
|
}
|
||||||
|
static const SensorTrack& default_instance() {
|
||||||
|
return *internal_default_instance();
|
||||||
|
}
|
||||||
|
static inline const SensorTrack* internal_default_instance() {
|
||||||
|
return reinterpret_cast<const SensorTrack*>(
|
||||||
|
&_SensorTrack_default_instance_);
|
||||||
|
}
|
||||||
|
static constexpr int kIndexInFileMessages =
|
||||||
|
0;
|
||||||
|
|
||||||
|
friend void swap(SensorTrack& a, SensorTrack& b) {
|
||||||
|
a.Swap(&b);
|
||||||
|
}
|
||||||
|
inline void Swap(SensorTrack* other) {
|
||||||
|
if (other == this) return;
|
||||||
|
#ifdef PROTOBUF_FORCE_COPY_IN_SWAP
|
||||||
|
if (GetOwningArena() != nullptr &&
|
||||||
|
GetOwningArena() == other->GetOwningArena()) {
|
||||||
|
#else // PROTOBUF_FORCE_COPY_IN_SWAP
|
||||||
|
if (GetOwningArena() == other->GetOwningArena()) {
|
||||||
|
#endif // !PROTOBUF_FORCE_COPY_IN_SWAP
|
||||||
|
InternalSwap(other);
|
||||||
|
} else {
|
||||||
|
::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
void UnsafeArenaSwap(SensorTrack* other) {
|
||||||
|
if (other == this) return;
|
||||||
|
GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
|
||||||
|
InternalSwap(other);
|
||||||
|
}
|
||||||
|
|
||||||
|
// implements Message ----------------------------------------------
|
||||||
|
|
||||||
|
SensorTrack* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
|
||||||
|
return CreateMaybeMessage<SensorTrack>(arena);
|
||||||
|
}
|
||||||
|
using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
|
||||||
|
void CopyFrom(const SensorTrack& from);
|
||||||
|
using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
|
||||||
|
void MergeFrom( const SensorTrack& from) {
|
||||||
|
SensorTrack::MergeImpl(*this, from);
|
||||||
|
}
|
||||||
|
private:
|
||||||
|
static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg);
|
||||||
|
public:
|
||||||
|
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
|
||||||
|
bool IsInitialized() const final;
|
||||||
|
|
||||||
|
size_t ByteSizeLong() const final;
|
||||||
|
const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
|
||||||
|
uint8_t* _InternalSerialize(
|
||||||
|
uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
|
||||||
|
int GetCachedSize() const final { return _impl_._cached_size_.Get(); }
|
||||||
|
|
||||||
|
private:
|
||||||
|
void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
|
||||||
|
void SharedDtor();
|
||||||
|
void SetCachedSize(int size) const final;
|
||||||
|
void InternalSwap(SensorTrack* other);
|
||||||
|
|
||||||
|
private:
|
||||||
|
friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
|
||||||
|
static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
|
||||||
|
return "messages.track.SensorTrack";
|
||||||
|
}
|
||||||
|
protected:
|
||||||
|
explicit SensorTrack(::PROTOBUF_NAMESPACE_ID::Arena* arena,
|
||||||
|
bool is_message_owned = false);
|
||||||
|
public:
|
||||||
|
|
||||||
|
static const ClassData _class_data_;
|
||||||
|
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
|
||||||
|
|
||||||
|
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
|
||||||
|
|
||||||
|
// nested types ----------------------------------------------------
|
||||||
|
|
||||||
|
// accessors -------------------------------------------------------
|
||||||
|
|
||||||
|
enum : int {
|
||||||
|
kSensorIDFieldNumber = 2,
|
||||||
|
kEntityIdentifierFieldNumber = 1,
|
||||||
|
kRadarTrackFieldNumber = 4,
|
||||||
|
kESMTrackFieldNumber = 5,
|
||||||
|
kTimestampFieldNumber = 6,
|
||||||
|
kDurationFieldNumber = 7,
|
||||||
|
kTrackKindFieldNumber = 3,
|
||||||
|
};
|
||||||
|
// string SensorID = 2;
|
||||||
|
void clear_sensorid();
|
||||||
|
const std::string& sensorid() const;
|
||||||
|
template <typename ArgT0 = const std::string&, typename... ArgT>
|
||||||
|
void set_sensorid(ArgT0&& arg0, ArgT... args);
|
||||||
|
std::string* mutable_sensorid();
|
||||||
|
PROTOBUF_NODISCARD std::string* release_sensorid();
|
||||||
|
void set_allocated_sensorid(std::string* sensorid);
|
||||||
|
private:
|
||||||
|
const std::string& _internal_sensorid() const;
|
||||||
|
inline PROTOBUF_ALWAYS_INLINE void _internal_set_sensorid(const std::string& value);
|
||||||
|
std::string* _internal_mutable_sensorid();
|
||||||
|
public:
|
||||||
|
|
||||||
|
// .messages.track.Identifier EntityIdentifier = 1;
|
||||||
|
bool has_entityidentifier() const;
|
||||||
|
private:
|
||||||
|
bool _internal_has_entityidentifier() const;
|
||||||
|
public:
|
||||||
|
void clear_entityidentifier();
|
||||||
|
const ::messages::track::Identifier& entityidentifier() const;
|
||||||
|
PROTOBUF_NODISCARD ::messages::track::Identifier* release_entityidentifier();
|
||||||
|
::messages::track::Identifier* mutable_entityidentifier();
|
||||||
|
void set_allocated_entityidentifier(::messages::track::Identifier* entityidentifier);
|
||||||
|
private:
|
||||||
|
const ::messages::track::Identifier& _internal_entityidentifier() const;
|
||||||
|
::messages::track::Identifier* _internal_mutable_entityidentifier();
|
||||||
|
public:
|
||||||
|
void unsafe_arena_set_allocated_entityidentifier(
|
||||||
|
::messages::track::Identifier* entityidentifier);
|
||||||
|
::messages::track::Identifier* unsafe_arena_release_entityidentifier();
|
||||||
|
|
||||||
|
// optional .messages.track.RadarTrack RadarTrack = 4;
|
||||||
|
bool has_radartrack() const;
|
||||||
|
private:
|
||||||
|
bool _internal_has_radartrack() const;
|
||||||
|
public:
|
||||||
|
void clear_radartrack();
|
||||||
|
const ::messages::track::RadarTrack& radartrack() const;
|
||||||
|
PROTOBUF_NODISCARD ::messages::track::RadarTrack* release_radartrack();
|
||||||
|
::messages::track::RadarTrack* mutable_radartrack();
|
||||||
|
void set_allocated_radartrack(::messages::track::RadarTrack* radartrack);
|
||||||
|
private:
|
||||||
|
const ::messages::track::RadarTrack& _internal_radartrack() const;
|
||||||
|
::messages::track::RadarTrack* _internal_mutable_radartrack();
|
||||||
|
public:
|
||||||
|
void unsafe_arena_set_allocated_radartrack(
|
||||||
|
::messages::track::RadarTrack* radartrack);
|
||||||
|
::messages::track::RadarTrack* unsafe_arena_release_radartrack();
|
||||||
|
|
||||||
|
// optional .messages.track.ESMTrack ESMTrack = 5;
|
||||||
|
bool has_esmtrack() const;
|
||||||
|
private:
|
||||||
|
bool _internal_has_esmtrack() const;
|
||||||
|
public:
|
||||||
|
void clear_esmtrack();
|
||||||
|
const ::messages::track::ESMTrack& esmtrack() const;
|
||||||
|
PROTOBUF_NODISCARD ::messages::track::ESMTrack* release_esmtrack();
|
||||||
|
::messages::track::ESMTrack* mutable_esmtrack();
|
||||||
|
void set_allocated_esmtrack(::messages::track::ESMTrack* esmtrack);
|
||||||
|
private:
|
||||||
|
const ::messages::track::ESMTrack& _internal_esmtrack() const;
|
||||||
|
::messages::track::ESMTrack* _internal_mutable_esmtrack();
|
||||||
|
public:
|
||||||
|
void unsafe_arena_set_allocated_esmtrack(
|
||||||
|
::messages::track::ESMTrack* esmtrack);
|
||||||
|
::messages::track::ESMTrack* unsafe_arena_release_esmtrack();
|
||||||
|
|
||||||
|
// .google.protobuf.Timestamp timestamp = 6;
|
||||||
|
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();
|
||||||
|
|
||||||
|
// .google.protobuf.Duration duration = 7;
|
||||||
|
bool has_duration() const;
|
||||||
|
private:
|
||||||
|
bool _internal_has_duration() const;
|
||||||
|
public:
|
||||||
|
void clear_duration();
|
||||||
|
const ::PROTOBUF_NAMESPACE_ID::Duration& duration() const;
|
||||||
|
PROTOBUF_NODISCARD ::PROTOBUF_NAMESPACE_ID::Duration* release_duration();
|
||||||
|
::PROTOBUF_NAMESPACE_ID::Duration* mutable_duration();
|
||||||
|
void set_allocated_duration(::PROTOBUF_NAMESPACE_ID::Duration* duration);
|
||||||
|
private:
|
||||||
|
const ::PROTOBUF_NAMESPACE_ID::Duration& _internal_duration() const;
|
||||||
|
::PROTOBUF_NAMESPACE_ID::Duration* _internal_mutable_duration();
|
||||||
|
public:
|
||||||
|
void unsafe_arena_set_allocated_duration(
|
||||||
|
::PROTOBUF_NAMESPACE_ID::Duration* duration);
|
||||||
|
::PROTOBUF_NAMESPACE_ID::Duration* unsafe_arena_release_duration();
|
||||||
|
|
||||||
|
// uint32 TrackKind = 3;
|
||||||
|
void clear_trackkind();
|
||||||
|
uint32_t trackkind() const;
|
||||||
|
void set_trackkind(uint32_t value);
|
||||||
|
private:
|
||||||
|
uint32_t _internal_trackkind() const;
|
||||||
|
void _internal_set_trackkind(uint32_t value);
|
||||||
|
public:
|
||||||
|
|
||||||
|
// @@protoc_insertion_point(class_scope:messages.track.SensorTrack)
|
||||||
|
private:
|
||||||
|
class _Internal;
|
||||||
|
|
||||||
|
template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
|
||||||
|
typedef void InternalArenaConstructable_;
|
||||||
|
typedef void DestructorSkippable_;
|
||||||
|
struct Impl_ {
|
||||||
|
::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
|
||||||
|
mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
|
||||||
|
::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr sensorid_;
|
||||||
|
::messages::track::Identifier* entityidentifier_;
|
||||||
|
::messages::track::RadarTrack* radartrack_;
|
||||||
|
::messages::track::ESMTrack* esmtrack_;
|
||||||
|
::PROTOBUF_NAMESPACE_ID::Timestamp* timestamp_;
|
||||||
|
::PROTOBUF_NAMESPACE_ID::Duration* duration_;
|
||||||
|
uint32_t trackkind_;
|
||||||
|
};
|
||||||
|
union { Impl_ _impl_; };
|
||||||
|
friend struct ::TableStruct_SensorTrack_2eproto;
|
||||||
|
};
|
||||||
|
// ===================================================================
|
||||||
|
|
||||||
|
|
||||||
|
// ===================================================================
|
||||||
|
|
||||||
|
#ifdef __GNUC__
|
||||||
|
#pragma GCC diagnostic push
|
||||||
|
#pragma GCC diagnostic ignored "-Wstrict-aliasing"
|
||||||
|
#endif // __GNUC__
|
||||||
|
// SensorTrack
|
||||||
|
|
||||||
|
// .messages.track.Identifier EntityIdentifier = 1;
|
||||||
|
inline bool SensorTrack::_internal_has_entityidentifier() const {
|
||||||
|
return this != internal_default_instance() && _impl_.entityidentifier_ != nullptr;
|
||||||
|
}
|
||||||
|
inline bool SensorTrack::has_entityidentifier() const {
|
||||||
|
return _internal_has_entityidentifier();
|
||||||
|
}
|
||||||
|
inline const ::messages::track::Identifier& SensorTrack::_internal_entityidentifier() const {
|
||||||
|
const ::messages::track::Identifier* p = _impl_.entityidentifier_;
|
||||||
|
return p != nullptr ? *p : reinterpret_cast<const ::messages::track::Identifier&>(
|
||||||
|
::messages::track::_Identifier_default_instance_);
|
||||||
|
}
|
||||||
|
inline const ::messages::track::Identifier& SensorTrack::entityidentifier() const {
|
||||||
|
// @@protoc_insertion_point(field_get:messages.track.SensorTrack.EntityIdentifier)
|
||||||
|
return _internal_entityidentifier();
|
||||||
|
}
|
||||||
|
inline void SensorTrack::unsafe_arena_set_allocated_entityidentifier(
|
||||||
|
::messages::track::Identifier* entityidentifier) {
|
||||||
|
if (GetArenaForAllocation() == nullptr) {
|
||||||
|
delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.entityidentifier_);
|
||||||
|
}
|
||||||
|
_impl_.entityidentifier_ = entityidentifier;
|
||||||
|
if (entityidentifier) {
|
||||||
|
|
||||||
|
} else {
|
||||||
|
|
||||||
|
}
|
||||||
|
// @@protoc_insertion_point(field_unsafe_arena_set_allocated:messages.track.SensorTrack.EntityIdentifier)
|
||||||
|
}
|
||||||
|
inline ::messages::track::Identifier* SensorTrack::release_entityidentifier() {
|
||||||
|
|
||||||
|
::messages::track::Identifier* temp = _impl_.entityidentifier_;
|
||||||
|
_impl_.entityidentifier_ = nullptr;
|
||||||
|
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
|
||||||
|
auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
|
||||||
|
temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
|
||||||
|
if (GetArenaForAllocation() == nullptr) { delete old; }
|
||||||
|
#else // PROTOBUF_FORCE_COPY_IN_RELEASE
|
||||||
|
if (GetArenaForAllocation() != nullptr) {
|
||||||
|
temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
|
||||||
|
}
|
||||||
|
#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE
|
||||||
|
return temp;
|
||||||
|
}
|
||||||
|
inline ::messages::track::Identifier* SensorTrack::unsafe_arena_release_entityidentifier() {
|
||||||
|
// @@protoc_insertion_point(field_release:messages.track.SensorTrack.EntityIdentifier)
|
||||||
|
|
||||||
|
::messages::track::Identifier* temp = _impl_.entityidentifier_;
|
||||||
|
_impl_.entityidentifier_ = nullptr;
|
||||||
|
return temp;
|
||||||
|
}
|
||||||
|
inline ::messages::track::Identifier* SensorTrack::_internal_mutable_entityidentifier() {
|
||||||
|
|
||||||
|
if (_impl_.entityidentifier_ == nullptr) {
|
||||||
|
auto* p = CreateMaybeMessage<::messages::track::Identifier>(GetArenaForAllocation());
|
||||||
|
_impl_.entityidentifier_ = p;
|
||||||
|
}
|
||||||
|
return _impl_.entityidentifier_;
|
||||||
|
}
|
||||||
|
inline ::messages::track::Identifier* SensorTrack::mutable_entityidentifier() {
|
||||||
|
::messages::track::Identifier* _msg = _internal_mutable_entityidentifier();
|
||||||
|
// @@protoc_insertion_point(field_mutable:messages.track.SensorTrack.EntityIdentifier)
|
||||||
|
return _msg;
|
||||||
|
}
|
||||||
|
inline void SensorTrack::set_allocated_entityidentifier(::messages::track::Identifier* entityidentifier) {
|
||||||
|
::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
|
||||||
|
if (message_arena == nullptr) {
|
||||||
|
delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.entityidentifier_);
|
||||||
|
}
|
||||||
|
if (entityidentifier) {
|
||||||
|
::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
|
||||||
|
::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(
|
||||||
|
reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(entityidentifier));
|
||||||
|
if (message_arena != submessage_arena) {
|
||||||
|
entityidentifier = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
|
||||||
|
message_arena, entityidentifier, submessage_arena);
|
||||||
|
}
|
||||||
|
|
||||||
|
} else {
|
||||||
|
|
||||||
|
}
|
||||||
|
_impl_.entityidentifier_ = entityidentifier;
|
||||||
|
// @@protoc_insertion_point(field_set_allocated:messages.track.SensorTrack.EntityIdentifier)
|
||||||
|
}
|
||||||
|
|
||||||
|
// string SensorID = 2;
|
||||||
|
inline void SensorTrack::clear_sensorid() {
|
||||||
|
_impl_.sensorid_.ClearToEmpty();
|
||||||
|
}
|
||||||
|
inline const std::string& SensorTrack::sensorid() const {
|
||||||
|
// @@protoc_insertion_point(field_get:messages.track.SensorTrack.SensorID)
|
||||||
|
return _internal_sensorid();
|
||||||
|
}
|
||||||
|
template <typename ArgT0, typename... ArgT>
|
||||||
|
inline PROTOBUF_ALWAYS_INLINE
|
||||||
|
void SensorTrack::set_sensorid(ArgT0&& arg0, ArgT... args) {
|
||||||
|
|
||||||
|
_impl_.sensorid_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
|
||||||
|
// @@protoc_insertion_point(field_set:messages.track.SensorTrack.SensorID)
|
||||||
|
}
|
||||||
|
inline std::string* SensorTrack::mutable_sensorid() {
|
||||||
|
std::string* _s = _internal_mutable_sensorid();
|
||||||
|
// @@protoc_insertion_point(field_mutable:messages.track.SensorTrack.SensorID)
|
||||||
|
return _s;
|
||||||
|
}
|
||||||
|
inline const std::string& SensorTrack::_internal_sensorid() const {
|
||||||
|
return _impl_.sensorid_.Get();
|
||||||
|
}
|
||||||
|
inline void SensorTrack::_internal_set_sensorid(const std::string& value) {
|
||||||
|
|
||||||
|
_impl_.sensorid_.Set(value, GetArenaForAllocation());
|
||||||
|
}
|
||||||
|
inline std::string* SensorTrack::_internal_mutable_sensorid() {
|
||||||
|
|
||||||
|
return _impl_.sensorid_.Mutable(GetArenaForAllocation());
|
||||||
|
}
|
||||||
|
inline std::string* SensorTrack::release_sensorid() {
|
||||||
|
// @@protoc_insertion_point(field_release:messages.track.SensorTrack.SensorID)
|
||||||
|
return _impl_.sensorid_.Release();
|
||||||
|
}
|
||||||
|
inline void SensorTrack::set_allocated_sensorid(std::string* sensorid) {
|
||||||
|
if (sensorid != nullptr) {
|
||||||
|
|
||||||
|
} else {
|
||||||
|
|
||||||
|
}
|
||||||
|
_impl_.sensorid_.SetAllocated(sensorid, GetArenaForAllocation());
|
||||||
|
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
|
||||||
|
if (_impl_.sensorid_.IsDefault()) {
|
||||||
|
_impl_.sensorid_.Set("", GetArenaForAllocation());
|
||||||
|
}
|
||||||
|
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
|
||||||
|
// @@protoc_insertion_point(field_set_allocated:messages.track.SensorTrack.SensorID)
|
||||||
|
}
|
||||||
|
|
||||||
|
// uint32 TrackKind = 3;
|
||||||
|
inline void SensorTrack::clear_trackkind() {
|
||||||
|
_impl_.trackkind_ = 0u;
|
||||||
|
}
|
||||||
|
inline uint32_t SensorTrack::_internal_trackkind() const {
|
||||||
|
return _impl_.trackkind_;
|
||||||
|
}
|
||||||
|
inline uint32_t SensorTrack::trackkind() const {
|
||||||
|
// @@protoc_insertion_point(field_get:messages.track.SensorTrack.TrackKind)
|
||||||
|
return _internal_trackkind();
|
||||||
|
}
|
||||||
|
inline void SensorTrack::_internal_set_trackkind(uint32_t value) {
|
||||||
|
|
||||||
|
_impl_.trackkind_ = value;
|
||||||
|
}
|
||||||
|
inline void SensorTrack::set_trackkind(uint32_t value) {
|
||||||
|
_internal_set_trackkind(value);
|
||||||
|
// @@protoc_insertion_point(field_set:messages.track.SensorTrack.TrackKind)
|
||||||
|
}
|
||||||
|
|
||||||
|
// optional .messages.track.RadarTrack RadarTrack = 4;
|
||||||
|
inline bool SensorTrack::_internal_has_radartrack() const {
|
||||||
|
bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
|
||||||
|
PROTOBUF_ASSUME(!value || _impl_.radartrack_ != nullptr);
|
||||||
|
return value;
|
||||||
|
}
|
||||||
|
inline bool SensorTrack::has_radartrack() const {
|
||||||
|
return _internal_has_radartrack();
|
||||||
|
}
|
||||||
|
inline const ::messages::track::RadarTrack& SensorTrack::_internal_radartrack() const {
|
||||||
|
const ::messages::track::RadarTrack* p = _impl_.radartrack_;
|
||||||
|
return p != nullptr ? *p : reinterpret_cast<const ::messages::track::RadarTrack&>(
|
||||||
|
::messages::track::_RadarTrack_default_instance_);
|
||||||
|
}
|
||||||
|
inline const ::messages::track::RadarTrack& SensorTrack::radartrack() const {
|
||||||
|
// @@protoc_insertion_point(field_get:messages.track.SensorTrack.RadarTrack)
|
||||||
|
return _internal_radartrack();
|
||||||
|
}
|
||||||
|
inline void SensorTrack::unsafe_arena_set_allocated_radartrack(
|
||||||
|
::messages::track::RadarTrack* radartrack) {
|
||||||
|
if (GetArenaForAllocation() == nullptr) {
|
||||||
|
delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.radartrack_);
|
||||||
|
}
|
||||||
|
_impl_.radartrack_ = radartrack;
|
||||||
|
if (radartrack) {
|
||||||
|
_impl_._has_bits_[0] |= 0x00000001u;
|
||||||
|
} else {
|
||||||
|
_impl_._has_bits_[0] &= ~0x00000001u;
|
||||||
|
}
|
||||||
|
// @@protoc_insertion_point(field_unsafe_arena_set_allocated:messages.track.SensorTrack.RadarTrack)
|
||||||
|
}
|
||||||
|
inline ::messages::track::RadarTrack* SensorTrack::release_radartrack() {
|
||||||
|
_impl_._has_bits_[0] &= ~0x00000001u;
|
||||||
|
::messages::track::RadarTrack* temp = _impl_.radartrack_;
|
||||||
|
_impl_.radartrack_ = nullptr;
|
||||||
|
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
|
||||||
|
auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
|
||||||
|
temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
|
||||||
|
if (GetArenaForAllocation() == nullptr) { delete old; }
|
||||||
|
#else // PROTOBUF_FORCE_COPY_IN_RELEASE
|
||||||
|
if (GetArenaForAllocation() != nullptr) {
|
||||||
|
temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
|
||||||
|
}
|
||||||
|
#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE
|
||||||
|
return temp;
|
||||||
|
}
|
||||||
|
inline ::messages::track::RadarTrack* SensorTrack::unsafe_arena_release_radartrack() {
|
||||||
|
// @@protoc_insertion_point(field_release:messages.track.SensorTrack.RadarTrack)
|
||||||
|
_impl_._has_bits_[0] &= ~0x00000001u;
|
||||||
|
::messages::track::RadarTrack* temp = _impl_.radartrack_;
|
||||||
|
_impl_.radartrack_ = nullptr;
|
||||||
|
return temp;
|
||||||
|
}
|
||||||
|
inline ::messages::track::RadarTrack* SensorTrack::_internal_mutable_radartrack() {
|
||||||
|
_impl_._has_bits_[0] |= 0x00000001u;
|
||||||
|
if (_impl_.radartrack_ == nullptr) {
|
||||||
|
auto* p = CreateMaybeMessage<::messages::track::RadarTrack>(GetArenaForAllocation());
|
||||||
|
_impl_.radartrack_ = p;
|
||||||
|
}
|
||||||
|
return _impl_.radartrack_;
|
||||||
|
}
|
||||||
|
inline ::messages::track::RadarTrack* SensorTrack::mutable_radartrack() {
|
||||||
|
::messages::track::RadarTrack* _msg = _internal_mutable_radartrack();
|
||||||
|
// @@protoc_insertion_point(field_mutable:messages.track.SensorTrack.RadarTrack)
|
||||||
|
return _msg;
|
||||||
|
}
|
||||||
|
inline void SensorTrack::set_allocated_radartrack(::messages::track::RadarTrack* radartrack) {
|
||||||
|
::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
|
||||||
|
if (message_arena == nullptr) {
|
||||||
|
delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.radartrack_);
|
||||||
|
}
|
||||||
|
if (radartrack) {
|
||||||
|
::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
|
||||||
|
::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(
|
||||||
|
reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(radartrack));
|
||||||
|
if (message_arena != submessage_arena) {
|
||||||
|
radartrack = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
|
||||||
|
message_arena, radartrack, submessage_arena);
|
||||||
|
}
|
||||||
|
_impl_._has_bits_[0] |= 0x00000001u;
|
||||||
|
} else {
|
||||||
|
_impl_._has_bits_[0] &= ~0x00000001u;
|
||||||
|
}
|
||||||
|
_impl_.radartrack_ = radartrack;
|
||||||
|
// @@protoc_insertion_point(field_set_allocated:messages.track.SensorTrack.RadarTrack)
|
||||||
|
}
|
||||||
|
|
||||||
|
// optional .messages.track.ESMTrack ESMTrack = 5;
|
||||||
|
inline bool SensorTrack::_internal_has_esmtrack() const {
|
||||||
|
bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
|
||||||
|
PROTOBUF_ASSUME(!value || _impl_.esmtrack_ != nullptr);
|
||||||
|
return value;
|
||||||
|
}
|
||||||
|
inline bool SensorTrack::has_esmtrack() const {
|
||||||
|
return _internal_has_esmtrack();
|
||||||
|
}
|
||||||
|
inline const ::messages::track::ESMTrack& SensorTrack::_internal_esmtrack() const {
|
||||||
|
const ::messages::track::ESMTrack* p = _impl_.esmtrack_;
|
||||||
|
return p != nullptr ? *p : reinterpret_cast<const ::messages::track::ESMTrack&>(
|
||||||
|
::messages::track::_ESMTrack_default_instance_);
|
||||||
|
}
|
||||||
|
inline const ::messages::track::ESMTrack& SensorTrack::esmtrack() const {
|
||||||
|
// @@protoc_insertion_point(field_get:messages.track.SensorTrack.ESMTrack)
|
||||||
|
return _internal_esmtrack();
|
||||||
|
}
|
||||||
|
inline void SensorTrack::unsafe_arena_set_allocated_esmtrack(
|
||||||
|
::messages::track::ESMTrack* esmtrack) {
|
||||||
|
if (GetArenaForAllocation() == nullptr) {
|
||||||
|
delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.esmtrack_);
|
||||||
|
}
|
||||||
|
_impl_.esmtrack_ = esmtrack;
|
||||||
|
if (esmtrack) {
|
||||||
|
_impl_._has_bits_[0] |= 0x00000002u;
|
||||||
|
} else {
|
||||||
|
_impl_._has_bits_[0] &= ~0x00000002u;
|
||||||
|
}
|
||||||
|
// @@protoc_insertion_point(field_unsafe_arena_set_allocated:messages.track.SensorTrack.ESMTrack)
|
||||||
|
}
|
||||||
|
inline ::messages::track::ESMTrack* SensorTrack::release_esmtrack() {
|
||||||
|
_impl_._has_bits_[0] &= ~0x00000002u;
|
||||||
|
::messages::track::ESMTrack* temp = _impl_.esmtrack_;
|
||||||
|
_impl_.esmtrack_ = nullptr;
|
||||||
|
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
|
||||||
|
auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
|
||||||
|
temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
|
||||||
|
if (GetArenaForAllocation() == nullptr) { delete old; }
|
||||||
|
#else // PROTOBUF_FORCE_COPY_IN_RELEASE
|
||||||
|
if (GetArenaForAllocation() != nullptr) {
|
||||||
|
temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
|
||||||
|
}
|
||||||
|
#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE
|
||||||
|
return temp;
|
||||||
|
}
|
||||||
|
inline ::messages::track::ESMTrack* SensorTrack::unsafe_arena_release_esmtrack() {
|
||||||
|
// @@protoc_insertion_point(field_release:messages.track.SensorTrack.ESMTrack)
|
||||||
|
_impl_._has_bits_[0] &= ~0x00000002u;
|
||||||
|
::messages::track::ESMTrack* temp = _impl_.esmtrack_;
|
||||||
|
_impl_.esmtrack_ = nullptr;
|
||||||
|
return temp;
|
||||||
|
}
|
||||||
|
inline ::messages::track::ESMTrack* SensorTrack::_internal_mutable_esmtrack() {
|
||||||
|
_impl_._has_bits_[0] |= 0x00000002u;
|
||||||
|
if (_impl_.esmtrack_ == nullptr) {
|
||||||
|
auto* p = CreateMaybeMessage<::messages::track::ESMTrack>(GetArenaForAllocation());
|
||||||
|
_impl_.esmtrack_ = p;
|
||||||
|
}
|
||||||
|
return _impl_.esmtrack_;
|
||||||
|
}
|
||||||
|
inline ::messages::track::ESMTrack* SensorTrack::mutable_esmtrack() {
|
||||||
|
::messages::track::ESMTrack* _msg = _internal_mutable_esmtrack();
|
||||||
|
// @@protoc_insertion_point(field_mutable:messages.track.SensorTrack.ESMTrack)
|
||||||
|
return _msg;
|
||||||
|
}
|
||||||
|
inline void SensorTrack::set_allocated_esmtrack(::messages::track::ESMTrack* esmtrack) {
|
||||||
|
::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
|
||||||
|
if (message_arena == nullptr) {
|
||||||
|
delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.esmtrack_);
|
||||||
|
}
|
||||||
|
if (esmtrack) {
|
||||||
|
::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
|
||||||
|
::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(
|
||||||
|
reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(esmtrack));
|
||||||
|
if (message_arena != submessage_arena) {
|
||||||
|
esmtrack = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
|
||||||
|
message_arena, esmtrack, submessage_arena);
|
||||||
|
}
|
||||||
|
_impl_._has_bits_[0] |= 0x00000002u;
|
||||||
|
} else {
|
||||||
|
_impl_._has_bits_[0] &= ~0x00000002u;
|
||||||
|
}
|
||||||
|
_impl_.esmtrack_ = esmtrack;
|
||||||
|
// @@protoc_insertion_point(field_set_allocated:messages.track.SensorTrack.ESMTrack)
|
||||||
|
}
|
||||||
|
|
||||||
|
// .google.protobuf.Timestamp timestamp = 6;
|
||||||
|
inline bool SensorTrack::_internal_has_timestamp() const {
|
||||||
|
return this != internal_default_instance() && _impl_.timestamp_ != nullptr;
|
||||||
|
}
|
||||||
|
inline bool SensorTrack::has_timestamp() const {
|
||||||
|
return _internal_has_timestamp();
|
||||||
|
}
|
||||||
|
inline const ::PROTOBUF_NAMESPACE_ID::Timestamp& SensorTrack::_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& SensorTrack::timestamp() const {
|
||||||
|
// @@protoc_insertion_point(field_get:messages.track.SensorTrack.timestamp)
|
||||||
|
return _internal_timestamp();
|
||||||
|
}
|
||||||
|
inline void SensorTrack::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 {
|
||||||
|
|
||||||
|
}
|
||||||
|
// @@protoc_insertion_point(field_unsafe_arena_set_allocated:messages.track.SensorTrack.timestamp)
|
||||||
|
}
|
||||||
|
inline ::PROTOBUF_NAMESPACE_ID::Timestamp* SensorTrack::release_timestamp() {
|
||||||
|
|
||||||
|
::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_IN_RELEASE
|
||||||
|
return temp;
|
||||||
|
}
|
||||||
|
inline ::PROTOBUF_NAMESPACE_ID::Timestamp* SensorTrack::unsafe_arena_release_timestamp() {
|
||||||
|
// @@protoc_insertion_point(field_release:messages.track.SensorTrack.timestamp)
|
||||||
|
|
||||||
|
::PROTOBUF_NAMESPACE_ID::Timestamp* temp = _impl_.timestamp_;
|
||||||
|
_impl_.timestamp_ = nullptr;
|
||||||
|
return temp;
|
||||||
|
}
|
||||||
|
inline ::PROTOBUF_NAMESPACE_ID::Timestamp* SensorTrack::_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* SensorTrack::mutable_timestamp() {
|
||||||
|
::PROTOBUF_NAMESPACE_ID::Timestamp* _msg = _internal_mutable_timestamp();
|
||||||
|
// @@protoc_insertion_point(field_mutable:messages.track.SensorTrack.timestamp)
|
||||||
|
return _msg;
|
||||||
|
}
|
||||||
|
inline void SensorTrack::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.SensorTrack.timestamp)
|
||||||
|
}
|
||||||
|
|
||||||
|
// .google.protobuf.Duration duration = 7;
|
||||||
|
inline bool SensorTrack::_internal_has_duration() const {
|
||||||
|
return this != internal_default_instance() && _impl_.duration_ != nullptr;
|
||||||
|
}
|
||||||
|
inline bool SensorTrack::has_duration() const {
|
||||||
|
return _internal_has_duration();
|
||||||
|
}
|
||||||
|
inline const ::PROTOBUF_NAMESPACE_ID::Duration& SensorTrack::_internal_duration() const {
|
||||||
|
const ::PROTOBUF_NAMESPACE_ID::Duration* p = _impl_.duration_;
|
||||||
|
return p != nullptr ? *p : reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Duration&>(
|
||||||
|
::PROTOBUF_NAMESPACE_ID::_Duration_default_instance_);
|
||||||
|
}
|
||||||
|
inline const ::PROTOBUF_NAMESPACE_ID::Duration& SensorTrack::duration() const {
|
||||||
|
// @@protoc_insertion_point(field_get:messages.track.SensorTrack.duration)
|
||||||
|
return _internal_duration();
|
||||||
|
}
|
||||||
|
inline void SensorTrack::unsafe_arena_set_allocated_duration(
|
||||||
|
::PROTOBUF_NAMESPACE_ID::Duration* duration) {
|
||||||
|
if (GetArenaForAllocation() == nullptr) {
|
||||||
|
delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.duration_);
|
||||||
|
}
|
||||||
|
_impl_.duration_ = duration;
|
||||||
|
if (duration) {
|
||||||
|
|
||||||
|
} else {
|
||||||
|
|
||||||
|
}
|
||||||
|
// @@protoc_insertion_point(field_unsafe_arena_set_allocated:messages.track.SensorTrack.duration)
|
||||||
|
}
|
||||||
|
inline ::PROTOBUF_NAMESPACE_ID::Duration* SensorTrack::release_duration() {
|
||||||
|
|
||||||
|
::PROTOBUF_NAMESPACE_ID::Duration* temp = _impl_.duration_;
|
||||||
|
_impl_.duration_ = nullptr;
|
||||||
|
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
|
||||||
|
auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
|
||||||
|
temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
|
||||||
|
if (GetArenaForAllocation() == nullptr) { delete old; }
|
||||||
|
#else // PROTOBUF_FORCE_COPY_IN_RELEASE
|
||||||
|
if (GetArenaForAllocation() != nullptr) {
|
||||||
|
temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
|
||||||
|
}
|
||||||
|
#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE
|
||||||
|
return temp;
|
||||||
|
}
|
||||||
|
inline ::PROTOBUF_NAMESPACE_ID::Duration* SensorTrack::unsafe_arena_release_duration() {
|
||||||
|
// @@protoc_insertion_point(field_release:messages.track.SensorTrack.duration)
|
||||||
|
|
||||||
|
::PROTOBUF_NAMESPACE_ID::Duration* temp = _impl_.duration_;
|
||||||
|
_impl_.duration_ = nullptr;
|
||||||
|
return temp;
|
||||||
|
}
|
||||||
|
inline ::PROTOBUF_NAMESPACE_ID::Duration* SensorTrack::_internal_mutable_duration() {
|
||||||
|
|
||||||
|
if (_impl_.duration_ == nullptr) {
|
||||||
|
auto* p = CreateMaybeMessage<::PROTOBUF_NAMESPACE_ID::Duration>(GetArenaForAllocation());
|
||||||
|
_impl_.duration_ = p;
|
||||||
|
}
|
||||||
|
return _impl_.duration_;
|
||||||
|
}
|
||||||
|
inline ::PROTOBUF_NAMESPACE_ID::Duration* SensorTrack::mutable_duration() {
|
||||||
|
::PROTOBUF_NAMESPACE_ID::Duration* _msg = _internal_mutable_duration();
|
||||||
|
// @@protoc_insertion_point(field_mutable:messages.track.SensorTrack.duration)
|
||||||
|
return _msg;
|
||||||
|
}
|
||||||
|
inline void SensorTrack::set_allocated_duration(::PROTOBUF_NAMESPACE_ID::Duration* duration) {
|
||||||
|
::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
|
||||||
|
if (message_arena == nullptr) {
|
||||||
|
delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.duration_);
|
||||||
|
}
|
||||||
|
if (duration) {
|
||||||
|
::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
|
||||||
|
::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(
|
||||||
|
reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(duration));
|
||||||
|
if (message_arena != submessage_arena) {
|
||||||
|
duration = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
|
||||||
|
message_arena, duration, submessage_arena);
|
||||||
|
}
|
||||||
|
|
||||||
|
} else {
|
||||||
|
|
||||||
|
}
|
||||||
|
_impl_.duration_ = duration;
|
||||||
|
// @@protoc_insertion_point(field_set_allocated:messages.track.SensorTrack.duration)
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifdef __GNUC__
|
||||||
|
#pragma GCC diagnostic pop
|
||||||
|
#endif // __GNUC__
|
||||||
|
|
||||||
|
// @@protoc_insertion_point(namespace_scope)
|
||||||
|
|
||||||
|
} // namespace track
|
||||||
|
} // namespace messages
|
||||||
|
|
||||||
|
// @@protoc_insertion_point(global_scope)
|
||||||
|
|
||||||
|
#include <google/protobuf/port_undef.inc>
|
||||||
|
#endif // GOOGLE_PROTOBUF_INCLUDED_GOOGLE_PROTOBUF_INCLUDED_SensorTrack_2eproto
|
||||||
26
include/SimCore/Messages/Protos/SensorTrack.proto
Normal file
26
include/SimCore/Messages/Protos/SensorTrack.proto
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
syntax = "proto3";
|
||||||
|
package messages.track;
|
||||||
|
|
||||||
|
import "google/protobuf/timestamp.proto";
|
||||||
|
import "google/protobuf/duration.proto";
|
||||||
|
import "Identifier.proto";
|
||||||
|
|
||||||
|
import "RadarTrack.proto";
|
||||||
|
import "ESMTrack.proto";
|
||||||
|
|
||||||
|
|
||||||
|
// [END declaration]
|
||||||
|
|
||||||
|
|
||||||
|
message SensorTrack {
|
||||||
|
|
||||||
|
messages.track.Identifier EntityIdentifier = 1;
|
||||||
|
|
||||||
|
string SensorID = 2;
|
||||||
|
uint32 TrackKind = 3 ;
|
||||||
|
optional messages.track.RadarTrack RadarTrack = 4;
|
||||||
|
optional messages.track.ESMTrack ESMTrack = 5;
|
||||||
|
|
||||||
|
google.protobuf.Timestamp timestamp = 6;
|
||||||
|
google.protobuf.Duration duration = 7;
|
||||||
|
}
|
||||||
@@ -6,7 +6,9 @@
|
|||||||
#include "google/protobuf/any.pb.h"
|
#include "google/protobuf/any.pb.h"
|
||||||
#include <SimCore/Messages/Protos/RadarTrack.pb.h>
|
#include <SimCore/Messages/Protos/RadarTrack.pb.h>
|
||||||
#include <SimCore/Position.hpp>
|
#include <SimCore/Position.hpp>
|
||||||
#include <WHISPER/Messages/Message.hpp>
|
|
||||||
|
#include <SimCore/Messages/Track.hpp>
|
||||||
|
|
||||||
|
|
||||||
#include <Eigen/Core>
|
#include <Eigen/Core>
|
||||||
|
|
||||||
@@ -18,11 +20,10 @@
|
|||||||
|
|
||||||
namespace SimCore {
|
namespace SimCore {
|
||||||
|
|
||||||
class RadarTrack : public WHISPER::Message {
|
class RadarTrack : public Track {
|
||||||
|
|
||||||
private:
|
private:
|
||||||
/// message object from google protobuf
|
|
||||||
messages::track::RadarTrack radarTrackMessage_;
|
|
||||||
|
|
||||||
/// position of the track
|
/// position of the track
|
||||||
Position position_;
|
Position position_;
|
||||||
@@ -30,39 +31,32 @@ private:
|
|||||||
double speed_ = 0;
|
double speed_ = 0;
|
||||||
/// course of the track
|
/// course of the track
|
||||||
double course_ = 0;
|
double course_ = 0;
|
||||||
/// indicates if track is from an external source
|
|
||||||
|
|
||||||
/// bearing
|
/// bearing
|
||||||
double bearing_;
|
double bearing_;
|
||||||
///range in meters
|
///range in meters
|
||||||
double range_;
|
double range_;
|
||||||
//environment (AIR,SURFACE,SUBSURFACE,SPACE)
|
//environment (AIR,SURFACE,SUBSURFACE,SPACE)
|
||||||
SimCore::ContactEnvironment environemnt_;
|
SimCore::EntityKind environemnt_;
|
||||||
|
|
||||||
|
|
||||||
/// function that packs all information to a protobuf message
|
|
||||||
void packToMessage();
|
|
||||||
|
|
||||||
/// ID of the object
|
|
||||||
SimCore::Identifier ID_;
|
|
||||||
|
|
||||||
public:
|
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
|
* @brief constructor for building a track which is also the trackmessage to
|
||||||
* send
|
* send
|
||||||
* @param uint32_t deviceID the id of the sending device
|
|
||||||
* @param WHISPER::SourceType sourcetype of the sending device
|
* @param WHISPER::SourceType sourcetype of the sending device
|
||||||
* @param SimCore::Identifier object identifier
|
* @param SimCore::Identifier object identifier
|
||||||
*
|
*
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
RadarTrack(std::uint32_t deviceID, WHISPER::SourceType src,SimCore::Identifier id);
|
RadarTrack(WHISPER::SourceType src,SimCore::Identifier id);
|
||||||
|
|
||||||
|
|
||||||
|
virtual WHISPER::Message buildMessage(SimCore::Identifier parentID) override;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief set the position of the track
|
* @brief set the position of the track
|
||||||
@@ -116,14 +110,16 @@ public:
|
|||||||
double getRange();
|
double getRange();
|
||||||
|
|
||||||
/// set course
|
/// set course
|
||||||
void setEnvironment(SimCore::ContactEnvironment);
|
void setEnvironment(SimCore::EntityKind);
|
||||||
|
|
||||||
/// returns course
|
/// returns course
|
||||||
SimCore::ContactEnvironment getEnvironment();
|
SimCore::EntityKind getEnvironment();
|
||||||
|
|
||||||
/// set external indicator
|
/// set external indicator
|
||||||
void setExternal(bool val);
|
void setExternal(bool val);
|
||||||
|
|
||||||
SimCore::Identifier getIdentifier();
|
static RadarTrack unpack(WHISPER::Message msg);
|
||||||
|
|
||||||
|
|
||||||
};
|
};
|
||||||
} // namespace SimCore
|
} // namespace SimCore
|
||||||
47
include/SimCore/Messages/SensorTrack.hpp
Normal file
47
include/SimCore/Messages/SensorTrack.hpp
Normal file
@@ -0,0 +1,47 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "SimCore/Identifier.hpp"
|
||||||
|
#include "SimCore/Messages/Protos/SensorTrack.pb.h"
|
||||||
|
#include "SimCore/SimCore.hpp"
|
||||||
|
#include "WHISPER/Messages/Message.hpp"
|
||||||
|
#include <SimCore/Messages/ESMTrack.hpp>
|
||||||
|
|
||||||
|
#include <memory>
|
||||||
|
|
||||||
|
|
||||||
|
namespace SimCore
|
||||||
|
{
|
||||||
|
|
||||||
|
class SensorTrack : public WHISPER::Message
|
||||||
|
{
|
||||||
|
private:
|
||||||
|
|
||||||
|
/// ID of the object
|
||||||
|
SimCore::Identifier ID_;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
protected:
|
||||||
|
|
||||||
|
|
||||||
|
void setID(SimCore::Identifier id);
|
||||||
|
|
||||||
|
|
||||||
|
/// message object from google protobuf
|
||||||
|
messages::track::SensorTrack sensorTrackMessage_;
|
||||||
|
|
||||||
|
public:
|
||||||
|
SensorTrack();
|
||||||
|
SensorTrack(WHISPER::Message receivedMessageObj);
|
||||||
|
|
||||||
|
SensorTrack(WHISPER::SourceType src,SimCore::Identifier id,SimCore::TrackKind trackkind);
|
||||||
|
|
||||||
|
SimCore::TrackKind trackKind_ = UNKNOWN_TRACK;
|
||||||
|
|
||||||
|
SimCore::Identifier getID();
|
||||||
|
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
|
|
||||||
#include "SimCore/Identifier.hpp"
|
#include "SimCore/Identifier.hpp"
|
||||||
|
#include "SimCore/SimCore.hpp"
|
||||||
#include "google/protobuf/any.pb.h"
|
#include "google/protobuf/any.pb.h"
|
||||||
#include <SimCore/Position.hpp>
|
#include <SimCore/Position.hpp>
|
||||||
#include <WHISPER/Messages/Message.hpp>
|
#include <WHISPER/Messages/Message.hpp>
|
||||||
@@ -21,38 +22,21 @@ namespace SimCore {
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
class Track : public WHISPER::Message
|
class Track
|
||||||
{
|
{
|
||||||
private:
|
private:
|
||||||
/// message object from google protobuf
|
|
||||||
messages::track::Track trackMessage_;
|
|
||||||
|
|
||||||
/// 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
|
|
||||||
bool external_ = false;
|
|
||||||
|
|
||||||
/// function that packs all information to a protobuf message
|
|
||||||
void packToMessage();
|
|
||||||
|
|
||||||
/// ID of the object
|
/// ID of the object
|
||||||
SimCore::Identifier ID_;
|
const SimCore::Identifier ID_;
|
||||||
|
|
||||||
|
const SimCore::TrackKind TrackKind_ = UNKNOWN_TRACK;
|
||||||
|
|
||||||
|
|
||||||
|
const WHISPER::SourceType SourceType_;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
Track(){};
|
|
||||||
/**
|
|
||||||
* @brief a cuntructor that builds the object from a received message
|
|
||||||
* @param std::string the received thring from the line
|
|
||||||
*/
|
|
||||||
Track(std::string receivedMessage);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief constructor for building a track which is also the trackmessage to send
|
* @brief constructor for building a track which is also the trackmessage to send
|
||||||
* @param WHISPER::SourceType sourcetype of the sending device
|
* @param WHISPER::SourceType sourcetype of the sending device
|
||||||
@@ -60,64 +44,20 @@ namespace SimCore {
|
|||||||
*
|
*
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
Track( WHISPER::SourceType src,SimCore::Identifier id);
|
Track( WHISPER::SourceType src,SimCore::Identifier id, SimCore::TrackKind trackkind);
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief constructor for building a track which is also the trackmessage to send
|
|
||||||
* @param WHISPER::SourceType sourcetype of the sending device
|
|
||||||
* @param SimCore::Identifier object identifier
|
|
||||||
* @param WHISPER::MsgType other message type than RawTrack
|
|
||||||
*
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
Track( WHISPER::SourceType src,SimCore::Identifier id, WHISPER::MsgType type);
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief set the position of the track
|
|
||||||
* @param Position object of the position class
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
void setPosition(Position pos);
|
|
||||||
|
|
||||||
/**
|
const SimCore::Identifier getIdentifier();
|
||||||
* @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);
|
|
||||||
|
|
||||||
/**
|
const SimCore::TrackKind getTrackkind();
|
||||||
* @brief returns the position
|
|
||||||
* @return object of position class
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
Position getPostion();
|
|
||||||
|
|
||||||
/// sets speed
|
const WHISPER::SourceType getSourceType();
|
||||||
void setSpeed(double speed);
|
|
||||||
|
|
||||||
/// set speed in knots
|
|
||||||
void setSpeedinKnots(double knots);
|
|
||||||
|
|
||||||
/// return sspeed
|
protected:
|
||||||
double getSpeed();
|
|
||||||
|
|
||||||
/// returns speed as knots
|
virtual WHISPER::Message buildMessage(SimCore::Identifier parentID) = 0;
|
||||||
double getSpeedinKnots();
|
|
||||||
|
|
||||||
/// set course
|
|
||||||
void setCourse(double course);
|
|
||||||
|
|
||||||
///returns course
|
|
||||||
double getCourse();
|
|
||||||
|
|
||||||
/// set external indicator
|
|
||||||
void setExternal(bool val);
|
|
||||||
|
|
||||||
/// return true if is external
|
|
||||||
bool isExternal();
|
|
||||||
|
|
||||||
SimCore::Identifier getIdentifier();
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -28,12 +28,13 @@ INTERNAL = false
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
enum ContactEnvironment : std::uint8_t{
|
enum EntityKind : std::uint8_t{
|
||||||
UNKNOWN = 0,
|
UNKNOWN = 0,
|
||||||
SURFACE = 1,
|
SURFACE = 1,
|
||||||
SUBSURFACE = 2,
|
SUBSURFACE = 2,
|
||||||
AIR = 3,
|
AIR = 3,
|
||||||
SPACE = 4
|
LAND = 4,
|
||||||
|
SPACE = 5
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@@ -44,5 +45,27 @@ enum SensorKinds : std::uint32_t {
|
|||||||
VISUAL
|
VISUAL
|
||||||
};
|
};
|
||||||
|
|
||||||
|
enum EffectorKind : std::uint32_t {
|
||||||
|
VLS = 1,
|
||||||
|
GUN,
|
||||||
|
TORPEDO,
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
enum TrackKind : std::uint8_t {
|
||||||
|
UNKNOWN_TRACK,
|
||||||
|
GROUND_TRUTH_TRACK,
|
||||||
|
OWN_TRACK,
|
||||||
|
RADAR_TRACK,
|
||||||
|
VISUAL_TRACK,
|
||||||
|
ESM_TRACK
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
116
include/SimCore/Templates/Entity.hpp
Normal file
116
include/SimCore/Templates/Entity.hpp
Normal file
@@ -0,0 +1,116 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#include "SimCore/Messages/GroundThruthTrack.hpp"
|
||||||
|
#include "SimCore/Messages/Track.hpp"
|
||||||
|
#include "SimCore/SafeMap.hpp"
|
||||||
|
#include "SimCore/SimCore.hpp"
|
||||||
|
|
||||||
|
#include <WHISPER/InternalUDPService.hpp>
|
||||||
|
#include <WHISPER/InternalUDPSender.hpp>
|
||||||
|
#include <WHISPER/InternalUDPListener.hpp>
|
||||||
|
|
||||||
|
#include <WHISPER/Messages/Message.hpp>
|
||||||
|
#include <WHISPER/threadSafeQueue.hpp>
|
||||||
|
#include <SimCore/Identifier.hpp>
|
||||||
|
#include <SimCore/Position.hpp>
|
||||||
|
#include <atomic>
|
||||||
|
#include <chrono>
|
||||||
|
#include <memory>
|
||||||
|
#include <string>
|
||||||
|
#include <thread>
|
||||||
|
#include <utility>
|
||||||
|
|
||||||
|
|
||||||
|
namespace SimCore {
|
||||||
|
|
||||||
|
struct SensorData
|
||||||
|
{
|
||||||
|
std::string SensorName;
|
||||||
|
bool isActive;
|
||||||
|
SimCore::Identifier SensorID;
|
||||||
|
std::shared_ptr<WHISPER::InternalUDPSender> SensorSender;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct EffectorData
|
||||||
|
{
|
||||||
|
std::string EffectorName;
|
||||||
|
bool isActive;
|
||||||
|
SimCore::Identifier EffectorID;
|
||||||
|
std::shared_ptr<WHISPER::InternalUDPSender> EffectorSender;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
class Entity {
|
||||||
|
public:
|
||||||
|
Entity(const SimCore::Identifier OwnID,
|
||||||
|
std::string EnttityName,
|
||||||
|
WHISPER::SourceType OwnType,
|
||||||
|
SimCore::Identifier ParentID,
|
||||||
|
SimCore::EntityKind EntityKind,
|
||||||
|
std::uint32_t GroundTruthPort,
|
||||||
|
std::uint32_t CommandPort,
|
||||||
|
std::string CommandIPAddress);
|
||||||
|
// ~Entity();
|
||||||
|
void start();
|
||||||
|
void stop();
|
||||||
|
|
||||||
|
|
||||||
|
protected:
|
||||||
|
|
||||||
|
std::shared_ptr<WHISPER::threadSafeQueue<WHISPER::Message>> incommingCommandMessages = nullptr;
|
||||||
|
std::shared_ptr<WHISPER::threadSafeQueue<WHISPER::Message>> outgoingCommandMessages = nullptr;
|
||||||
|
|
||||||
|
virtual void specificPhysicsCalculations(std::chrono::milliseconds::rep duration) = 0;
|
||||||
|
virtual void specificReloadCharacteristicts() = 0;
|
||||||
|
|
||||||
|
std::shared_ptr<Position> ownShipPosition_ = nullptr;
|
||||||
|
|
||||||
|
private:
|
||||||
|
|
||||||
|
std::string EntityName_;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
SimCore::GroundTruthTrack ownTrack_;
|
||||||
|
SimCore::Identifier ParentID_;
|
||||||
|
SimCore::EntityKind EntityKind_;
|
||||||
|
std::uint32_t GroundTruthPort_;
|
||||||
|
std::uint32_t CommandPort_;
|
||||||
|
std::string CommandIPAddress_;
|
||||||
|
|
||||||
|
|
||||||
|
std::vector<std::thread> threads;
|
||||||
|
|
||||||
|
|
||||||
|
std::atomic<bool> stopCommandWorker = false;
|
||||||
|
std::atomic<bool> stopSensorWorker = false;
|
||||||
|
std::atomic<bool> stopTrackWorker = false;
|
||||||
|
std::atomic<bool> stopPhysicsWorker = false;
|
||||||
|
|
||||||
|
|
||||||
|
std::atomic<bool> physicsIsRunning = false;
|
||||||
|
|
||||||
|
|
||||||
|
void CommandWorker();
|
||||||
|
void SensorWorker();
|
||||||
|
void TrackWorker();
|
||||||
|
void physicsWorker();
|
||||||
|
|
||||||
|
|
||||||
|
void startSensor();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
std::shared_ptr<WHISPER::InternalUDPSender> GroundTruthUDPSender_ = nullptr;
|
||||||
|
|
||||||
|
std::shared_ptr<std::list<SimCore::SensorData>> SensorStore_;
|
||||||
|
|
||||||
|
std::shared_ptr<SimCore::SafeMap<SimCore::Identifier, std::shared_ptr<SimCore::Track>>> Trackstore_;
|
||||||
|
|
||||||
|
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#include "SimCore/Messages/GroundThruthTrack.hpp"
|
||||||
#include "SimCore/Messages/Track.hpp"
|
#include "SimCore/Messages/Track.hpp"
|
||||||
#include <WHISPER/InternalUDPService.hpp>
|
#include <WHISPER/InternalUDPService.hpp>
|
||||||
#include <SimCore/Identifier.hpp>
|
#include <SimCore/Identifier.hpp>
|
||||||
@@ -24,7 +25,7 @@ namespace SimCore {
|
|||||||
void stop();
|
void stop();
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
std::shared_ptr<WHISPER::threadSafeQueue<SimCore::Track>> incommingTrackMessages = nullptr;
|
std::shared_ptr<WHISPER::threadSafeQueue<SimCore::GroundTruthTrack>> incommingTrackMessages = nullptr;
|
||||||
|
|
||||||
|
|
||||||
std::shared_ptr<WHISPER::threadSafeQueue<WHISPER::Message>> incommingGroundThruthMessages = nullptr;
|
std::shared_ptr<WHISPER::threadSafeQueue<WHISPER::Message>> incommingGroundThruthMessages = nullptr;
|
||||||
18
include/SimCore/TrackFactory.hpp
Normal file
18
include/SimCore/TrackFactory.hpp
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#include <WHISPER/Messages/Message.hpp>
|
||||||
|
|
||||||
|
namespace SimCore
|
||||||
|
{
|
||||||
|
class TrackFactory
|
||||||
|
{
|
||||||
|
TrackFactory();
|
||||||
|
~TrackFactory();
|
||||||
|
|
||||||
|
public:
|
||||||
|
void work( WHISPER::Message msg);
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
Submodule libs/whisper-com updated: 3474cbd5cb...0222903f46
@@ -39,12 +39,12 @@ return std::to_string(parent_) + StringDelimiter + std::to_string(number_) + Str
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
std::uint32_t Identifier::getNumber()
|
std::uint32_t Identifier::getNumber() const
|
||||||
{
|
{
|
||||||
return number_;
|
return number_;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::uint32_t Identifier::getParentNumber()
|
std::uint32_t Identifier::getParentNumber() const
|
||||||
{
|
{
|
||||||
return parent_;
|
return parent_;
|
||||||
}
|
}
|
||||||
@@ -60,7 +60,7 @@ bool Identifier::isValid()
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Identifier::isExternal()
|
bool Identifier::isExternal() const
|
||||||
{
|
{
|
||||||
if (external_ == true) {
|
if (external_ == true) {
|
||||||
return true;
|
return true;
|
||||||
|
|||||||
24
src/SimCore/Messages/ESMTrack.cpp
Normal file
24
src/SimCore/Messages/ESMTrack.cpp
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
#include <SimCore/Messages/ESMTrack.hpp>
|
||||||
|
|
||||||
|
|
||||||
|
namespace SimCore
|
||||||
|
{
|
||||||
|
|
||||||
|
ESMTrack::ESMTrack(WHISPER::SourceType src,SimCore::Identifier id):
|
||||||
|
Track(src,id,SimCore::TrackKind::RADAR_TRACK)
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
WHISPER::Message ESMTrack::buildMessage(SimCore::Identifier parentID)
|
||||||
|
{
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
113
src/SimCore/Messages/GroundThruthTrack.cpp
Normal file
113
src/SimCore/Messages/GroundThruthTrack.cpp
Normal file
@@ -0,0 +1,113 @@
|
|||||||
|
#include <SimCore/Identifier.hpp>
|
||||||
|
#include <SimCore/Messages/Protos/GroundTruthTrack.pb.h>
|
||||||
|
#include <SimCore/Messages/Track.hpp>
|
||||||
|
#include <SimCore/SimCore.hpp>
|
||||||
|
#include <WHISPER/Messages/Message.hpp>
|
||||||
|
#include <google/protobuf/message.h>
|
||||||
|
#include <SimCore/Messages/GroundThruthTrack.hpp>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
namespace SimCore
|
||||||
|
{
|
||||||
|
GroundTruthTrack::GroundTruthTrack(WHISPER::SourceType src,SimCore::Identifier id,SimCore::TrackKind kind):Track(src, id, kind)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
WHISPER::Message GroundTruthTrack::buildMessage(SimCore::Identifier parentID)
|
||||||
|
{
|
||||||
|
WHISPER::Message msg(parentID.getParentNumber(), parentID.getNumber(),WHISPER::MsgTopics::TRACK , WHISPER::MsgType::GROUND_TRUTH_TRACK, WHISPER::SourceType::GATEWAY);
|
||||||
|
|
||||||
|
|
||||||
|
messages::track::GroundTruthTrack groundTruthTrack;
|
||||||
|
|
||||||
|
groundTruthTrack.mutable_geocentricposition()->set_x(position_.getGeocentricPos()(SimCore::X));
|
||||||
|
groundTruthTrack.mutable_geocentricposition()->set_y(position_.getGeocentricPos()(SimCore::Y));
|
||||||
|
groundTruthTrack.mutable_geocentricposition()->set_z(position_.getGeocentricPos()(SimCore::Z));
|
||||||
|
|
||||||
|
groundTruthTrack.set_contactspeed(speed_);
|
||||||
|
groundTruthTrack.set_contactcourse(course_);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
groundTruthTrack.mutable_entityidentifier()->set_number(this->getIdentifier().getNumber());
|
||||||
|
groundTruthTrack.mutable_entityidentifier()->set_external((uint32_t)this->getIdentifier().isExternal());
|
||||||
|
groundTruthTrack.mutable_entityidentifier()->set_parent(this->getIdentifier().getParentNumber());
|
||||||
|
|
||||||
|
|
||||||
|
groundTruthTrack.mutable_timestamp()->set_seconds(time(NULL));
|
||||||
|
|
||||||
|
auto any = std::make_shared<google::protobuf::Any>();
|
||||||
|
|
||||||
|
any->PackFrom(groundTruthTrack);
|
||||||
|
msg.addPayLoad(any);
|
||||||
|
|
||||||
|
return msg;
|
||||||
|
}
|
||||||
|
|
||||||
|
void GroundTruthTrack::setPosition(Position pos) {
|
||||||
|
position_ = pos;
|
||||||
|
}
|
||||||
|
|
||||||
|
void GroundTruthTrack::setPosition(double x, double y, double z) {
|
||||||
|
Position pos(x, y, z);
|
||||||
|
position_ = pos;
|
||||||
|
}
|
||||||
|
|
||||||
|
Position GroundTruthTrack::getPostion() { return position_; }
|
||||||
|
|
||||||
|
void GroundTruthTrack::setSpeed(double speed) {
|
||||||
|
speed_ = speed;
|
||||||
|
}
|
||||||
|
void GroundTruthTrack::setCourse(double course) {
|
||||||
|
course_ = course;
|
||||||
|
}
|
||||||
|
|
||||||
|
void GroundTruthTrack::setSpeedinKnots(double knots) {
|
||||||
|
speed_ = knots / SimCore::MsKt;
|
||||||
|
}
|
||||||
|
|
||||||
|
void GroundTruthTrack::setEnvironment(SimCore::EntityKind env )
|
||||||
|
{
|
||||||
|
environemnt_ = env;
|
||||||
|
}
|
||||||
|
|
||||||
|
double GroundTruthTrack::getSpeed() { return speed_; }
|
||||||
|
double GroundTruthTrack::getSpeedinKnots() { return speed_ * SimCore::MsKt; }
|
||||||
|
double GroundTruthTrack::getCourse() { return course_; }
|
||||||
|
SimCore::EntityKind GroundTruthTrack::getEnvironment(){ return environemnt_; }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
GroundTruthTrack GroundTruthTrack::unpack(WHISPER::Message msg)
|
||||||
|
{
|
||||||
|
auto m = msg.getProtoMessage();
|
||||||
|
|
||||||
|
auto trackMsg = messages::track::GroundTruthTrack();
|
||||||
|
if(m.payload().Is<messages::track::GroundTruthTrack>())
|
||||||
|
{
|
||||||
|
m.payload().UnpackTo(&trackMsg);
|
||||||
|
}
|
||||||
|
SimCore::Identifier id(trackMsg.mutable_entityidentifier()->parent(),trackMsg.mutable_entityidentifier()->number(),trackMsg.mutable_entityidentifier()->external());
|
||||||
|
GroundTruthTrack track((WHISPER::SourceType)m.sourcetype(), id,(SimCore::TrackKind)trackMsg.trackkind());
|
||||||
|
if (trackMsg.has_geocentricposition())
|
||||||
|
{
|
||||||
|
track.setPosition(trackMsg.mutable_geocentricposition()->x(), trackMsg.mutable_geocentricposition()->y(), trackMsg.mutable_geocentricposition()->z());
|
||||||
|
}
|
||||||
|
if (trackMsg.has_contactcourse())
|
||||||
|
{
|
||||||
|
track.setCourse(trackMsg.contactcourse());
|
||||||
|
}
|
||||||
|
if (trackMsg.has_contactspeed())
|
||||||
|
{
|
||||||
|
track.setSpeed(trackMsg.contactspeed());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
return track;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -1,10 +1,14 @@
|
|||||||
#include "SimCore/Identifier.hpp"
|
#include <SimCore/Identifier.hpp>
|
||||||
#include "SimCore/Messages/Protos/RadarTrack.pb.h"
|
#include <SimCore/Messages/Protos/RadarTrack.pb.h>
|
||||||
#include "SimCore/Position.hpp"
|
#include <SimCore/Messages/Protos/SensorTrack.pb.h>
|
||||||
#include "SimCore/SimCore.hpp"
|
|
||||||
#include "WHISPER/Messages/Message.hpp"
|
#include <SimCore/Messages/SensorTrack.hpp>
|
||||||
#include "google/protobuf/message.h"
|
#include <SimCore/Position.hpp>
|
||||||
#include "google/protobuf/timestamp.pb.h"
|
#include <SimCore/SimCore.hpp>
|
||||||
|
#include <WHISPER/Messages/Message.hpp>
|
||||||
|
#include <google/protobuf/any.pb.h>
|
||||||
|
#include <google/protobuf/message.h>
|
||||||
|
#include <google/protobuf/timestamp.pb.h>
|
||||||
#include <SimCore/Messages/Protos/Track.pb.h>
|
#include <SimCore/Messages/Protos/Track.pb.h>
|
||||||
#include <SimCore/Messages/RadarTrack.hpp>
|
#include <SimCore/Messages/RadarTrack.hpp>
|
||||||
#include <cstdint>
|
#include <cstdint>
|
||||||
@@ -14,133 +18,120 @@
|
|||||||
|
|
||||||
namespace SimCore {
|
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();
|
RadarTrack::RadarTrack( WHISPER::SourceType src,SimCore::Identifier id)
|
||||||
|
: Track(src,id,SimCore::TrackKind::RADAR_TRACK)
|
||||||
|
{
|
||||||
|
|
||||||
ID_ = SimCore::Identifier(trackMessage.mutable_entityidentifier()->parent(),
|
|
||||||
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,
|
WHISPER::Message RadarTrack::buildMessage(SimCore::Identifier parentID)
|
||||||
SimCore::Identifier id)
|
{
|
||||||
: Message(id.getParentNumber(),id.getNumber(), WHISPER::MsgTopics::TRACK, WHISPER::RAW_TRACK, src),
|
WHISPER::Message msg(parentID.getParentNumber(), parentID.getNumber(),WHISPER::MsgTopics::TRACK , WHISPER::MsgType::RADAR_TRACK, WHISPER::SourceType::SENSOR);
|
||||||
ID_(id) {
|
|
||||||
|
|
||||||
packToMessage();
|
messages::track::RadarTrack radarTrack;
|
||||||
}
|
|
||||||
|
|
||||||
void RadarTrack::packToMessage() {
|
radarTrack.mutable_geocentricposition()->set_x(position_.getGeocentricPos()(SimCore::X));
|
||||||
|
radarTrack.mutable_geocentricposition()->set_y(position_.getGeocentricPos()(SimCore::Y));
|
||||||
|
radarTrack.mutable_geocentricposition()->set_z(position_.getGeocentricPos()(SimCore::Z));
|
||||||
|
|
||||||
radarTrackMessage_.mutable_entityidentifier()->set_number(ID_.getNumber());
|
radarTrack.set_contactspeed(speed_);
|
||||||
radarTrackMessage_.mutable_entityidentifier()->set_external((uint32_t)ID_.isExternal());
|
radarTrack.set_contactcourse(course_);
|
||||||
|
radarTrack.set_contactbearing(bearing_);
|
||||||
|
radarTrack.set_contactrange(range_);
|
||||||
|
radarTrack.set_contactenvironemnt((uint32_t)environemnt_);
|
||||||
|
|
||||||
radarTrackMessage_.mutable_geocentricposition()->set_x(
|
messages::track::SensorTrack SensorTrack;
|
||||||
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());
|
SensorTrack.mutable_entityidentifier()->set_number(this->getIdentifier().getNumber());
|
||||||
|
SensorTrack.mutable_entityidentifier()->set_external((uint32_t)this->getIdentifier().isExternal());
|
||||||
|
SensorTrack.mutable_entityidentifier()->set_parent(this->getIdentifier().getParentNumber());
|
||||||
|
|
||||||
|
SensorTrack.mutable_radartrack()->CopyFrom(radarTrack);
|
||||||
|
SensorTrack.mutable_timestamp()->set_seconds(time(NULL));
|
||||||
|
|
||||||
radarTrackMessage_.set_contactspeed(speed_);
|
auto any = std::make_shared<google::protobuf::Any>();
|
||||||
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));
|
any->PackFrom(SensorTrack);
|
||||||
|
msg.addPayLoad(any);
|
||||||
|
|
||||||
auto payloadMessage = std::make_shared<google::protobuf::Any>();
|
return msg;
|
||||||
|
|
||||||
payloadMessage->PackFrom(radarTrackMessage_);
|
|
||||||
addPayLoad(payloadMessage);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void RadarTrack::setPosition(Position pos) {
|
void RadarTrack::setPosition(Position pos) {
|
||||||
position_ = pos;
|
position_ = pos;
|
||||||
packToMessage();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void RadarTrack::setPosition(double x, double y, double z) {
|
void RadarTrack::setPosition(double x, double y, double z) {
|
||||||
Position pos(x, y, z);
|
Position pos(x, y, z);
|
||||||
position_ = pos;
|
position_ = pos;
|
||||||
packToMessage();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Position RadarTrack::getPostion() { return position_; }
|
Position RadarTrack::getPostion() { return position_; }
|
||||||
|
|
||||||
void RadarTrack::setSpeed(double speed) {
|
void RadarTrack::setSpeed(double speed) {
|
||||||
speed_ = speed;
|
speed_ = speed;
|
||||||
packToMessage();
|
|
||||||
}
|
}
|
||||||
void RadarTrack::setCourse(double course) {
|
void RadarTrack::setCourse(double course) {
|
||||||
course_ = course;
|
course_ = course;
|
||||||
packToMessage();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void RadarTrack::setSpeedinKnots(double knots) {
|
void RadarTrack::setSpeedinKnots(double knots) {
|
||||||
speed_ = knots / SimCore::MsKt;
|
speed_ = knots / SimCore::MsKt;
|
||||||
packToMessage();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void RadarTrack::setBearing(double bearing) {
|
void RadarTrack::setBearing(double bearing) {
|
||||||
bearing_ = bearing;
|
bearing_ = bearing;
|
||||||
packToMessage();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void RadarTrack::setRange(double range) {
|
void RadarTrack::setRange(double range) {
|
||||||
range_ = range;
|
range_ = range;
|
||||||
packToMessage();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void RadarTrack::setEnvironment(SimCore::ContactEnvironment env )
|
void RadarTrack::setEnvironment(SimCore::EntityKind env )
|
||||||
{
|
{
|
||||||
environemnt_ = env;
|
environemnt_ = env;
|
||||||
packToMessage();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
double RadarTrack::getSpeed() { return speed_; }
|
double RadarTrack::getSpeed() { return speed_; }
|
||||||
double RadarTrack::getSpeedinKnots() { return speed_ * SimCore::MsKt; }
|
double RadarTrack::getSpeedinKnots() { return speed_ * SimCore::MsKt; }
|
||||||
double RadarTrack::getCourse() { return course_; }
|
double RadarTrack::getCourse() { return course_; }
|
||||||
double RadarTrack::getBearing() { return bearing_; }
|
double RadarTrack::getBearing() { return bearing_; }
|
||||||
double RadarTrack::getRange() { return range_; }
|
double RadarTrack::getRange() { return range_; }
|
||||||
SimCore::ContactEnvironment RadarTrack::getEnvironment(){ return environemnt_; }
|
SimCore::EntityKind RadarTrack::getEnvironment(){ return environemnt_; }
|
||||||
|
|
||||||
|
RadarTrack RadarTrack::unpack(WHISPER::Message msg)
|
||||||
|
{
|
||||||
|
auto m = msg.getProtoMessage();
|
||||||
|
|
||||||
|
auto SensortrackMsg = messages::track::SensorTrack();
|
||||||
|
if(m.payload().Is<messages::track::SensorTrack>())
|
||||||
|
{
|
||||||
|
m.payload().UnpackTo(&SensortrackMsg);
|
||||||
|
}
|
||||||
|
|
||||||
|
SimCore::Identifier id(SensortrackMsg.mutable_entityidentifier()->parent(),SensortrackMsg.mutable_entityidentifier()->number(),SensortrackMsg.mutable_entityidentifier()->external());
|
||||||
|
RadarTrack track((WHISPER::SourceType)m.sourcetype(), id);
|
||||||
|
|
||||||
|
if (SensortrackMsg.has_radartrack())
|
||||||
|
{
|
||||||
|
auto radarTrack = SensortrackMsg.radartrack();
|
||||||
|
|
||||||
|
track.setPosition(radarTrack.mutable_geocentricposition()->x(), radarTrack.mutable_geocentricposition()->y(), radarTrack.mutable_geocentricposition()->z());
|
||||||
|
track.setCourse(radarTrack.contactcourse());
|
||||||
|
track.setSpeed(radarTrack.contactspeed());
|
||||||
|
track.setBearing(radarTrack.contactbearing());
|
||||||
|
track.setEnvironment((SimCore::EntityKind)radarTrack.contactenvironemnt());
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
SimCore::Identifier RadarTrack::getIdentifier() {
|
|
||||||
return ID_;
|
return track;
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace SimCore
|
} // namespace SimCore
|
||||||
63
src/SimCore/Messages/SensorTrack.cpp
Normal file
63
src/SimCore/Messages/SensorTrack.cpp
Normal file
@@ -0,0 +1,63 @@
|
|||||||
|
#include "SimCore/Identifier.hpp"
|
||||||
|
#include "WHISPER/Messages/Message.hpp"
|
||||||
|
#include <SimCore/Messages/SensorTrack.hpp>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
namespace SimCore
|
||||||
|
{
|
||||||
|
SensorTrack::SensorTrack(WHISPER::SourceType src,SimCore::Identifier id,SimCore::TrackKind trackkind):trackKind_(trackkind),ID_(id),
|
||||||
|
Message(id.getParentNumber(),id.getNumber(),WHISPER::MsgTopics::TRACK,WHISPER::SENSOR_TRACK,src)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
SensorTrack::SensorTrack()
|
||||||
|
{}
|
||||||
|
|
||||||
|
SensorTrack::SensorTrack(WHISPER::Message receivedMessageObj)
|
||||||
|
{
|
||||||
|
if (receivedMessageObj.msgType_ == WHISPER::MsgType::SENSOR_TRACK)
|
||||||
|
{
|
||||||
|
|
||||||
|
msg = messages::header::Message();
|
||||||
|
msg.ParseFromString(receivedMessageObj.serialize());
|
||||||
|
topic_ = msg.topic();
|
||||||
|
sourceType_ = msg.sourcetype();
|
||||||
|
msgType_ = msg.msgtype();
|
||||||
|
|
||||||
|
|
||||||
|
if (msg.mutable_payload()->Is<messages::track::SensorTrack>())
|
||||||
|
{
|
||||||
|
auto SensorTrackMessage = messages::track::SensorTrack();
|
||||||
|
msg.mutable_payload()->UnpackTo(&SensorTrackMessage);
|
||||||
|
if (SensorTrackMessage.has_radartrack())
|
||||||
|
{
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}else if (msg.mutable_payload()->Is<messages::track::RadarTrack>())
|
||||||
|
{
|
||||||
|
auto trackMessage = new messages::track::RadarTrack();
|
||||||
|
msg.mutable_payload()->UnpackTo(trackMessage);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
void SensorTrack::setID(SimCore::Identifier id)
|
||||||
|
{
|
||||||
|
ID_ = id;
|
||||||
|
}
|
||||||
|
|
||||||
|
SimCore::Identifier SensorTrack::getID()
|
||||||
|
{
|
||||||
|
return ID_;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
@@ -15,156 +15,26 @@
|
|||||||
|
|
||||||
namespace SimCore {
|
namespace SimCore {
|
||||||
|
|
||||||
Track::Track(std::string receivedMessage)
|
|
||||||
|
|
||||||
|
Track::Track( WHISPER::SourceType src,SimCore::Identifier id, SimCore::TrackKind trackkind):ID_(id),TrackKind_(trackkind),SourceType_(src)
|
||||||
{
|
{
|
||||||
msg = messages::header::Message();
|
|
||||||
try {
|
|
||||||
msg.ParseFromString(receivedMessage);
|
|
||||||
topic_ = msg.topic();
|
|
||||||
sourceType_ = msg.sourcetype();
|
|
||||||
msgType_ = msg.msgtype();
|
|
||||||
|
|
||||||
auto trackMessage = messages::track::Track();
|
|
||||||
if ( msg.payload_size() == 1) {
|
|
||||||
if (msg.payload().begin()->Is<messages::track::Track>()) {
|
|
||||||
msg.payload().begin()->UnpackTo(&trackMessage);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
ID_ = SimCore::Identifier(trackMessage.mutable_entityidentifier()->parent(),
|
|
||||||
trackMessage.mutable_entityidentifier()->number(),
|
|
||||||
(SimCore::ObjectSource)trackMessage.mutable_entityidentifier()->external());
|
|
||||||
external_ = trackMessage.mutable_entityidentifier()->external();
|
|
||||||
speed_ = trackMessage.speed();
|
|
||||||
course_ = trackMessage.course();
|
|
||||||
|
|
||||||
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();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
const SimCore::Identifier Track::getIdentifier ()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Track::Track(WHISPER::SourceType src,SimCore::Identifier id):
|
|
||||||
Message(id.getParentNumber(),id.getNumber(),WHISPER::MsgTopics::TRACK,WHISPER::RAW_TRACK,src),external_(id.isExternal()),ID_(id)
|
|
||||||
{
|
|
||||||
|
|
||||||
packToMessage();
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
Track::Track( WHISPER::SourceType src,SimCore::Identifier id, WHISPER::MsgType type):
|
|
||||||
Message(id.getParentNumber(),id.getNumber(),WHISPER::MsgTopics::TRACK,type,src),external_(id.isExternal()),ID_(id)
|
|
||||||
{
|
|
||||||
packToMessage();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void Track::packToMessage()
|
|
||||||
{
|
|
||||||
|
|
||||||
trackMessage_.mutable_entityidentifier()->set_number(ID_.getNumber());
|
|
||||||
trackMessage_.mutable_entityidentifier()->set_external(ID_.isExternal());
|
|
||||||
|
|
||||||
|
|
||||||
trackMessage_.mutable_geocentricposition()->set_x(position_.getGeocentricPos()(SimCore::X));
|
|
||||||
trackMessage_.mutable_geocentricposition()->set_y(position_.getGeocentricPos()(SimCore::Y));
|
|
||||||
trackMessage_.mutable_geocentricposition()->set_z(position_.getGeocentricPos()(SimCore::Z));
|
|
||||||
|
|
||||||
|
|
||||||
trackMessage_.mutable_entityidentifier()->set_external(external_);
|
|
||||||
trackMessage_.mutable_entityidentifier()->set_number(ID_.getNumber());
|
|
||||||
|
|
||||||
// trackMessage_.set_trackno(trackNo_);
|
|
||||||
// trackMessage_.set_external(external_);
|
|
||||||
trackMessage_.set_speed(speed_);
|
|
||||||
trackMessage_.set_course(course_);
|
|
||||||
|
|
||||||
trackMessage_.mutable_timestamp()->set_seconds(time(NULL));
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
auto payloadMessage = std::make_shared<google::protobuf::Any>();
|
|
||||||
|
|
||||||
payloadMessage->PackFrom(trackMessage_);
|
|
||||||
addPayLoad(payloadMessage);
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
void Track::setPosition(Position pos)
|
|
||||||
{
|
|
||||||
position_ = pos;
|
|
||||||
packToMessage();
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
void Track::setPosition(double x,double y,double z)
|
|
||||||
{
|
|
||||||
Position pos(x,y,z);
|
|
||||||
position_ = pos;
|
|
||||||
packToMessage();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Position Track::getPostion()
|
|
||||||
{
|
|
||||||
return position_;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void Track::setSpeed(double speed)
|
|
||||||
{
|
|
||||||
speed_ = speed;
|
|
||||||
packToMessage();
|
|
||||||
}
|
|
||||||
void Track::setCourse(double course)
|
|
||||||
{
|
|
||||||
course_ = course;
|
|
||||||
packToMessage();
|
|
||||||
}
|
|
||||||
|
|
||||||
double Track::getSpeedinKnots()
|
|
||||||
{
|
|
||||||
return speed_ * SimCore::MsKt;
|
|
||||||
}
|
|
||||||
void Track::setSpeedinKnots(double knots)
|
|
||||||
{
|
|
||||||
speed_ = knots / SimCore::MsKt;
|
|
||||||
packToMessage();
|
|
||||||
}
|
|
||||||
|
|
||||||
void Track::setExternal(bool val)
|
|
||||||
{
|
|
||||||
external_ = val;
|
|
||||||
packToMessage();
|
|
||||||
}
|
|
||||||
|
|
||||||
double Track::getSpeed()
|
|
||||||
{
|
|
||||||
return speed_;
|
|
||||||
}
|
|
||||||
double Track::getCourse()
|
|
||||||
{
|
|
||||||
return course_;
|
|
||||||
}
|
|
||||||
bool Track::isExternal()
|
|
||||||
{
|
|
||||||
return external_;
|
|
||||||
}
|
|
||||||
|
|
||||||
SimCore::Identifier Track::getIdentifier()
|
|
||||||
{
|
{
|
||||||
return ID_;
|
return ID_;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const SimCore::TrackKind Track::getTrackkind()
|
||||||
|
{
|
||||||
|
return TrackKind_;
|
||||||
|
}
|
||||||
|
|
||||||
|
const WHISPER::SourceType Track::getSourceType()
|
||||||
|
{
|
||||||
|
return SourceType_;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
182
src/SimCore/Templates/Entity.cpp
Normal file
182
src/SimCore/Templates/Entity.cpp
Normal file
@@ -0,0 +1,182 @@
|
|||||||
|
#include "WHISPER/InternalUDPListener.hpp"
|
||||||
|
#include "WHISPER/InternalUDPSender.hpp"
|
||||||
|
#include "WHISPER/Messages/Message.hpp"
|
||||||
|
#include "WHISPER/Messages/stringData.hpp"
|
||||||
|
#include "WHISPER/threadSafeQueue.hpp"
|
||||||
|
#include <SimCore/SimCore.hpp>
|
||||||
|
#include <SimCore/Templates/Entity.hpp>
|
||||||
|
|
||||||
|
#include <chrono>
|
||||||
|
#include <memory>
|
||||||
|
#include <thread>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#define calculationPeriode 100
|
||||||
|
|
||||||
|
namespace SimCore
|
||||||
|
{
|
||||||
|
|
||||||
|
Entity::Entity(const SimCore::Identifier OwnID,
|
||||||
|
std::string EnttityName,
|
||||||
|
WHISPER::SourceType OwnType,
|
||||||
|
SimCore::Identifier ParentID,
|
||||||
|
SimCore::EntityKind EntityKind,
|
||||||
|
std::uint32_t GroundTruthPort,
|
||||||
|
std::uint32_t CommandPort,
|
||||||
|
std::string CommandIPAddress):EntityName_(EnttityName),
|
||||||
|
ownTrack_(OwnType, OwnID, SimCore::TrackKind::GROUND_TRUTH_TRACK),
|
||||||
|
ParentID_(ParentID),
|
||||||
|
EntityKind_(EntityKind),
|
||||||
|
GroundTruthPort_(GroundTruthPort),
|
||||||
|
CommandPort_(CommandPort),
|
||||||
|
CommandIPAddress_(CommandIPAddress)
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void Entity::start()
|
||||||
|
{
|
||||||
|
|
||||||
|
stopCommandWorker = false;
|
||||||
|
stopSensorWorker = false;
|
||||||
|
stopTrackWorker = false;
|
||||||
|
stopPhysicsWorker = false;
|
||||||
|
|
||||||
|
threads.emplace_back(std::thread(&Entity::CommandWorker,this));
|
||||||
|
threads.emplace_back(std::thread(&Entity::SensorWorker,this));
|
||||||
|
threads.emplace_back(std::thread(&Entity::TrackWorker,this));
|
||||||
|
threads.emplace_back(std::thread(&Entity::physicsWorker,this));
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void Entity::stop()
|
||||||
|
{
|
||||||
|
stopCommandWorker = true;
|
||||||
|
stopSensorWorker = true;
|
||||||
|
stopTrackWorker = true;
|
||||||
|
stopPhysicsWorker = true;
|
||||||
|
// for (auto &th :threads)
|
||||||
|
// {
|
||||||
|
// if (th.joinable()) {
|
||||||
|
// th.join();
|
||||||
|
// }
|
||||||
|
|
||||||
|
// }
|
||||||
|
|
||||||
|
|
||||||
|
for (std::vector<std::thread>::iterator it = threads.begin(); it != threads.end();)
|
||||||
|
{
|
||||||
|
if (it->joinable())
|
||||||
|
{
|
||||||
|
it->join();
|
||||||
|
it = threads.erase(it);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
LOG_S(ERROR)<< threads.size();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void Entity::physicsWorker()
|
||||||
|
{
|
||||||
|
physicsIsRunning = true;
|
||||||
|
|
||||||
|
while (!stopPhysicsWorker) {
|
||||||
|
auto start = std::chrono::steady_clock::now();
|
||||||
|
|
||||||
|
|
||||||
|
std::this_thread::sleep_for(std::chrono::milliseconds(calculationPeriode));
|
||||||
|
|
||||||
|
|
||||||
|
auto end = std::chrono::steady_clock::now();
|
||||||
|
std::chrono::milliseconds::rep duration = std::chrono::duration_cast<std::chrono::milliseconds>(end - start).count();
|
||||||
|
specificPhysicsCalculations(duration);
|
||||||
|
}
|
||||||
|
|
||||||
|
physicsIsRunning = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
void Entity::CommandWorker()
|
||||||
|
{
|
||||||
|
auto CommandUDPListener = std::make_shared<WHISPER::InternalUDPListener>(CommandPort_) ;
|
||||||
|
auto receiverQueue = std::make_shared<WHISPER::threadSafeQueue<WHISPER::Message>>();
|
||||||
|
CommandUDPListener->connect(receiverQueue);
|
||||||
|
|
||||||
|
|
||||||
|
auto CommandUDPSender = std::make_shared<WHISPER::InternalUDPSender>(CommandIPAddress_,CommandPort_);
|
||||||
|
|
||||||
|
|
||||||
|
while (!stopCommandWorker)
|
||||||
|
{
|
||||||
|
if (receiverQueue->size() > 0) {
|
||||||
|
|
||||||
|
auto msg = WHISPER::Message();
|
||||||
|
receiverQueue->get(msg);
|
||||||
|
|
||||||
|
switch (msg.msgType_) {
|
||||||
|
|
||||||
|
case WHISPER::MsgType::STRINGDATA :{
|
||||||
|
WHISPER::StringData stringMsg = WHISPER::StringData(msg.serialize());
|
||||||
|
std::string str = stringMsg.data_;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
case WHISPER::MsgType::COMMAND: {
|
||||||
|
WHISPER::StringData string = WHISPER::StringData(msg.serialize());
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
LOG_S(INFO)<<"hello from command worker";
|
||||||
|
std::this_thread::sleep_for(std::chrono::milliseconds(900));
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void Entity::SensorWorker()
|
||||||
|
{
|
||||||
|
|
||||||
|
|
||||||
|
while (!stopSensorWorker)
|
||||||
|
{
|
||||||
|
LOG_S(INFO)<<"hello from sensor worker";
|
||||||
|
std::this_thread::sleep_for(std::chrono::milliseconds(900));
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void Entity::TrackWorker()
|
||||||
|
{
|
||||||
|
while (!stopTrackWorker)
|
||||||
|
{
|
||||||
|
LOG_S(INFO)<<"hello from track worker";
|
||||||
|
std::this_thread::sleep_for(std::chrono::milliseconds(900));
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void Entity::startSensor()
|
||||||
|
{
|
||||||
|
|
||||||
|
LOG_S(ERROR)<< "starting new pods is not implemented yet";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -1,9 +1,10 @@
|
|||||||
|
#include "SimCore/Messages/GroundThruthTrack.hpp"
|
||||||
#include "SimCore/Messages/Track.hpp"
|
#include "SimCore/Messages/Track.hpp"
|
||||||
#include "SimCore/Position.hpp"
|
#include "SimCore/Position.hpp"
|
||||||
#include "SimCore/SimCore.hpp"
|
#include "SimCore/SimCore.hpp"
|
||||||
#include "SimCore/UtilFunctions.hpp"
|
#include "SimCore/UtilFunctions.hpp"
|
||||||
#include "WHISPER/Messages/Message.hpp"
|
#include "WHISPER/Messages/Message.hpp"
|
||||||
#include <SimCore/Sensor.hpp>
|
#include <SimCore/Templates/Sensor.hpp>
|
||||||
#include <memory>
|
#include <memory>
|
||||||
|
|
||||||
namespace SimCore {
|
namespace SimCore {
|
||||||
@@ -22,7 +23,7 @@ namespace SimCore {
|
|||||||
incommingParentMessages = std::make_shared<WHISPER::threadSafeQueue<WHISPER::Message>>();
|
incommingParentMessages = std::make_shared<WHISPER::threadSafeQueue<WHISPER::Message>>();
|
||||||
outgoingParentMessages = std::make_shared<WHISPER::threadSafeQueue<WHISPER::Message>>();
|
outgoingParentMessages = std::make_shared<WHISPER::threadSafeQueue<WHISPER::Message>>();
|
||||||
|
|
||||||
incommingTrackMessages = std::make_shared<WHISPER::threadSafeQueue<SimCore::Track>>();
|
incommingTrackMessages = std::make_shared<WHISPER::threadSafeQueue<SimCore::GroundTruthTrack>>();
|
||||||
|
|
||||||
|
|
||||||
GroundTruthUDPService_ = std::make_shared<WHISPER::InternalUDPService>(OwnID.getParentNumber(),OwnID.getNumber(),WHISPER::SENSOR,GroundTruthPort_,SimCore::UtilFunctions::implode(ip,'.'),ownIP);
|
GroundTruthUDPService_ = std::make_shared<WHISPER::InternalUDPService>(OwnID.getParentNumber(),OwnID.getNumber(),WHISPER::SENSOR,GroundTruthPort_,SimCore::UtilFunctions::implode(ip,'.'),ownIP);
|
||||||
@@ -119,9 +120,10 @@ namespace SimCore {
|
|||||||
if (incommingGroundThruthMessages->size() > 0) {
|
if (incommingGroundThruthMessages->size() > 0) {
|
||||||
WHISPER::Message msg;
|
WHISPER::Message msg;
|
||||||
incommingGroundThruthMessages->get(msg);
|
incommingGroundThruthMessages->get(msg);
|
||||||
if (msg.msgType_ == WHISPER::MsgType::RAW_TRACK) {
|
if (msg.msgType_ == WHISPER::MsgType::GROUND_TRUTH_TRACK) {
|
||||||
auto Track = SimCore::Track(msg.serialize());
|
auto elem = GroundTruthTrack::unpack(msg);
|
||||||
incommingTrackMessages->addElement(Track);
|
// auto Track = SimCore::Track(msg.serialize());
|
||||||
|
incommingTrackMessages->addElement(elem);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -152,7 +154,8 @@ namespace SimCore {
|
|||||||
std::uint32_t type = 0;
|
std::uint32_t type = 0;
|
||||||
|
|
||||||
if (msg.msgType_ == WHISPER::MsgType::OWN_TRACK) {
|
if (msg.msgType_ == WHISPER::MsgType::OWN_TRACK) {
|
||||||
SimCore::Track OwnTrack(msg.serialize());
|
auto OwnTrack = SimCore::GroundTruthTrack::unpack(msg);
|
||||||
|
// SimCore::Track OwnTrack(msg.serialize());
|
||||||
auto tmpPos = OwnTrack.getPostion().getGeocentricPos();
|
auto tmpPos = OwnTrack.getPostion().getGeocentricPos();
|
||||||
if (this->ownShipPosition_ == nullptr) {
|
if (this->ownShipPosition_ == nullptr) {
|
||||||
this->ownShipPosition_ = std::make_shared<SimCore::Position>(
|
this->ownShipPosition_ = std::make_shared<SimCore::Position>(
|
||||||
69
tests/test_EntityClass.cpp
Normal file
69
tests/test_EntityClass.cpp
Normal file
@@ -0,0 +1,69 @@
|
|||||||
|
|
||||||
|
#include "SimCore/Identifier.hpp"
|
||||||
|
#include "WHISPER/Messages/Message.hpp"
|
||||||
|
#include <SimCore/SimCore.hpp>
|
||||||
|
#include <memory>
|
||||||
|
#include <string>
|
||||||
|
#include <thread>
|
||||||
|
#define CATCH_CONFIG_MAIN
|
||||||
|
#include <catch2/catch.hpp>
|
||||||
|
#include <SimCore/Templates/Entity.hpp>
|
||||||
|
|
||||||
|
// SimCore::Identifier OwnID, SimCore::Identifier ParentID, SimCore::SensorKinds SensorKind,std::uint32_t GroundTruthPort, std::uint32_t ParentPort,std::string ParentIPAddress
|
||||||
|
class Ship : public SimCore::Entity
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
Ship(SimCore::Identifier OwnID,
|
||||||
|
std::string EntityName,
|
||||||
|
WHISPER::SourceType ownType,
|
||||||
|
SimCore::Identifier ParentID,
|
||||||
|
SimCore::EntityKind EntityKind,
|
||||||
|
std::uint32_t GroundTruthPort,
|
||||||
|
std::uint32_t CommandPort,
|
||||||
|
std::string CommandIPAddress):
|
||||||
|
Entity( OwnID,EntityName,ownType, ParentID, EntityKind, GroundTruthPort, CommandPort, CommandIPAddress)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private:
|
||||||
|
|
||||||
|
void specificPhysicsCalculations(std::chrono::milliseconds::rep duration) override
|
||||||
|
{
|
||||||
|
LOG_S(INFO)<<"calculating every " << duration << "milliseconds";
|
||||||
|
};
|
||||||
|
|
||||||
|
void specificReloadCharacteristicts() override
|
||||||
|
{
|
||||||
|
LOG_S(INFO)<<"loading specifications";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
SCENARIO("Testing the SimCore Sensor")
|
||||||
|
{
|
||||||
|
GIVEN("different Attributes for a Track in different forms")
|
||||||
|
{
|
||||||
|
SimCore::Identifier IDParent(0,1,false);
|
||||||
|
SimCore::Identifier ID1(0,2,false);
|
||||||
|
Ship Ship(ID1,"FGS Hamburg",WHISPER::SourceType::SHIP,IDParent,SimCore::EntityKind::SURFACE,8000,8001,"127.0.0.1");
|
||||||
|
Ship.start();
|
||||||
|
std::this_thread::sleep_for(std::chrono::milliseconds(5000));
|
||||||
|
Ship.stop();
|
||||||
|
WHEN("constructing Track Object with data")
|
||||||
|
{
|
||||||
|
|
||||||
|
THEN("check if Track attributes are correct")
|
||||||
|
{
|
||||||
|
// REQUIRE(testOperator == true);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
} //THEN
|
||||||
|
} // WHEN
|
||||||
|
} // GIVEN
|
||||||
|
} //SCENARIO
|
||||||
@@ -1,7 +1,9 @@
|
|||||||
|
#include "SimCore/Identifier.hpp"
|
||||||
#include "SimCore/IdentifierMaker.hpp"
|
#include "SimCore/IdentifierMaker.hpp"
|
||||||
#include <SimCore/Messages/Track.hpp>
|
#include <SimCore/Messages/GroundThruthTrack.hpp>
|
||||||
#include <WHISPER/Messages/Message.hpp>
|
#include <WHISPER/Messages/Message.hpp>
|
||||||
#include <SimCore/SimCore.hpp>
|
#include <SimCore/SimCore.hpp>
|
||||||
|
#include <algorithm>
|
||||||
#include <memory>
|
#include <memory>
|
||||||
#define CATCH_CONFIG_MAIN
|
#define CATCH_CONFIG_MAIN
|
||||||
#include <catch2/catch.hpp>
|
#include <catch2/catch.hpp>
|
||||||
@@ -29,7 +31,8 @@ SCENARIO("Testing the SimCore Track")
|
|||||||
|
|
||||||
std::shared_ptr<WHISPER::Message> msg = NULL;
|
std::shared_ptr<WHISPER::Message> msg = NULL;
|
||||||
|
|
||||||
std::shared_ptr<SimCore::Track> trackPtr = NULL;
|
std::shared_ptr<SimCore::GroundTruthTrack> trackPtr = NULL;
|
||||||
|
SimCore::Identifier parentID(0,1,false);
|
||||||
SimCore::IdentifierMaker IDMaker;
|
SimCore::IdentifierMaker IDMaker;
|
||||||
auto ID = IDMaker.getNewIdentifier(1,SimCore::ObjectSource::EXTERNAL);
|
auto ID = IDMaker.getNewIdentifier(1,SimCore::ObjectSource::EXTERNAL);
|
||||||
|
|
||||||
@@ -39,24 +42,25 @@ SCENARIO("Testing the SimCore Track")
|
|||||||
WHEN("constructing Track Object with data")
|
WHEN("constructing Track Object with data")
|
||||||
{
|
{
|
||||||
SimCore::Position pos( GeocentPos1(SimCore::GeocentricPosition::X), GeocentPos1(SimCore::GeocentricPosition::Y), GeocentPos1(SimCore::GeocentricPosition::Z));
|
SimCore::Position pos( GeocentPos1(SimCore::GeocentricPosition::X), GeocentPos1(SimCore::GeocentricPosition::Y), GeocentPos1(SimCore::GeocentricPosition::Z));
|
||||||
SimCore::Track track(WHISPER::SourceType::SHIP,*ID.get());
|
SimCore::GroundTruthTrack track(WHISPER::SourceType::SHIP,*ID.get(),SimCore::TrackKind::GROUND_TRUTH_TRACK);
|
||||||
track.setCourse(course);
|
track.setCourse(course);
|
||||||
track.setSpeed(speed);
|
track.setSpeed(speed);
|
||||||
track.setPosition(GeocentPos1(SimCore::X),GeocentPos1(SimCore::Y),GeocentPos1(SimCore::Z));
|
track.setPosition(GeocentPos1(SimCore::X),GeocentPos1(SimCore::Y),GeocentPos1(SimCore::Z));
|
||||||
|
|
||||||
if (track.getPostion() == pos) {
|
if (track.getPostion() == pos) {
|
||||||
testOperator = true;
|
testOperator = true;
|
||||||
}
|
}
|
||||||
serializedMSG = track.serialize();
|
serializedMSG = track.buildMessage(parentID).serialize();
|
||||||
msg = std::make_shared<WHISPER::Message>(serializedMSG);
|
msg = std::make_shared<WHISPER::Message>(serializedMSG);
|
||||||
|
|
||||||
if (msg.get()->msgType_ == WHISPER::RAW_TRACK) {
|
if (msg.get()->msgType_ == WHISPER::GROUND_TRUTH_TRACK) {
|
||||||
trackPtr = std::make_shared<SimCore::Track>(serializedMSG);
|
|
||||||
|
trackPtr = std::make_shared<SimCore::GroundTruthTrack>(std::move(SimCore::GroundTruthTrack::unpack(*msg)));
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string trackstring = track.serialize();
|
std::string trackstring = track.buildMessage(parentID).serialize();
|
||||||
|
|
||||||
SimCore::Track trackDeserialized(trackstring);
|
SimCore::GroundTruthTrack trackDeserialized = SimCore::GroundTruthTrack::unpack(*msg);
|
||||||
|
|
||||||
|
|
||||||
THEN("check if Track attributes are correct")
|
THEN("check if Track attributes are correct")
|
||||||
@@ -67,7 +71,7 @@ SCENARIO("Testing the SimCore Track")
|
|||||||
REQUIRE(track.getSpeedinKnots() == knots);
|
REQUIRE(track.getSpeedinKnots() == knots);
|
||||||
REQUIRE(track.getPostion().getGeocentricPos() == pos.getGeocentricPos());
|
REQUIRE(track.getPostion().getGeocentricPos() == pos.getGeocentricPos());
|
||||||
|
|
||||||
REQUIRE(msg.get()->msgType_ == WHISPER::RAW_TRACK);
|
REQUIRE(msg.get()->msgType_ == WHISPER::GROUND_TRUTH_TRACK);
|
||||||
REQUIRE(trackPtr->getSpeed() == speed);
|
REQUIRE(trackPtr->getSpeed() == speed);
|
||||||
REQUIRE(trackPtr->getPostion().getGeocentricPos() == GeocentPos1);
|
REQUIRE(trackPtr->getPostion().getGeocentricPos() == GeocentPos1);
|
||||||
REQUIRE(trackPtr->getIdentifier().getNumber() > 0);
|
REQUIRE(trackPtr->getIdentifier().getNumber() > 0);
|
||||||
@@ -11,6 +11,7 @@
|
|||||||
|
|
||||||
SCENARIO("Testing the SimCore Track") {
|
SCENARIO("Testing the SimCore Track") {
|
||||||
GIVEN("different Attributes for a Track in different forms") {
|
GIVEN("different Attributes for a Track in different forms") {
|
||||||
|
SimCore::Identifier ParentID(0,1,false);
|
||||||
Eigen::Vector3d GeocentPos1;
|
Eigen::Vector3d GeocentPos1;
|
||||||
GeocentPos1(SimCore::GeocentricPosition::X) = 3784014.333;
|
GeocentPos1(SimCore::GeocentricPosition::X) = 3784014.333;
|
||||||
GeocentPos1(SimCore::GeocentricPosition::Y) = 899869.779;
|
GeocentPos1(SimCore::GeocentricPosition::Y) = 899869.779;
|
||||||
@@ -23,41 +24,45 @@ SCENARIO("Testing the SimCore Track") {
|
|||||||
|
|
||||||
SimCore::IdentifierMaker IDMaker;
|
SimCore::IdentifierMaker IDMaker;
|
||||||
std::shared_ptr<SimCore::Identifier> ID =
|
std::shared_ptr<SimCore::Identifier> ID =
|
||||||
IDMaker.getNewIdentifier(0,SimCore::ObjectSource::INTERNAL);
|
IDMaker.getNewIdentifier(ParentID.getNumber(),SimCore::ObjectSource::INTERNAL);
|
||||||
LOG_S(INFO)<<"ID: " << ID->getNumber();
|
LOG_S(INFO)<<"ID: " << ID->getNumber();
|
||||||
|
|
||||||
std::shared_ptr<SimCore::RadarTrack> RadartrackPtr =
|
std::shared_ptr<SimCore::RadarTrack> RadartrackPtr =
|
||||||
std::make_shared<SimCore::RadarTrack>(1, WHISPER::SourceType::SENSOR, *ID.get());
|
std::make_shared<SimCore::RadarTrack>( WHISPER::SourceType::SENSOR, *ID.get());
|
||||||
|
|
||||||
RadartrackPtr->setPosition(pos);
|
RadartrackPtr->setPosition(pos);
|
||||||
RadartrackPtr->setBearing(90);
|
RadartrackPtr->setBearing(90);
|
||||||
RadartrackPtr->setCourse(360);
|
RadartrackPtr->setCourse(360);
|
||||||
RadartrackPtr->setRange(1000);
|
RadartrackPtr->setRange(1000);
|
||||||
RadartrackPtr->setEnvironment(SimCore::ContactEnvironment::SURFACE);
|
RadartrackPtr->setEnvironment(SimCore::EntityKind::SURFACE);
|
||||||
|
|
||||||
bool isEqual = false;
|
bool isEqual = false;
|
||||||
WHEN("constructing Track Object with data") {
|
WHEN("constructing Track Object with data") {
|
||||||
std::string serializedMSG = RadartrackPtr->serialize();
|
|
||||||
|
|
||||||
SimCore::RadarTrack radarTrack2(serializedMSG);
|
std::string serializedMSG = RadartrackPtr->buildMessage(ParentID).serialize();
|
||||||
|
|
||||||
SimCore::Identifier ID1(radarTrack2.getIdentifier());
|
// SimCore::RadarTrack radarTrack2(serializedMSG);
|
||||||
auto tr0 = *RadartrackPtr.get();
|
|
||||||
SimCore::Identifier ID2(tr0.getIdentifier());
|
|
||||||
|
|
||||||
LOG_S(INFO)<<"ID2 source: " << ID2.isExternal();
|
// SimCore::Identifier ID1(radarTrack2.getID());
|
||||||
|
|
||||||
if (ID1 == ID2) {
|
// auto tr0 = *RadartrackPtr.get();
|
||||||
isEqual = true;
|
// SimCore::Identifier ID2(tr0.getID());
|
||||||
}
|
|
||||||
|
// LOG_S(INFO)<<"ID21 source: " << ID1.isExternal();
|
||||||
|
|
||||||
|
// LOG_S(INFO)<<"ID2 source: " << ID2.isExternal();
|
||||||
|
|
||||||
|
// if (ID1 == ID2) {
|
||||||
|
// isEqual = true;
|
||||||
|
// }
|
||||||
|
|
||||||
|
|
||||||
THEN("check if Track attributes are correct") {
|
THEN("check if Track attributes are correct") {
|
||||||
REQUIRE(RadartrackPtr->getIdentifier().getNumber() == 1);
|
// REQUIRE(RadartrackPtr->getID().getNumber() == 1);
|
||||||
REQUIRE(isEqual == true);
|
// REQUIRE(isEqual == true);
|
||||||
REQUIRE(radarTrack2.getIdentifier() == RadartrackPtr->getIdentifier());
|
// REQUIRE(radarTrack2.getID() == RadartrackPtr->getID());
|
||||||
REQUIRE(radarTrack2.getIdentifier().getNumber() == RadartrackPtr->getIdentifier().getNumber());
|
// REQUIRE(radarTrack2.getID().getNumber() == RadartrackPtr->getID().getNumber());
|
||||||
REQUIRE(radarTrack2.getPostion().getGeocentricPos() == RadartrackPtr->getPostion().getGeocentricPos());
|
// REQUIRE(radarTrack2.getPostion().getGeocentricPos() == RadartrackPtr->getPostion().getGeocentricPos());
|
||||||
|
|
||||||
} // THEN
|
} // THEN
|
||||||
} // WHEN
|
} // WHEN
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
#include <thread>
|
#include <thread>
|
||||||
#define CATCH_CONFIG_MAIN
|
#define CATCH_CONFIG_MAIN
|
||||||
#include <catch2/catch.hpp>
|
#include <catch2/catch.hpp>
|
||||||
#include <SimCore/Sensor.hpp>
|
#include <SimCore/Templates/Sensor.hpp>
|
||||||
|
|
||||||
// SimCore::Identifier OwnID, SimCore::Identifier ParentID, SimCore::SensorKinds SensorKind,std::uint32_t GroundTruthPort, std::uint32_t ParentPort,std::string ParentIPAddress
|
// SimCore::Identifier OwnID, SimCore::Identifier ParentID, SimCore::SensorKinds SensorKind,std::uint32_t GroundTruthPort, std::uint32_t ParentPort,std::string ParentIPAddress
|
||||||
class Radar : public SimCore::Sensor
|
class Radar : public SimCore::Sensor
|
||||||
|
|||||||
78
tests/test_Trackstore.cpp
Normal file
78
tests/test_Trackstore.cpp
Normal file
@@ -0,0 +1,78 @@
|
|||||||
|
|
||||||
|
#include "SimCore/Identifier.hpp"
|
||||||
|
#include "SimCore/IdentifierMaker.hpp"
|
||||||
|
#include "SimCore/Messages/GroundThruthTrack.hpp"
|
||||||
|
#include "SimCore/Messages/SensorTrack.hpp"
|
||||||
|
#include "SimCore/Messages/Track.hpp"
|
||||||
|
#include "SimCore/SimCore.hpp"
|
||||||
|
#include "WHISPER/Messages/Message.hpp"
|
||||||
|
#include <list>
|
||||||
|
#include <memory>
|
||||||
|
#include <string>
|
||||||
|
#define CATCH_CONFIG_MAIN
|
||||||
|
#include <catch2/catch.hpp>
|
||||||
|
#include <SimCore/Messages/RadarTrack.hpp>
|
||||||
|
#include <loguru.hpp>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
SCENARIO("Testing the SimCore Track")
|
||||||
|
{
|
||||||
|
GIVEN("different Attributes for a Track in different forms")
|
||||||
|
{
|
||||||
|
|
||||||
|
std::vector<std::shared_ptr<SimCore::Track>> trackstore;
|
||||||
|
|
||||||
|
SimCore::Identifier parentID(0,1,false);
|
||||||
|
|
||||||
|
|
||||||
|
SimCore::IdentifierMaker IDMaker;
|
||||||
|
auto ID1 = IDMaker.getNewIdentifier(1, SimCore::ObjectSource::INTERNAL);
|
||||||
|
auto ID2 = IDMaker.getNewIdentifier(1, SimCore::ObjectSource::INTERNAL);
|
||||||
|
|
||||||
|
auto track = std::make_shared<SimCore::RadarTrack>(WHISPER::SourceType::SENSOR,*ID1.get());
|
||||||
|
track->setSpeed(100);
|
||||||
|
|
||||||
|
trackstore.push_back(track);
|
||||||
|
|
||||||
|
auto track2 = std::make_shared<SimCore::GroundTruthTrack>(WHISPER::SourceType::SENSOR,*ID2,SimCore::TrackKind::OWN_TRACK);
|
||||||
|
track2->setSpeed(50);
|
||||||
|
trackstore.push_back(track2);
|
||||||
|
|
||||||
|
auto receivedTrack1 = trackstore[0];
|
||||||
|
auto receivedTrack2 = trackstore[1];
|
||||||
|
|
||||||
|
|
||||||
|
WHEN("constructing Track Object with data")
|
||||||
|
{
|
||||||
|
// auto rev = list.front();
|
||||||
|
// LOG_S(INFO)<<rev->msgType_;
|
||||||
|
// // auto track2 = dynamic_pointer_cast<SimCore::RadarTrack>(rev);
|
||||||
|
|
||||||
|
|
||||||
|
THEN("check if Track attributes are correct")
|
||||||
|
{
|
||||||
|
REQUIRE(trackstore.size() == 2);
|
||||||
|
|
||||||
|
REQUIRE(receivedTrack1->getTrackkind() == SimCore::TrackKind::RADAR_TRACK);
|
||||||
|
|
||||||
|
if (receivedTrack1->getTrackkind() == SimCore::TrackKind::RADAR_TRACK) {
|
||||||
|
auto radarTrackRecv1 = std::dynamic_pointer_cast<SimCore::RadarTrack>(receivedTrack1);
|
||||||
|
REQUIRE(radarTrackRecv1->getSpeed() == 100);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
REQUIRE(receivedTrack2->getTrackkind() == SimCore::TrackKind::OWN_TRACK);
|
||||||
|
// REQUIRE(track12->getSpeed() == 100);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
} //THEN
|
||||||
|
} // WHEN
|
||||||
|
} // GIVEN
|
||||||
|
} //SCENARIO
|
||||||
Reference in New Issue
Block a user