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 11 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 221 of file denm_ts_getters.h.

221 {
222 if (sub_cause_code == TrafficConditionSubCauseCode().UNAVAILABLE)
223 sub_cause_code_type = "unavailable";
224 else if (sub_cause_code == TrafficConditionSubCauseCode().INCREASED_VOLUME_OF_TRAFFIC)
225 sub_cause_code_type = "increased volume of traffic";
226 else if (sub_cause_code == TrafficConditionSubCauseCode().TRAFFIC_JAM_SLOWLY_INCREASING)
227 sub_cause_code_type = "traffic jam slowly increasing";
228 else if (sub_cause_code == TrafficConditionSubCauseCode().TRAFFIC_JAM_INCREASING)
229 sub_cause_code_type = "traffic jam increasing";
230 else if (sub_cause_code == TrafficConditionSubCauseCode().TRAFFIC_JAM_STRONGLY_INCREASING)
231 sub_cause_code_type = "traffic jam strongly increasing";
232 else if (sub_cause_code == TrafficConditionSubCauseCode().TRAFFIC_JAM)
233 sub_cause_code_type = "traffic jam";
234 else if (sub_cause_code == TrafficConditionSubCauseCode().TRAFFIC_JAM_SLIGHTLY_DECREASING)
235 sub_cause_code_type = "traffic jam slightly decreasing";
236 else if (sub_cause_code == TrafficConditionSubCauseCode().TRAFFIC_JAM_DECREASING)
237 sub_cause_code_type = "traffic jam decreasing";
238 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 80 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 91 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 48 of file denm_ts_getters.h.

48 {
49 throw std::invalid_argument("LocationContainer is not present!");
50 }
51}
52

◆ 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 68 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 20 of file denm_ts_getters.h.

