etsi_its_messages v3.4.0
Loading...
Searching...
No Matches
denm_ts_getters.h File Reference

Getter functions for the ETSI ITS DENM (TS). More...

Go to the source code of this file.

Functions

uint32_t etsi_its_denm_ts_msgs::access::getStationID (const ItsPduHeader &header)
 Get the StationID of ItsPduHeader.
double etsi_its_denm_ts_msgs::access::getLatitude (const Latitude &latitude)
 Get the Latitude value.
double etsi_its_denm_ts_msgs::access::getLongitude (const Longitude &longitude)
 Get the Longitude value.
double etsi_its_denm_ts_msgs::access::getAltitude (const Altitude &altitude)
 Get the Altitude value.
double etsi_its_denm_ts_msgs::access::getSpeed (const Speed &speed)
 Get the vehicle speed.
double etsi_its_denm_ts_msgs::access::getSpeedConfidence (const Speed &speed)
 Get the Speed Confidence.
template<typename AccelerationMagnitude>
double etsi_its_denm_ts_msgs::access::getAccelerationMagnitude (const AccelerationMagnitude &acceleration_magnitude)
 Get the AccelerationMagnitude value.
template<typename AccelerationMagnitude>
double etsi_its_denm_ts_msgs::access::getAccelerationMagnitudeConfidence (const AccelerationMagnitude &acceleration_magnitude)
 Get the AccelerationMagnitude Confidence.
template<typename T>
gm::PointStamped etsi_its_denm_ts_msgs::access::getUTMPosition (const T &reference_position, int &zone, bool &northp)
 Get the UTM Position defined by the given ReferencePosition.
template<typename Heading>
double etsi_its_denm_ts_msgs::access::getHeadingCDD (const Heading &heading)
 Get the Heading value.
template<typename Heading>
double etsi_its_denm_ts_msgs::access::getHeadingConfidenceCDD (const Heading &heading)
 Get the Heading value.
template<typename YawRate>
double etsi_its_denm_ts_msgs::access::getYawRateCDD (const YawRate &yaw_rate)
 Get the Yaw Rate value.
template<typename YawRate, typename YawRateConfidence = decltype(YawRate::yaw_rate_confidence)>
double etsi_its_denm_ts_msgs::access::getYawRateConfidenceCDD (const YawRate &yaw_rate)
 Get the Yaw Rate Confidence.
template<typename SemiAxisLength>
double etsi_its_denm_ts_msgs::access::getSemiAxis (const SemiAxisLength &semi_axis_length)
 Get the Semi Axis object.
template<typename PosConfidenceEllipse>
std::tuple< double, double, double > etsi_its_denm_ts_msgs::access::getPosConfidenceEllipse (const PosConfidenceEllipse &position_confidence_ellipse)
 Extract major axis length, minor axis length and orientation from the given position confidence ellipse.
std::array< double, 4 > etsi_its_denm_ts_msgs::access::CovMatrixFromConfidenceEllipse (double semi_major, double semi_minor, double major_orientation, const double object_heading)
 Convert the confidence ellipse to a covariance matrix.
std::array< double, 4 > etsi_its_denm_ts_msgs::access::WGSCovMatrixFromConfidenceEllipse (double semi_major, double semi_minor, double major_orientation)
 Convert the confidence ellipse to a covariance matrix.
template<typename PosConfidenceEllipse>
std::array< double, 4 > etsi_its_denm_ts_msgs::access::getPosConfidenceEllipse (const PosConfidenceEllipse &position_confidence_ellipse, const double object_heading)
 Get the covariance matrix of the position confidence ellipse.
template<typename PosConfidenceEllipse>
std::array< double, 4 > etsi_its_denm_ts_msgs::access::getWGSPosConfidenceEllipse (const PosConfidenceEllipse &position_confidence_ellipse)
 Get the covariance matrix of the position confidence ellipse.
template<typename Wgs84Angle>
double etsi_its_denm_ts_msgs::access::getWGSHeadingCDD (const Wgs84Angle &heading)
 Get the WGS Heading value.
template<typename Wgs84Angle>
double etsi_its_denm_ts_msgs::access::getWGSHeadingConfidenceCDD (const Wgs84Angle &heading)
 Get the WGS Heading confidence.
std::vector< bool > etsi_its_denm_ts_msgs::access::getBitString (const std::vector< uint8_t > &buffer, const int bits_unused)
 Get a Bit String in form of bool vector.
uint32_t etsi_its_denm_ts_msgs::access::getStationID (const DENM &denm)
 Get the Station ID object.
TimestampIts etsi_its_denm_ts_msgs::access::getReferenceTime (const DENM &denm)
 Get the Reference Time object.
uint64_t etsi_its_denm_ts_msgs::access::getReferenceTimeValue (const DENM &denm)
 Get the ReferenceTime-Value.
uint8_t etsi_its_denm_ts_msgs::access::getStationType (const DENM &denm)
 Get the stationType object.
double etsi_its_denm_ts_msgs::access::getLatitude (const DENM &denm)
 Get the Latitude value of DENM.
double etsi_its_denm_ts_msgs::access::getLongitude (const DENM &denm)
 Get the Longitude value of DENM.
double etsi_its_denm_ts_msgs::access::getAltitude (const DENM &denm)
 Get the Altitude value of DENM.
bool etsi_its_denm_ts_msgs::access::getIsHeadingPresent (const DENM &denm)
 Get the IsHeadingPresent object.
double etsi_its_denm_ts_msgs::access::getSpeed (const DENM &denm)
 Get the vehicle speed.
bool etsi_its_denm_ts_msgs::access::getIsSpeedPresent (const DENM &denm)
 Get the IsSpeedPresent object.
double etsi_its_denm_ts_msgs::access::getSpeedConfidence (const DENM &denm)
 Get the Speed Confidence.
gm::PointStamped etsi_its_denm_ts_msgs::access::getUTMPosition (const DENM &denm, int &zone, bool &northp)
 Get the UTM Position defined within the ManagementContainer of the DENM.
gm::PointStamped etsi_its_denm_ts_msgs::access::getUTMPosition (const DENM &denm)
 Get the UTM Position defined within the ManagementContainer of the DENM.
std::vector< bool > etsi_its_denm_ts_msgs::access::getDrivingLaneStatus (const DrivingLaneStatus &driving_lane_status)
 Get the Driving Lane Status in form of bool vector.
std::vector< bool > etsi_its_denm_ts_msgs::access::getLightBarSirenInUse (const LightBarSirenInUse &light_bar_siren_in_use)
 Get the Lightbar Siren In Use in form of bool vector.
double etsi_its_denm_ts_msgs::access::getWGSHeading (const DENM &denm)
 Get the WGS Heading object.
double etsi_its_denm_ts_msgs::access::getWGSHeadingConfidence (const DENM &denm)
 Get the WGS Heading confidence.
uint8_t etsi_its_denm_ts_msgs::access::getCauseCode (const DENM &denm)
 Get the Cause Code object.
uint8_t etsi_its_denm_ts_msgs::access::getSubCauseCode (const DENM &denm)
 Get the Sub Cause Code object.
std::string etsi_its_denm_ts_msgs::access::getCauseCodeType (const DENM &denm)
 Get the Cause Code Type object.
std::string etsi_its_denm_ts_msgs::access::getSubCauseCodeType (const DENM &denm)
 Get the Sub Cause Code Type object.

Detailed Description

Getter functions for the ETSI ITS DENM (TS).

Definition in file denm_ts_getters.h.

Macro Definition Documentation

◆ ETSI_ITS_MSGS_UTILS_IMPL_CDD_CDD_V2_2_1_GETTERS_H

#define ETSI_ITS_MSGS_UTILS_IMPL_CDD_CDD_V2_2_1_GETTERS_H

Definition at line 34 of file denm_ts_getters.h.

Function Documentation

◆ CovMatrixFromConfidenceEllipse()

std::array< double, 4 > etsi_its_denm_ts_msgs::access::CovMatrixFromConfidenceEllipse ( double semi_major,
double semi_minor,
double major_orientation,
const double object_heading )
inline

Convert the confidence ellipse to a covariance matrix.

Note that the major_orientation is given in degrees, while the object_heading is given in radians!

Parameters
semi_majorSemi major axis length in meters
semi_minorSemi minor axis length in meters
major_orientationOrientation of the major axis in degrees, relative to WGS84
object_headingobject heading in radians, relative to WGS84
Returns
std::array<double, 4> The covariance matrix in vehicle coordinates (x = longitudinal, y = lateral)