41inline double getWGSHeadingConfidence(const DENM& denm) {
42 if (denm.denm.location_is_present) {
43 if (denm.denm.location.event_position_heading_is_present) {
44 return getWGSHeadingConfidenceCDD(denm.denm.location.event_position_heading);
45 } 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 59 of file denm_ts_getters.h.

59{ 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 138 of file denm_ts_getters.h.

138 {
139 if (denm.denm.situation_is_present) {
140 int cause_code = getCauseCode(denm);
141 std::string cause_code_type = "undefined";
142
143 if (cause_code == CauseCodeChoice().CHOICE_TRAFFIC_CONDITION1)
144 cause_code_type = "traffic condition";
145 else if (cause_code == CauseCodeChoice().CHOICE_ACCIDENT2)
146 cause_code_type = "accident";
147 else if (cause_code == CauseCodeChoice().CHOICE_ROADWORKS3)
148 cause_code_type = "roadworks";
149 else if (cause_code == CauseCodeChoice().CHOICE_IMPASSABILITY5)
150 cause_code_type = "impassability";
151 else if (cause_code == CauseCodeChoice().CHOICE_ADVERSE_WEATHER_CONDITION_ADHESION6)
152 cause_code_type = "adverse weather condition - adhesion";
153 else if (cause_code == CauseCodeChoice().CHOICE_AQUAPLANING7)
154 cause_code_type = "aquaplaning";
155 else if (cause_code == CauseCodeChoice().CHOICE_HAZARDOUS_LOCATION_SURFACE_CONDITION9)
156 cause_code_type = "hazardous location - surface condition";
157 else if (cause_code == CauseCodeChoice().CHOICE_HAZARDOUS_LOCATION_OBSTACLE_ON_THE_ROAD10)
158 cause_code_type = "hazardous location - obstacle on the road";
159 else if (cause_code == CauseCodeChoice().CHOICE_HAZARDOUS_LOCATION_ANIMAL_ON_THE_ROAD11)
160 cause_code_type = "hazardous location - animal on the road";
161 else if (cause_code == CauseCodeChoice().CHOICE_HUMAN_PRESENCE_ON_THE_ROAD12)
162 cause_code_type = "human presence on the road";
163 else if (cause_code == CauseCodeChoice().CHOICE_WRONG_WAY_DRIVING14)
164 cause_code_type = "wrong way driving";
165 else if (cause_code == CauseCodeChoice().CHOICE_RESCUE_AND_RECOVERY_WORK_IN_PROGRESS15)
166 cause_code_type = "rescue and recovery in progress";
167 else if (cause_code == CauseCodeChoice().CHOICE_ADVERSE_WEATHER_CONDITION_EXTREME_WEATHER_CONDITION17)
168 cause_code_type = "adverse weather condition - extreme weather condition";
169 else if (cause_code == CauseCodeChoice().CHOICE_ADVERSE_WEATHER_CONDITION_VISIBILITY18)
170 cause_code_type = "adverse weather condition - visibility";
171 else if (cause_code == CauseCodeChoice().CHOICE_ADVERSE_WEATHER_CONDITION_PRECIPITATION19)
172 cause_code_type = "adverse weather condition - precipitation";
173 else if (cause_code == CauseCodeChoice().CHOICE_VIOLENCE20)
174 cause_code_type = "violence";
175 else if (cause_code == CauseCodeChoice().CHOICE_SLOW_VEHICLE26)
176 cause_code_type = "slow vehicle";
177 else if (cause_code == CauseCodeChoice().CHOICE_DANGEROUS_END_OF_QUEUE27)
178 cause_code_type = "dangerous end of queue";
179 else if (cause_code == CauseCodeChoice().CHOICE_PUBLIC_TRANSPORT_VEHICLE_APPROACHING28)
180 cause_code_type = "public transport vehicle approaching";
181 else if (cause_code == CauseCodeChoice().CHOICE_VEHICLE_BREAKDOWN91)
182 cause_code_type = "vehicle breakdown";
183 else if (cause_code == CauseCodeChoice().CHOICE_POST_CRASH92)
184 cause_code_type = "post crash";
185 else if (cause_code == CauseCodeChoice().CHOICE_HUMAN_PROBLEM93)
186 cause_code_type = "human problem";
187 else if (cause_code == CauseCodeChoice().CHOICE_STATIONARY_VEHICLE94)
188 cause_code_type = "stationary vehicle";
189 else if (cause_code == CauseCodeChoice().CHOICE_EMERGENCY_VEHICLE_APPROACHING95)
190 cause_code_type = "emergency vehicle approaching";
191 else if (cause_code == CauseCodeChoice().CHOICE_HAZARDOUS_LOCATION_DANGEROUS_CURVE96)
192 cause_code_type = "hazardous location - dangerous curve";
193 else if (cause_code == CauseCodeChoice().CHOICE_COLLISION_RISK97)
194 cause_code_type = "collision risk";
195 else if (cause_code == CauseCodeChoice().CHOICE_SIGNAL_VIOLATION98)
196 cause_code_type = "signal violation";
197 else if (cause_code == CauseCodeChoice().CHOICE_DANGEROUS_SITUATION99)
198 cause_code_type = "dangerous situation";
199 else if (cause_code == CauseCodeChoice().CHOICE_RAILWAY_LEVEL_CROSSING100)
200 cause_code_type = "railway level crossing";
201
202 return cause_code_type;
203 } else {
204 throw std::invalid_argument("SituationContainer is not present!");
205 }
206}
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 157 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 136 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 147 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 76 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 108 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 52 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 32 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 167 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 60 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 40 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 202 of file denm_ts_getters.h.

203 {
204 throw std::invalid_argument("SituationContainer is not present!");
205 }
206}
207

◆ 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 263 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 28 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 36 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 191 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 90 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 61 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 122 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 69 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 20 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 24 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 44 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 67 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 216 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 145 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 135 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 107 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 23 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 24 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 41 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 36 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 276 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 156 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 167 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 250 of file denm_ts_getters.h.