Definition at line 244 of file denm_ts_getters.h.

244 {
245 if (sub_cause_code == TrafficConditionSubCauseCode().UNAVAILABLE)
246 sub_cause_code_type = "unavailable";
247 else if (sub_cause_code == TrafficConditionSubCauseCode().INCREASED_VOLUME_OF_TRAFFIC)
248 sub_cause_code_type = "increased volume of traffic";
249 else if (sub_cause_code == TrafficConditionSubCauseCode().TRAFFIC_JAM_SLOWLY_INCREASING)
250 sub_cause_code_type = "traffic jam slowly increasing";
251 else if (sub_cause_code == TrafficConditionSubCauseCode().TRAFFIC_JAM_INCREASING)
252 sub_cause_code_type = "traffic jam increasing";
253 else if (sub_cause_code == TrafficConditionSubCauseCode().TRAFFIC_JAM_STRONGLY_INCREASING)
254 sub_cause_code_type = "traffic jam strongly increasing";
255 else if (sub_cause_code == TrafficConditionSubCauseCode().TRAFFIC_JAM)
256 sub_cause_code_type = "traffic jam";
257 else if (sub_cause_code == TrafficConditionSubCauseCode().TRAFFIC_JAM_SLIGHTLY_DECREASING)
258 sub_cause_code_type = "traffic jam slightly decreasing";
259 else if (sub_cause_code == TrafficConditionSubCauseCode().TRAFFIC_JAM_DECREASING)
260 sub_cause_code_type = "traffic jam decreasing";
261 else if (sub_cause_code == TrafficConditionSubCauseCode().TRAFFIC_JAM_STRONGLY_DECREASING)

◆ getAccelerationMagnitude()

template<typename AccelerationMagnitude>
double etsi_its_denm_ts_msgs::access::getAccelerationMagnitude ( const AccelerationMagnitude & acceleration_magnitude)
inline

Get the AccelerationMagnitude value.

Parameters
acceleration_magnitudeto get the AccelerationMagnitude from
Returns
double acceleration magnitude in m/s^2 as decimal number

Definition at line 103 of file denm_ts_getters.h.

◆ getAccelerationMagnitudeConfidence()

template<typename AccelerationMagnitude>
double etsi_its_denm_ts_msgs::access::getAccelerationMagnitudeConfidence ( const AccelerationMagnitude & acceleration_magnitude)
inline

Get the AccelerationMagnitude Confidence.

Parameters
acceleration_magnitudeto get the AccelerationMagnitudeConfidence from
Returns
double acceleration magnitude standard deviation in m/s^2 as decimal number

Definition at line 114 of file denm_ts_getters.h.

◆ getAltitude() [1/2]

double etsi_its_denm_ts_msgs::access::getAltitude ( const Altitude & altitude)
inline

Get the Altitude value.

Parameters
altitudeto get the Altitude value from
Returns
Altitude value (above the reference ellipsoid surface) in meter as decimal number (0 if unavailable)

Definition at line 71 of file denm_ts_getters.h.

71 {
72 throw std::invalid_argument("LocationContainer is not present!");
73 }
74}
75

◆ getAltitude() [2/2]

double etsi_its_denm_ts_msgs::access::getAltitude ( const DENM & denm)
inline

Get the Altitude value of DENM.

Parameters
denmDENM to get the Altitude value from
Returns
Altitude value (above the reference ellipsoid surface) in meter as decimal number

Definition at line 91 of file denm_ts_getters.h.

◆ getBitString()

std::vector< bool > etsi_its_denm_ts_msgs::access::getBitString ( const std::vector< uint8_t > & buffer,
const int bits_unused )
inline

Get a Bit String in form of bool vector.

Parameters
bufferas uint8_t vector
bits_unusednumber of bits to ignore at the end of the bit string
Returns
std::vector<bool>

Definition at line 43 of file denm_ts_getters.h.

64inline double getWGSHeadingConfidence(const DENM& denm) {
65 if (denm.denm.location_is_present) {
66 if (denm.denm.location.event_position_heading_is_present) {
67 return getWGSHeadingConfidenceCDD(denm.denm.location.event_position_heading);
68 } else {
double getWGSHeadingConfidenceCDD(const Wgs84Angle &heading)
Get the WGS Heading confidence.
double getWGSHeadingCDD(const Wgs84Angle &heading)
Get the WGS Heading value.
double getWGSHeadingConfidence(const DENM &denm)
Get the WGS Heading confidence.

◆ getCauseCode()

uint8_t etsi_its_denm_ts_msgs::access::getCauseCode ( const DENM & denm)
inline

Get the Cause Code object.

Parameters
denmDENM to get the causeCode value from
Returns
causeCode value

Definition at line 82 of file denm_ts_getters.h.

82{ return denm.denm.situation.event_type.cc_and_scc.choice; }

◆ getCauseCodeType()

std::string etsi_its_denm_ts_msgs::access::getCauseCodeType ( const DENM & denm)
inline

Get the Cause Code Type object.

https://www.etsi.org/deliver/etsi_ts/103800_103899/103831/02.02.01_60/ts_103831v020201p.pdf

Parameters
denmDENM to get the causeCodeType value from
Returns
causeCodeType value

Definition at line 161 of file denm_ts_getters.h.

161 {
162 if (denm.denm.situation_is_present) {
163 int cause_code = getCauseCode(denm);
164 std::string cause_code_type = "undefined";
165
166 if (cause_code == CauseCodeChoice().CHOICE_TRAFFIC_CONDITION1)
167 cause_code_type = "traffic condition";
168 else if (cause_code == CauseCodeChoice().CHOICE_ACCIDENT2)
169 cause_code_type = "accident";
170 else if (cause_code == CauseCodeChoice().CHOICE_ROADWORKS3)
171 cause_code_type = "roadworks";
172 else if (cause_code == CauseCodeChoice().CHOICE_IMPASSABILITY5)
173 cause_code_type = "impassability";
174 else if (cause_code == CauseCodeChoice().CHOICE_ADVERSE_WEATHER_CONDITION_ADHESION6)
175 cause_code_type = "adverse weather condition - adhesion";
176 else if (cause_code == CauseCodeChoice().CHOICE_AQUAPLANING7)
177 cause_code_type = "aquaplaning";
178 else if (cause_code == CauseCodeChoice().CHOICE_HAZARDOUS_LOCATION_SURFACE_CONDITION9)
179 cause_code_type = "hazardous location - surface condition";
180 else if (cause_code == CauseCodeChoice().CHOICE_HAZARDOUS_LOCATION_OBSTACLE_ON_THE_ROAD10)
181 cause_code_type = "hazardous location - obstacle on the road";
182 else if (cause_code == CauseCodeChoice().CHOICE_HAZARDOUS_LOCATION_ANIMAL_ON_THE_ROAD11)
183 cause_code_type = "hazardous location - animal on the road";
184 else if (cause_code == CauseCodeChoice().CHOICE_HUMAN_PRESENCE_ON_THE_ROAD12)
185 cause_code_type = "human presence on the road";
186 else if (cause_code == CauseCodeChoice().CHOICE_WRONG_WAY_DRIVING14)
187 cause_code_type = "wrong way driving";
188 else if (cause_code == CauseCodeChoice().CHOICE_RESCUE_AND_RECOVERY_WORK_IN_PROGRESS15)
189 cause_code_type = "rescue and recovery in progress";
190 else if (cause_code == CauseCodeChoice().CHOICE_ADVERSE_WEATHER_CONDITION_EXTREME_WEATHER_CONDITION17)
191 cause_code_type = "adverse weather condition - extreme weather condition";
192 else if (cause_code == CauseCodeChoice().CHOICE_ADVERSE_WEATHER_CONDITION_VISIBILITY18)
193 cause_code_type = "adverse weather condition - visibility";
194 else if (cause_code == CauseCodeChoice().CHOICE_ADVERSE_WEATHER_CONDITION_PRECIPITATION19)
195 cause_code_type = "adverse weather condition - precipitation";
196 else if (cause_code == CauseCodeChoice().CHOICE_VIOLENCE20)
197 cause_code_type = "violence";
198 else if (cause_code == CauseCodeChoice().CHOICE_SLOW_VEHICLE26)
199 cause_code_type = "slow vehicle";
200 else if (cause_code == CauseCodeChoice().CHOICE_DANGEROUS_END_OF_QUEUE27)
201 cause_code_type = "dangerous end of queue";
202 else if (cause_code == CauseCodeChoice().CHOICE_PUBLIC_TRANSPORT_VEHICLE_APPROACHING28)
203 cause_code_type = "public transport vehicle approaching";
204 else if (cause_code == CauseCodeChoice().CHOICE_VEHICLE_BREAKDOWN91)
205 cause_code_type = "vehicle breakdown";
206 else if (cause_code == CauseCodeChoice().CHOICE_POST_CRASH92)
207 cause_code_type = "post crash";
208 else if (cause_code == CauseCodeChoice().CHOICE_HUMAN_PROBLEM93)
209 cause_code_type = "human problem";
210 else if (cause_code == CauseCodeChoice().CHOICE_STATIONARY_VEHICLE94)
211 cause_code_type = "stationary vehicle";
212 else if (cause_code == CauseCodeChoice().CHOICE_EMERGENCY_VEHICLE_APPROACHING95)
213 cause_code_type = "emergency vehicle approaching";
214 else if (cause_code == CauseCodeChoice().CHOICE_HAZARDOUS_LOCATION_DANGEROUS_CURVE96)
215 cause_code_type = "hazardous location - dangerous curve";
216 else if (cause_code == CauseCodeChoice().CHOICE_COLLISION_RISK97)
217 cause_code_type = "collision risk";
218 else if (cause_code == CauseCodeChoice().CHOICE_SIGNAL_VIOLATION98)
219 cause_code_type = "signal violation";
220 else if (cause_code == CauseCodeChoice().CHOICE_DANGEROUS_SITUATION99)
221 cause_code_type = "dangerous situation";
222 else if (cause_code == CauseCodeChoice().CHOICE_RAILWAY_LEVEL_CROSSING100)
223 cause_code_type = "railway level crossing";
224
225 return cause_code_type;
226 } else {
227 throw std::invalid_argument("SituationContainer is not present!");
228 }
229}
uint8_t getCauseCode(const DENM &denm)
Get the Cause Code object.

◆ getDrivingLaneStatus()

std::vector< bool > etsi_its_denm_ts_msgs::access::getDrivingLaneStatus ( const DrivingLaneStatus & driving_lane_status)
inline

Get the Driving Lane Status in form of bool vector.

Parameters
driving_lane_status
Returns
std::vector<bool>

Definition at line 180 of file denm_ts_getters.h.

◆ getHeadingCDD()

template<typename Heading>
double etsi_its_denm_ts_msgs::access::getHeadingCDD ( const Heading & heading)
inline

Get the Heading value.

0.0° equals WGS84 North, 90.0° equals WGS84 East, 180.0° equals WGS84 South and 270.0° equals WGS84 West

Parameters
headingto get the Heading value from
Returns
Heading value in degree as decimal number

Definition at line 159 of file denm_ts_getters.h.

◆ getHeadingConfidenceCDD()

template<typename Heading>
double etsi_its_denm_ts_msgs::access::getHeadingConfidenceCDD ( const Heading & heading)
inline

Get the Heading value.

0.0° equals WGS84 North, 90.0° equals WGS84 East, 180.0° equals WGS84 South and 270.0° equals WGS84 West

Parameters
headingto get the Heading standard deviation from
Returns
Heading standard deviation in degree as decimal number

Definition at line 170 of file denm_ts_getters.h.

◆ getIsHeadingPresent()

bool etsi_its_denm_ts_msgs::access::getIsHeadingPresent ( const DENM & denm)
inline

Get the IsHeadingPresent object.

Parameters
denmDENM to get the IsHeadingPresent-Value from
Returns
IsHeadingPresent-Value (true or false)

Definition at line 99 of file denm_ts_getters.h.

◆ getIsSpeedPresent()

bool etsi_its_denm_ts_msgs::access::getIsSpeedPresent ( const DENM & denm)
inline

Get the IsSpeedPresent object.

Parameters
denmDENM to get the IsSpeedPresent-Value from
Returns
IsSpeedPresent-Value (true or false)

Definition at line 131 of file denm_ts_getters.h.

◆ getLatitude() [1/2]

double etsi_its_denm_ts_msgs::access::getLatitude ( const DENM & denm)
inline

Get the Latitude value of DENM.

Parameters
denmDENM to get the Latitude value from
Returns
Latitude value in degree as decimal number

Definition at line 75 of file denm_ts_getters.h.

◆ getLatitude() [2/2]

double etsi_its_denm_ts_msgs::access::getLatitude ( const Latitude & latitude)
inline

Get the Latitude value.

Parameters
latitudeto get the Latitude value from
Returns
Latitude value in degree as decimal number

Definition at line 55 of file denm_ts_getters.h.

◆ getLightBarSirenInUse()

std::vector< bool > etsi_its_denm_ts_msgs::access::getLightBarSirenInUse ( const LightBarSirenInUse & light_bar_siren_in_use)
inline

Get the Lightbar Siren In Use in form of bool vector.

Parameters
light_bar_siren_in_use
Returns
std::vector<bool>

Definition at line 190 of file denm_ts_getters.h.

◆ getLongitude() [1/2]

double etsi_its_denm_ts_msgs::access::getLongitude ( const DENM & denm)
inline

Get the Longitude value of DENM.

Parameters
denmDENM to get the Longitude value from
Returns
Longitude value in degree as decimal number

Definition at line 83 of file denm_ts_getters.h.

◆ getLongitude() [2/2]

double etsi_its_denm_ts_msgs::access::getLongitude ( const Longitude & longitude)
inline

Get the Longitude value.

Parameters
longitudeto get the Longitude value from
Returns
Longitude value in degree as decimal number

Definition at line 63 of file denm_ts_getters.h.

◆ getPosConfidenceEllipse() [1/2]

template<typename PosConfidenceEllipse>
std::tuple< double, double, double > etsi_its_denm_ts_msgs::access::getPosConfidenceEllipse ( const PosConfidenceEllipse & position_confidence_ellipse)
inline

Extract major axis length, minor axis length and orientation from the given position confidence ellipse.

Parameters
position_confidence_ellipseThe position confidence ellipse to extract the values from
Returns
std::tuple<double, double, double> major axis length in meters, minor axis length in meters, and orientation in degrees

Definition at line 225 of file denm_ts_getters.h.

226 {
227 throw std::invalid_argument("SituationContainer is not present!");
228 }
229}
230

◆ getPosConfidenceEllipse() [2/2]

template<typename PosConfidenceEllipse>
std::array< double, 4 > etsi_its_denm_ts_msgs::access::getPosConfidenceEllipse ( const PosConfidenceEllipse & position_confidence_ellipse,
const double object_heading )
inline

Get the covariance matrix of the position confidence ellipse.

Parameters
position_confidence_ellipseThe position confidence ellipse to get the covariance matrix from
object_headingThe object heading in radians
Returns
std::array<double, 4> The covariance matrix of the position confidence ellipse in vehicle coordinates (x = longitudinal, y = lateral)

Definition at line 286 of file denm_ts_getters.h.

◆ getReferenceTime()

TimestampIts etsi_its_denm_ts_msgs::access::getReferenceTime ( const DENM & denm)
inline

Get the Reference Time object.

Parameters
denmDENM to get the ReferenceTime-Value from
Returns
TimestampIts

Definition at line 51 of file denm_ts_getters.h.

◆ getReferenceTimeValue()

uint64_t etsi_its_denm_ts_msgs::access::getReferenceTimeValue ( const DENM & denm)
inline

Get the ReferenceTime-Value.

Parameters
denmDENM to get the ReferenceTime-Value from
Returns
uint64_t the ReferenceTime-Value

Definition at line 59 of file denm_ts_getters.h.

◆ getSemiAxis()

template<typename SemiAxisLength>
double etsi_its_denm_ts_msgs::access::getSemiAxis ( const SemiAxisLength & semi_axis_length)
inline

Get the Semi Axis object.

Parameters
semi_axis_lengthThe SemiAxisLength object to get the semi axis from
Returns
double the semi axis length in meters

Definition at line 214 of file denm_ts_getters.h.

◆ getSpeed() [1/2]

double etsi_its_denm_ts_msgs::access::getSpeed ( const DENM & denm)
inline

Get the vehicle speed.

Parameters
denmDENM to get the speed value from
Returns
speed value in m/s as decimal number

Definition at line 113 of file denm_ts_getters.h.

◆ getSpeed() [2/2]

double etsi_its_denm_ts_msgs::access::getSpeed ( const Speed & speed)
inline

Get the vehicle speed.

Parameters
speedto get the speed value from
Returns
speed value in m/s as decimal number

Definition at line 84 of file denm_ts_getters.h.

◆ getSpeedConfidence() [1/2]

double etsi_its_denm_ts_msgs::access::getSpeedConfidence ( const DENM & denm)
inline

Get the Speed Confidence.

Parameters
denmDENM to get the Speed Confidence from
Returns
double standard deviation of the speed in m/s as decimal number

Definition at line 145 of file denm_ts_getters.h.

◆ getSpeedConfidence() [2/2]

double etsi_its_denm_ts_msgs::access::getSpeedConfidence ( const Speed & speed)
inline

Get the Speed Confidence.

Parameters
speedto get the SpeedConfidence from
Returns
double speed standard deviation in m/s as decimal number

Definition at line 92 of file denm_ts_getters.h.

◆ getStationID() [1/2]

uint32_t etsi_its_denm_ts_msgs::access::getStationID ( const DENM & denm)
inline

Get the Station ID object.

Parameters
denmDENM to get the StationID value from
Returns
stationID value

Definition at line 43 of file denm_ts_getters.h.

◆ getStationID() [2/2]

uint32_t etsi_its_denm_ts_msgs::access::getStationID ( const ItsPduHeader & header)
inline

Get the StationID of ItsPduHeader.

Parameters
headerItsPduHeader to get the StationID value from
Returns
stationID value

Definition at line 47 of file denm_ts_getters.h.

◆ getStationType()

uint8_t etsi_its_denm_ts_msgs::access::getStationType ( const DENM & denm)
inline

Get the stationType object.

Parameters
denmDENM to get the stationType value from
Returns
stationType value

Definition at line 67 of file denm_ts_getters.h.

◆ getSubCauseCode()

uint8_t etsi_its_denm_ts_msgs::access::getSubCauseCode ( const DENM & denm)
inline

Get the Sub Cause Code object.

Parameters
denmDENM to get the subCauseCode value from
Returns
subCauseCode value

Definition at line 90 of file denm_ts_getters.h.

◆ getSubCauseCodeType()

std::string etsi_its_denm_ts_msgs::access::getSubCauseCodeType ( const DENM & denm)
inline

Get the Sub Cause Code Type object.

https://www.etsi.org/deliver/etsi_ts/103800_103899/103831/02.02.01_60/ts_103831v020201p.pdf

Parameters
denmDENM to get the subCauseCodeType value from
Returns
causeCodeType value

Definition at line 239 of file denm_ts_getters.h.

◆ getUTMPosition() [1/3]

gm::PointStamped etsi_its_denm_ts_msgs::access::getUTMPosition ( const DENM & denm)
inline

Get the UTM Position defined within the ManagementContainer of the DENM.

Parameters
denmDENM to get the UTM Position from
Returns
gm::PointStamped geometry_msgs::PointStamped of the given position

Definition at line 168 of file denm_ts_getters.h.

◆ getUTMPosition() [2/3]

gm::PointStamped etsi_its_denm_ts_msgs::access::getUTMPosition ( const DENM & denm,
int & zone,
bool & northp )
inline

Get the UTM Position defined within the ManagementContainer of the DENM.

Parameters
denmDENM to get the UTM Position from
zonethe UTM zone (zero means UPS)
northphemisphere (true means north, false means south)
Returns
gm::PointStamped geometry_msgs::PointStamped of the given position

Definition at line 158 of file denm_ts_getters.h.

◆ getUTMPosition() [3/3]

template<typename T>
gm::PointStamped etsi_its_denm_ts_msgs::access::getUTMPosition ( const T & reference_position,
int & zone,
bool & northp )
inline

Get the UTM Position defined by the given ReferencePosition.

The position is transformed into UTM by using GeographicLib::UTMUPS The altitude value is directly used as z-Coordinate

Parameters
[in]reference_positionReferencePosition or ReferencePositionWithConfidence to get the UTM Position from
[out]zonethe UTM zone (zero means UPS)
[out]northphemisphere (true means north, false means south)
Returns
gm::PointStamped geometry_msgs::PointStamped of the given position

Definition at line 130 of file denm_ts_getters.h.

◆ getWGSHeading()

double etsi_its_denm_ts_msgs::access::getWGSHeading ( const DENM & denm)
inline

Get the WGS Heading object.

Parameters
denmDENM to get the WGS Heading-Value from
Returns
heading value in degree as decimal number

Definition at line 46 of file denm_ts_getters.h.

◆ getWGSHeadingCDD()

template<typename Wgs84Angle>
double etsi_its_denm_ts_msgs::access::getWGSHeadingCDD ( const Wgs84Angle & heading)
inline

Get the WGS Heading value.

0.0° equals WGS84 North, 90.0° equals WGS84 East, 180.0° equals WGS84 South and 270.0° equals WGS84 West

Parameters
headingto get the WGS Heading value from
Returns
WGS Heading value in degree as decimal number

Definition at line 47 of file denm_ts_getters.h.

◆ getWGSHeadingConfidence()

double etsi_its_denm_ts_msgs::access::getWGSHeadingConfidence ( const DENM & denm)
inline

Get the WGS Heading confidence.

Parameters
denmDENM to get the WGSHeading-Value from
Returns
standard deviation of heading in degrees as decimal number

Definition at line 64 of file denm_ts_getters.h.

◆ getWGSHeadingConfidenceCDD()

template<typename Wgs84Angle>
double etsi_its_denm_ts_msgs::access::getWGSHeadingConfidenceCDD ( const Wgs84Angle & heading)
inline

Get the WGS Heading confidence.

0.0° equals WGS84 North, 90.0° equals WGS84 East, 180.0° equals WGS84 South and 270.0° equals WGS84 West

Parameters
headingto get the WGS Heading standard deviation from
Returns
WGS Heading standard deviation in degree as decimal number

Definition at line 59 of file denm_ts_getters.h.

◆ getWGSPosConfidenceEllipse()

template<typename PosConfidenceEllipse>
std::array< double, 4 > etsi_its_denm_ts_msgs::access::getWGSPosConfidenceEllipse ( const PosConfidenceEllipse & position_confidence_ellipse)
inline

Get the covariance matrix of the position confidence ellipse.

Parameters
position_confidence_ellipseThe position confidence ellipse to get the covariance matrix from
object_headingThe object heading in radians
Returns
std::array<double, 4> The covariance matrix of the position confidence ellipse in WGS coordinates (x = North, y = East)

Definition at line 299 of file denm_ts_getters.h.

◆ getYawRateCDD()

template<typename YawRate>
double etsi_its_denm_ts_msgs::access::getYawRateCDD ( const YawRate & yaw_rate)
inline

Get the Yaw Rate value.

Parameters
yaw_rateThe YawRate object to get the yaw rate from
Returns
double The yaw rate in degrees per second

Definition at line 179 of file denm_ts_getters.h.

◆ getYawRateConfidenceCDD()

template<typename YawRate, typename YawRateConfidence = decltype(YawRate::yaw_rate_confidence)>
double etsi_its_denm_ts_msgs::access::getYawRateConfidenceCDD ( const YawRate & yaw_rate)
inline

Get the Yaw Rate Confidence.

Parameters
yaw_rateThe YawRate object to get the yaw rate confidence from
Returns
double The yaw rate standard deviation in degrees per second

Definition at line 190 of file denm_ts_getters.h.

◆ WGSCovMatrixFromConfidenceEllipse()

std::array< double, 4 > etsi_its_denm_ts_msgs::access::WGSCovMatrixFromConfidenceEllipse ( double semi_major,
double semi_minor,
double major_orientation )
inline

Convert the confidence ellipse to a covariance matrix.

Note that the major_orientation is given in degrees, while the object_heading is given in radians!

Parameters
semi_majorSemi major axis length in meters
semi_minorSemi minor axis length in meters
major_orientationOrientation of the major axis in degrees, relative to WGS84
Returns
std::array<double, 4> The covariance matrix in WGS coordinates (x = North, y = East)

Definition at line 273 of file denm_ts_getters.h.