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

Getter functions for the ETSI ITS CAM (EN). More...

Go to the source code of this file.

Functions

uint32_t etsi_its_cam_msgs::access::getStationID (const ItsPduHeader &header)
 Get the StationID of ItsPduHeader.
double etsi_its_cam_msgs::access::getLatitude (const Latitude &latitude)
 Get the Latitude value.
double etsi_its_cam_msgs::access::getLongitude (const Longitude &longitude)
 Get the Longitude value.
double etsi_its_cam_msgs::access::getAltitude (const Altitude &altitude)
 Get the Altitude value.
double etsi_its_cam_msgs::access::getSpeed (const Speed &speed)
 Get the vehicle speed.
double etsi_its_cam_msgs::access::getSpeedConfidence (const Speed &speed)
 Get the Speed Confidence.
template<typename AccelerationMagnitude>
double etsi_its_cam_msgs::access::getAccelerationMagnitude (const AccelerationMagnitude &acceleration_magnitude)
 Get the AccelerationMagnitude value.
template<typename AccelerationMagnitude>
double etsi_its_cam_msgs::access::getAccelerationMagnitudeConfidence (const AccelerationMagnitude &acceleration_magnitude)
 Get the AccelerationMagnitude Confidence.
template<typename T>
gm::PointStamped etsi_its_cam_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_cam_msgs::access::getHeadingCDD (const Heading &heading)
 Get the Heading value.
template<typename Heading>
double etsi_its_cam_msgs::access::getHeadingConfidenceCDD (const Heading &heading)
 Get the Heading value.
template<typename YawRate>
double etsi_its_cam_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_cam_msgs::access::getYawRateConfidenceCDD (const YawRate &yaw_rate)
 Get the Yaw Rate Confidence.
template<typename SemiAxisLength>
double etsi_its_cam_msgs::access::getSemiAxis (const SemiAxisLength &semi_axis_length)
 Get the Semi Axis object.
template<typename PosConfidenceEllipse>
std::tuple< double, double, double > etsi_its_cam_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_cam_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_cam_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_cam_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_cam_msgs::access::getWGSPosConfidenceEllipse (const PosConfidenceEllipse &position_confidence_ellipse)
 Get the covariance matrix of the position confidence ellipse.
double etsi_its_cam_msgs::access::getLongitudinalAcceleration (const LongitudinalAcceleration &longitudinal_acceleration)
 Get the longitudinal acceleration.
double etsi_its_cam_msgs::access::getLongitudinalAccelerationConfidence (const LongitudinalAcceleration &longitudinal_acceleration)
 Get the Longitudinal Acceleration Confidence.
double etsi_its_cam_msgs::access::getLateralAcceleration (const LateralAcceleration &lateral_acceleration)
 Get the lateral acceleration.
double etsi_its_cam_msgs::access::getLateralAccelerationConfidence (const LateralAcceleration &lateral_acceleration)
 Get the Lateral Acceleration Confidence.
std::vector< bool > etsi_its_cam_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_cam_msgs::access::getStationID (const CAM &cam)
 Get the Station ID object.
GenerationDeltaTime etsi_its_cam_msgs::access::getGenerationDeltaTime (const CAM &cam)
 Get the GenerationDeltaTime.
uint16_t etsi_its_cam_msgs::access::getGenerationDeltaTimeValue (const CAM &cam)
 Get the GenerationDeltaTime-Value.
uint8_t etsi_its_cam_msgs::access::getStationType (const CAM &cam)
 Get the stationType object.
double etsi_its_cam_msgs::access::getLatitude (const CAM &cam)
 Get the Latitude value of CAM.
double etsi_its_cam_msgs::access::getLongitude (const CAM &cam)
 Get the Longitude value of CAM.
double etsi_its_cam_msgs::access::getAltitude (const CAM &cam)
 Get the Altitude value of CAM.
double etsi_its_cam_msgs::access::getHeading (const CAM &cam)
 Get the Heading value of CAM.
double etsi_its_cam_msgs::access::getHeadingConfidence (const CAM &cam)
 Get the Heading confidence of CAM.
double etsi_its_cam_msgs::access::getYawRate (const CAM &cam)
 Get the Yaw Rate of CAM.
double etsi_its_cam_msgs::access::getYawRateConfidence (const CAM &cam)
 Get the Yaw Rate Confidence of CAM.
double etsi_its_cam_msgs::access::getVehicleLength (const VehicleLength &vehicle_length)
 Get the Vehicle Length.
double etsi_its_cam_msgs::access::getVehicleLength (const CAM &cam)
 Get the Vehicle Length.
double etsi_its_cam_msgs::access::getVehicleWidth (const VehicleWidth &vehicle_width)
 Get the Vehicle Width.
double etsi_its_cam_msgs::access::getVehicleWidth (const CAM &cam)
 Get the Vehicle Width.
double etsi_its_cam_msgs::access::getSpeed (const CAM &cam)
 Get the vehicle speed.
double etsi_its_cam_msgs::access::getSpeedConfidence (const CAM &cam)
 Get the Speed Confidence.
double etsi_its_cam_msgs::access::getLongitudinalAcceleration (const CAM &cam)
 Get the longitudinal acceleration.
double etsi_its_cam_msgs::access::getLongitudinalAccelerationConfidence (const CAM &cam)
 Get the Longitudinal Acceleration Confidence.
double etsi_its_cam_msgs::access::getLateralAcceleration (const CAM &cam)
 Get the lateral acceleration.
double etsi_its_cam_msgs::access::getLateralAccelerationConfidence (const CAM &cam)
 Get the Lateral Acceleration Confidence.
gm::PointStamped etsi_its_cam_msgs::access::getUTMPosition (const CAM &cam, int &zone, bool &northp)
 Get the UTM Position defined within the BasicContainer of the CAM.
gm::PointStamped etsi_its_cam_msgs::access::getUTMPosition (const CAM &cam)
 Get the UTM Position defined within the BasicContainer of the CAM.
std::vector< bool > etsi_its_cam_msgs::access::getExteriorLights (const ExteriorLights &exterior_lights)
 Get the Exterior Lights in form of bool vector.
std::vector< bool > etsi_its_cam_msgs::access::getExteriorLights (const CAM &cam)
 Get Exterior Lights as bool vector.
std::vector< bool > etsi_its_cam_msgs::access::getAccelerationControl (const AccelerationControl &acceleration_control)
 Get Acceleration Control in form of bool vector.
std::vector< bool > etsi_its_cam_msgs::access::getDrivingLaneStatus (const DrivingLaneStatus &driving_lane_status)
 Get the Driving Lane Status in form of bool vector.
std::vector< bool > etsi_its_cam_msgs::access::getSpecialTransportType (const SpecialTransportType &special_transport_type)
 Get the Special Transport Type in form of bool vector.
std::vector< bool > etsi_its_cam_msgs::access::getLightBarSirenInUse (const LightBarSirenInUse &light_bar_siren_in_use)
 Get the Lightbar Siren In Use in form of bool vector.
std::vector< bool > etsi_its_cam_msgs::access::getEmergencyPriority (const EmergencyPriority &emergency_priority)
 Get the Vehicle Role in form of bool vector.
const std::array< double, 4 > etsi_its_cam_msgs::access::getRefPosConfidence (const CAM &cam)
 Get the confidence ellipse of the reference position as Covariance matrix.
const std::array< double, 4 > etsi_its_cam_msgs::access::getWGSRefPosConfidence (const CAM &cam)
 Get the confidence ellipse of the reference position as Covariance matrix.

Detailed Description

Getter functions for the ETSI ITS CAM (EN).

Definition in file cam_getters.h.

Function Documentation

◆ CovMatrixFromConfidenceEllipse()

std::array< double, 4 > etsi_its_cam_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 cam_getters.h.

◆ getAccelerationControl()

std::vector< bool > etsi_its_cam_msgs::access::getAccelerationControl ( const AccelerationControl & acceleration_control)
inline

Get Acceleration Control in form of bool vector.

Parameters
acceleration_control
Returns
std::vector<bool>

Definition at line 300 of file cam_getters.h.

310 {
312
319inline double getLongitudinalAcceleration(const LongitudinalAcceleration& longitudinal_acceleration) {
320 return ((double)longitudinal_acceleration.longitudinal_acceleration_value.value) * 1e-1;
321}
322
329inline double getLongitudinalAccelerationConfidence(const LongitudinalAcceleration& longitudinal_acceleration) {
330 return ((double)longitudinal_acceleration.longitudinal_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
331}
332
339inline double getLateralAcceleration(const LateralAcceleration& lateral_acceleration) {
340 return ((double)lateral_acceleration.lateral_acceleration_value.value) * 1e-1;
341}
342
349inline double getLateralAccelerationConfidence(const LateralAcceleration& lateral_acceleration) {
350 return ((double)lateral_acceleration.lateral_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
351}
352
354
364inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
365 double object_heading = getHeading(cam) * M_PI / 180.0;
366 return getPosConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
367}
368
378inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
379 return getWGSPosConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
380}
381
382}
const std::array< double, 4 > getRefPosConfidence(const CAM &cam)
Get the confidence ellipse of the reference position as Covariance matrix.
Definition cam_getters.h:65
std::array< double, 4 > getWGSPosConfidenceEllipse(const PosConfidenceEllipse &position_confidence_ellipse)
Get the covariance matrix of the position confidence ellipse.
const std::array< double, 4 > getWGSRefPosConfidence(const CAM &cam)
Get the confidence ellipse of the reference position as Covariance matrix.
Definition cam_getters.h:79
double getLateralAccelerationConfidence(const LateralAcceleration &lateral_acceleration)
Get the Lateral Acceleration Confidence.
Definition cam_getters.h:50
std::tuple< double, double, double > getPosConfidenceEllipse(const PosConfidenceEllipse &position_confidence_ellipse)
Extract major axis length, minor axis length and orientation from the given position confidence ellip...
double getLongitudinalAcceleration(const LongitudinalAcceleration &longitudinal_acceleration)
Get the longitudinal acceleration.
Definition cam_getters.h:20
double getHeading(const CAM &cam)
Get the Heading value of CAM.
Definition cam_getters.h:84
Common getter functions for the ETSI ITS CAM (EN and TS).
double getLongitudinalAccelerationConfidence(const CAM &cam)
Get the Longitudinal Acceleration Confidence.
double getLateralAcceleration(const CAM &cam)
Get the lateral acceleration.
Getter functions for the ETSI ITS Common Data Dictionary (CDD) v1.3.1.

◆ getAccelerationMagnitude()

template<typename AccelerationMagnitude>
double etsi_its_cam_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 cam_getters.h.

◆ getAccelerationMagnitudeConfidence()

template<typename AccelerationMagnitude>
double etsi_its_cam_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 cam_getters.h.

101 {
103
110inline double getLongitudinalAcceleration(const LongitudinalAcceleration& longitudinal_acceleration) {
111 return ((double)longitudinal_acceleration.longitudinal_acceleration_value.value) * 1e-1;
112}
113
120inline double getLongitudinalAccelerationConfidence(const LongitudinalAcceleration& longitudinal_acceleration) {
121 return ((double)longitudinal_acceleration.longitudinal_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
122}
123
130inline double getLateralAcceleration(const LateralAcceleration& lateral_acceleration) {
131 return ((double)lateral_acceleration.lateral_acceleration_value.value) * 1e-1;
132}
133
140inline double getLateralAccelerationConfidence(const LateralAcceleration& lateral_acceleration) {
141 return ((double)lateral_acceleration.lateral_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
142}
143
145
155inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
156 double object_heading = getHeading(cam) * M_PI / 180.0;
157 return getPosConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
158}
159
169inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
170 return getWGSPosConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
171}
172
173}

◆ getAltitude() [1/2]

double etsi_its_cam_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 cam_getters.h.

50 {
51 return ((double)lateral_acceleration.lateral_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
52}
53

◆ getAltitude() [2/2]

double etsi_its_cam_msgs::access::getAltitude ( const CAM & cam)
inline

Get the Altitude value of CAM.

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

Definition at line 72 of file cam_getters.h.

◆ getBitString()

std::vector< bool > etsi_its_cam_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 cam_getters.h.

20 {
21 return ((double)longitudinal_acceleration.longitudinal_acceleration_value.value) * 1e-1;
22}
23
30inline double getLongitudinalAccelerationConfidence(const LongitudinalAcceleration& longitudinal_acceleration) {
31 return ((double)longitudinal_acceleration.longitudinal_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
32}
33
40inline double getLateralAcceleration(const LateralAcceleration& lateral_acceleration) {
41 return ((double)lateral_acceleration.lateral_acceleration_value.value) * 1e-1;
42}
43

◆ getDrivingLaneStatus()

std::vector< bool > etsi_its_cam_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 310 of file cam_getters.h.

329inline double getLongitudinalAcceleration(const LongitudinalAcceleration& longitudinal_acceleration) {
330 return ((double)longitudinal_acceleration.longitudinal_acceleration_value.value) * 1e-1;
331}
332
339inline double getLongitudinalAccelerationConfidence(const LongitudinalAcceleration& longitudinal_acceleration) {
340 return ((double)longitudinal_acceleration.longitudinal_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
341}
342
349inline double getLateralAcceleration(const LateralAcceleration& lateral_acceleration) {
350 return ((double)lateral_acceleration.lateral_acceleration_value.value) * 1e-1;
351}
352
359inline double getLateralAccelerationConfidence(const LateralAcceleration& lateral_acceleration) {
360 return ((double)lateral_acceleration.lateral_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
361}
362
364
374inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
375 double object_heading = getHeading(cam) * M_PI / 180.0;
376 return getPosConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
377}
378
388inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
389 return getWGSPosConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
390}
391
392}

◆ getEmergencyPriority()

std::vector< bool > etsi_its_cam_msgs::access::getEmergencyPriority ( const EmergencyPriority & emergency_priority)
inline

Get the Vehicle Role in form of bool vector.

Parameters
vehicle_role
Returns
std::vector<bool>

Definition at line 340 of file cam_getters.h.

350 {
352
359inline double getLongitudinalAcceleration(const LongitudinalAcceleration& longitudinal_acceleration) {
360 return ((double)longitudinal_acceleration.longitudinal_acceleration_value.value) * 1e-1;
361}
362
369inline double getLongitudinalAccelerationConfidence(const LongitudinalAcceleration& longitudinal_acceleration) {
370 return ((double)longitudinal_acceleration.longitudinal_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
371}
372
379inline double getLateralAcceleration(const LateralAcceleration& lateral_acceleration) {
380 return ((double)lateral_acceleration.lateral_acceleration_value.value) * 1e-1;
381}
382
389inline double getLateralAccelerationConfidence(const LateralAcceleration& lateral_acceleration) {
390 return ((double)lateral_acceleration.lateral_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
391}
392
394
404inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
405 double object_heading = getHeading(cam) * M_PI / 180.0;
406 return getPosConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
407}
408
418inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
419 return getWGSPosConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
420}
421
422}

◆ getExteriorLights() [1/2]

std::vector< bool > etsi_its_cam_msgs::access::getExteriorLights ( const CAM & cam)
inline

Get Exterior Lights as bool vector.

Parameters
camCAM to get the ExteriorLights values from
Returns
std::vector<bool>

Definition at line 280 of file cam_getters.h.

290 {
292
299inline double getLongitudinalAcceleration(const LongitudinalAcceleration& longitudinal_acceleration) {
300 return ((double)longitudinal_acceleration.longitudinal_acceleration_value.value) * 1e-1;
301}
302
309inline double getLongitudinalAccelerationConfidence(const LongitudinalAcceleration& longitudinal_acceleration) {
310 return ((double)longitudinal_acceleration.longitudinal_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
311}
312
319inline double getLateralAcceleration(const LateralAcceleration& lateral_acceleration) {
320 return ((double)lateral_acceleration.lateral_acceleration_value.value) * 1e-1;
321}
322
329inline double getLateralAccelerationConfidence(const LateralAcceleration& lateral_acceleration) {
330 return ((double)lateral_acceleration.lateral_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
331}
332
334
344inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
345 double object_heading = getHeading(cam) * M_PI / 180.0;
346 return getPosConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
347}
348
358inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
359 return getWGSPosConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
360}
361
362}

◆ getExteriorLights() [2/2]

std::vector< bool > etsi_its_cam_msgs::access::getExteriorLights ( const ExteriorLights & exterior_lights)
inline

Get the Exterior Lights in form of bool vector.

Parameters
exterior_lights
Returns
std::vector<bool>

Definition at line 270 of file cam_getters.h.

280 {
282
289inline double getLongitudinalAcceleration(const LongitudinalAcceleration& longitudinal_acceleration) {
290 return ((double)longitudinal_acceleration.longitudinal_acceleration_value.value) * 1e-1;
291}
292
299inline double getLongitudinalAccelerationConfidence(const LongitudinalAcceleration& longitudinal_acceleration) {
300 return ((double)longitudinal_acceleration.longitudinal_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
301}
302
309inline double getLateralAcceleration(const LateralAcceleration& lateral_acceleration) {
310 return ((double)lateral_acceleration.lateral_acceleration_value.value) * 1e-1;
311}
312
319inline double getLateralAccelerationConfidence(const LateralAcceleration& lateral_acceleration) {
320 return ((double)lateral_acceleration.lateral_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
321}
322
324
334inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
335 double object_heading = getHeading(cam) * M_PI / 180.0;
336 return getPosConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
337}
338
348inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
349 return getWGSPosConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
350}
351
352}

◆ getGenerationDeltaTime()

GenerationDeltaTime etsi_its_cam_msgs::access::getGenerationDeltaTime ( const CAM & cam)
inline

Get the GenerationDeltaTime.

Parameters
camCAM to get the GenerationDeltaTime from
Returns
GenerationDeltaTime the GenerationDeltaTime

Definition at line 28 of file cam_getters.h.

◆ getGenerationDeltaTimeValue()

uint16_t etsi_its_cam_msgs::access::getGenerationDeltaTimeValue ( const CAM & cam)
inline

Get the GenerationDeltaTime-Value.

Parameters
camCAM to get the GenerationDeltaTime-Value from
Returns
uint16_t the GenerationDeltaTime-Value

Definition at line 36 of file cam_getters.h.

◆ getHeading()

double etsi_its_cam_msgs::access::getHeading ( const CAM & cam)
inline

Get the Heading value of CAM.

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

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

Definition at line 84 of file cam_getters.h.

94 {
96
103inline double getLongitudinalAcceleration(const LongitudinalAcceleration& longitudinal_acceleration) {
104 return ((double)longitudinal_acceleration.longitudinal_acceleration_value.value) * 1e-1;
105}
106
113inline double getLongitudinalAccelerationConfidence(const LongitudinalAcceleration& longitudinal_acceleration) {
114 return ((double)longitudinal_acceleration.longitudinal_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
115}
116
123inline double getLateralAcceleration(const LateralAcceleration& lateral_acceleration) {
124 return ((double)lateral_acceleration.lateral_acceleration_value.value) * 1e-1;
125}
126
133inline double getLateralAccelerationConfidence(const LateralAcceleration& lateral_acceleration) {
134 return ((double)lateral_acceleration.lateral_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
135}
136
138
148inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
149 double object_heading = getHeading(cam) * M_PI / 180.0;
150 return getPosConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
151}
152
162inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
163 return getWGSPosConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
164}
165
166}

◆ getHeadingCDD()

template<typename Heading>
double etsi_its_cam_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 cam_getters.h.

146{
148
155inline double getLongitudinalAcceleration(const LongitudinalAcceleration& longitudinal_acceleration) {
156 return ((double)longitudinal_acceleration.longitudinal_acceleration_value.value) * 1e-1;
157}
158
165inline double getLongitudinalAccelerationConfidence(const LongitudinalAcceleration& longitudinal_acceleration) {
166 return ((double)longitudinal_acceleration.longitudinal_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
167}
168
175inline double getLateralAcceleration(const LateralAcceleration& lateral_acceleration) {
176 return ((double)lateral_acceleration.lateral_acceleration_value.value) * 1e-1;
177}
178
185inline double getLateralAccelerationConfidence(const LateralAcceleration& lateral_acceleration) {
186 return ((double)lateral_acceleration.lateral_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
187}
188
190
200inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
201 double object_heading = getHeading(cam) * M_PI / 180.0;
202 return getPosConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
203}
204
214inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
215 return getWGSPosConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
216}
217
218}

◆ getHeadingConfidence()

double etsi_its_cam_msgs::access::getHeadingConfidence ( const CAM & cam)
inline

Get the Heading confidence of CAM.

Parameters
camCAM to get the Heading confidence from
Returns
Heading standard deviation in degree as decimal number

Definition at line 95 of file cam_getters.h.

105 {
107
114inline double getLongitudinalAcceleration(const LongitudinalAcceleration& longitudinal_acceleration) {
115 return ((double)longitudinal_acceleration.longitudinal_acceleration_value.value) * 1e-1;
116}
117
124inline double getLongitudinalAccelerationConfidence(const LongitudinalAcceleration& longitudinal_acceleration) {
125 return ((double)longitudinal_acceleration.longitudinal_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
126}
127
134inline double getLateralAcceleration(const LateralAcceleration& lateral_acceleration) {
135 return ((double)lateral_acceleration.lateral_acceleration_value.value) * 1e-1;
136}
137
144inline double getLateralAccelerationConfidence(const LateralAcceleration& lateral_acceleration) {
145 return ((double)lateral_acceleration.lateral_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
146}
147
149
159inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
160 double object_heading = getHeading(cam) * M_PI / 180.0;
161 return getPosConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
162}
163
173inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
174 return getWGSPosConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
175}
176
177}

◆ getHeadingConfidenceCDD()

template<typename Heading>
double etsi_its_cam_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 cam_getters.h.

157{
159
166inline double getLongitudinalAcceleration(const LongitudinalAcceleration& longitudinal_acceleration) {
167 return ((double)longitudinal_acceleration.longitudinal_acceleration_value.value) * 1e-1;
168}
169
176inline double getLongitudinalAccelerationConfidence(const LongitudinalAcceleration& longitudinal_acceleration) {
177 return ((double)longitudinal_acceleration.longitudinal_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
178}
179
186inline double getLateralAcceleration(const LateralAcceleration& lateral_acceleration) {
187 return ((double)lateral_acceleration.lateral_acceleration_value.value) * 1e-1;
188}
189
196inline double getLateralAccelerationConfidence(const LateralAcceleration& lateral_acceleration) {
197 return ((double)lateral_acceleration.lateral_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
198}
199
201
211inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
212 double object_heading = getHeading(cam) * M_PI / 180.0;
213 return getPosConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
214}
215
225inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
226 return getWGSPosConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
227}
228
229}

◆ getLateralAcceleration() [1/2]

double etsi_its_cam_msgs::access::getLateralAcceleration ( const CAM & cam)
inline

Get the lateral acceleration.

Parameters
camCAM to get the lateral acceleration from
Returns
lateral acceleration in m/s^2 as decimal number (left is positive)

Definition at line 208 of file cam_getters.h.

218 {
220
227inline double getLongitudinalAcceleration(const LongitudinalAcceleration& longitudinal_acceleration) {
228 return ((double)longitudinal_acceleration.longitudinal_acceleration_value.value) * 1e-1;
229}
230
237inline double getLongitudinalAccelerationConfidence(const LongitudinalAcceleration& longitudinal_acceleration) {
238 return ((double)longitudinal_acceleration.longitudinal_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
239}
240
247inline double getLateralAcceleration(const LateralAcceleration& lateral_acceleration) {
248 return ((double)lateral_acceleration.lateral_acceleration_value.value) * 1e-1;
249}
250
257inline double getLateralAccelerationConfidence(const LateralAcceleration& lateral_acceleration) {
258 return ((double)lateral_acceleration.lateral_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
259}
260
262
272inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
273 double object_heading = getHeading(cam) * M_PI / 180.0;
274 return getPosConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
275}
276
286inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
287 return getWGSPosConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
288}
289
290}

◆ getLateralAcceleration() [2/2]

double etsi_its_cam_msgs::access::getLateralAcceleration ( const LateralAcceleration & lateral_acceleration)
inline

Get the lateral acceleration.

Parameters
lateralAccelerationto get the lateral acceleration from
Returns
lateral acceleration in m/s^2 as decimal number (left is positive)

Definition at line 40 of file cam_getters.h.

40 {
41 return ((double)lateral_acceleration.lateral_acceleration_value.value) * 1e-1;
42}

◆ getLateralAccelerationConfidence() [1/2]

double etsi_its_cam_msgs::access::getLateralAccelerationConfidence ( const CAM & cam)
inline

Get the Lateral Acceleration Confidence.

Parameters
camCAM to get the LateralAccelerationConfidence from
Returns
double standard deviation of the lateral acceleration in m/s^2 as decimal number

Definition at line 224 of file cam_getters.h.

234 {
236
243inline double getLongitudinalAcceleration(const LongitudinalAcceleration& longitudinal_acceleration) {
244 return ((double)longitudinal_acceleration.longitudinal_acceleration_value.value) * 1e-1;
245}
246
253inline double getLongitudinalAccelerationConfidence(const LongitudinalAcceleration& longitudinal_acceleration) {
254 return ((double)longitudinal_acceleration.longitudinal_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
255}
256
263inline double getLateralAcceleration(const LateralAcceleration& lateral_acceleration) {
264 return ((double)lateral_acceleration.lateral_acceleration_value.value) * 1e-1;
265}
266
273inline double getLateralAccelerationConfidence(const LateralAcceleration& lateral_acceleration) {
274 return ((double)lateral_acceleration.lateral_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
275}
276
278
288inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
289 double object_heading = getHeading(cam) * M_PI / 180.0;
290 return getPosConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
291}
292
302inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
303 return getWGSPosConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
304}
305
306}

◆ getLateralAccelerationConfidence() [2/2]

double etsi_its_cam_msgs::access::getLateralAccelerationConfidence ( const LateralAcceleration & lateral_acceleration)
inline

Get the Lateral Acceleration Confidence.

Parameters
longitudinal_accelerationto get the LateralAccelerationConfidence from
Returns
double standard deviation of the lateral acceleration in m/s^2 as decimal number

Definition at line 50 of file cam_getters.h.

50 {
51 return ((double)lateral_acceleration.lateral_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
52}

◆ getLatitude() [1/2]

double etsi_its_cam_msgs::access::getLatitude ( const CAM & cam)
inline

Get the Latitude value of CAM.

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

Definition at line 52 of file cam_getters.h.

◆ getLatitude() [2/2]

double etsi_its_cam_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 cam_getters.h.

◆ getLightBarSirenInUse()

std::vector< bool > etsi_its_cam_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 330 of file cam_getters.h.

340 {
342
349inline double getLongitudinalAcceleration(const LongitudinalAcceleration& longitudinal_acceleration) {
350 return ((double)longitudinal_acceleration.longitudinal_acceleration_value.value) * 1e-1;
351}
352
359inline double getLongitudinalAccelerationConfidence(const LongitudinalAcceleration& longitudinal_acceleration) {
360 return ((double)longitudinal_acceleration.longitudinal_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
361}
362
369inline double getLateralAcceleration(const LateralAcceleration& lateral_acceleration) {
370 return ((double)lateral_acceleration.lateral_acceleration_value.value) * 1e-1;
371}
372
379inline double getLateralAccelerationConfidence(const LateralAcceleration& lateral_acceleration) {
380 return ((double)lateral_acceleration.lateral_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
381}
382
384
394inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
395 double object_heading = getHeading(cam) * M_PI / 180.0;
396 return getPosConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
397}
398
408inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
409 return getWGSPosConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
410}
411
412}

◆ getLongitude() [1/2]

double etsi_its_cam_msgs::access::getLongitude ( const CAM & cam)
inline

Get the Longitude value of CAM.

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

Definition at line 62 of file cam_getters.h.

◆ getLongitude() [2/2]

double etsi_its_cam_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 cam_getters.h.

40{

◆ getLongitudinalAcceleration() [1/2]

double etsi_its_cam_msgs::access::getLongitudinalAcceleration ( const CAM & cam)
inline

Get the longitudinal acceleration.

Parameters
camCAM to get the longitudinal acceleration from
Returns
longitudinal acceleration in m/s^2 as decimal number (accelerating is positive)

Definition at line 186 of file cam_getters.h.

196 {
198
205inline double getLongitudinalAcceleration(const LongitudinalAcceleration& longitudinal_acceleration) {
206 return ((double)longitudinal_acceleration.longitudinal_acceleration_value.value) * 1e-1;
207}
208
215inline double getLongitudinalAccelerationConfidence(const LongitudinalAcceleration& longitudinal_acceleration) {
216 return ((double)longitudinal_acceleration.longitudinal_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
217}
218
225inline double getLateralAcceleration(const LateralAcceleration& lateral_acceleration) {
226 return ((double)lateral_acceleration.lateral_acceleration_value.value) * 1e-1;
227}
228
235inline double getLateralAccelerationConfidence(const LateralAcceleration& lateral_acceleration) {
236 return ((double)lateral_acceleration.lateral_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
237}
238
240
250inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
251 double object_heading = getHeading(cam) * M_PI / 180.0;
252 return getPosConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
253}
254
264inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
265 return getWGSPosConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
266}
267
268}

◆ getLongitudinalAcceleration() [2/2]

double etsi_its_cam_msgs::access::getLongitudinalAcceleration ( const LongitudinalAcceleration & longitudinal_acceleration)
inline

Get the longitudinal acceleration.

Parameters
longitudinalAccelerationto get the longitudinal acceleration from
Returns
longitudinal acceleration in m/s^2 as decimal number (accelerating is positive)

Definition at line 20 of file cam_getters.h.

20 {
21 return ((double)longitudinal_acceleration.longitudinal_acceleration_value.value) * 1e-1;
22}

◆ getLongitudinalAccelerationConfidence() [1/2]

double etsi_its_cam_msgs::access::getLongitudinalAccelerationConfidence ( const CAM & cam)
inline

Get the Longitudinal Acceleration Confidence.

Parameters
camCAM to get the LongitudinalAccelerationConfidence from
Returns
double standard deviation of the longitudinal acceleration in m/s^2 as decimal number

Definition at line 197 of file cam_getters.h.

207 {
209
216inline double getLongitudinalAcceleration(const LongitudinalAcceleration& longitudinal_acceleration) {
217 return ((double)longitudinal_acceleration.longitudinal_acceleration_value.value) * 1e-1;
218}
219
226inline double getLongitudinalAccelerationConfidence(const LongitudinalAcceleration& longitudinal_acceleration) {
227 return ((double)longitudinal_acceleration.longitudinal_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
228}
229
236inline double getLateralAcceleration(const LateralAcceleration& lateral_acceleration) {
237 return ((double)lateral_acceleration.lateral_acceleration_value.value) * 1e-1;
238}
239
246inline double getLateralAccelerationConfidence(const LateralAcceleration& lateral_acceleration) {
247 return ((double)lateral_acceleration.lateral_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
248}
249
251
261inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
262 double object_heading = getHeading(cam) * M_PI / 180.0;
263 return getPosConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
264}
265
275inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
276 return getWGSPosConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
277}
278
279}

◆ getLongitudinalAccelerationConfidence() [2/2]

double etsi_its_cam_msgs::access::getLongitudinalAccelerationConfidence ( const LongitudinalAcceleration & longitudinal_acceleration)
inline

Get the Longitudinal Acceleration Confidence.

Parameters
longitudinal_accelerationto get the LongitudinalAccelerationConfidence from
Returns
double standard deviation of the longitudinal acceleration in m/s^2 as decimal number

Definition at line 30 of file cam_getters.h.

30 {
31 return ((double)longitudinal_acceleration.longitudinal_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
32}

◆ getPosConfidenceEllipse() [1/2]

template<typename PosConfidenceEllipse>
std::tuple< double, double, double > etsi_its_cam_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 cam_getters.h.

212 {
214
221inline double getLongitudinalAcceleration(const LongitudinalAcceleration& longitudinal_acceleration) {
222 return ((double)longitudinal_acceleration.longitudinal_acceleration_value.value) * 1e-1;
223}
224
231inline double getLongitudinalAccelerationConfidence(const LongitudinalAcceleration& longitudinal_acceleration) {
232 return ((double)longitudinal_acceleration.longitudinal_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
233}
234
241inline double getLateralAcceleration(const LateralAcceleration& lateral_acceleration) {
242 return ((double)lateral_acceleration.lateral_acceleration_value.value) * 1e-1;
243}
244
251inline double getLateralAccelerationConfidence(const LateralAcceleration& lateral_acceleration) {
252 return ((double)lateral_acceleration.lateral_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
253}
254
256
266inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
267 double object_heading = getHeading(cam) * M_PI / 180.0;
268 return getPosConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
269}
270
280inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
281 return getWGSPosConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
282}
283
284}

◆ getPosConfidenceEllipse() [2/2]

template<typename PosConfidenceEllipse>
std::array< double, 4 > etsi_its_cam_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 cam_getters.h.

273 {
275
282inline double getLongitudinalAcceleration(const LongitudinalAcceleration& longitudinal_acceleration) {
283 return ((double)longitudinal_acceleration.longitudinal_acceleration_value.value) * 1e-1;
284}
285
292inline double getLongitudinalAccelerationConfidence(const LongitudinalAcceleration& longitudinal_acceleration) {
293 return ((double)longitudinal_acceleration.longitudinal_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
294}
295
302inline double getLateralAcceleration(const LateralAcceleration& lateral_acceleration) {
303 return ((double)lateral_acceleration.lateral_acceleration_value.value) * 1e-1;
304}
305
312inline double getLateralAccelerationConfidence(const LateralAcceleration& lateral_acceleration) {
313 return ((double)lateral_acceleration.lateral_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
314}
315
317
327inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
328 double object_heading = getHeading(cam) * M_PI / 180.0;
329 return getPosConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
330}
331
341inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
342 return getWGSPosConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
343}
344
345}

◆ getRefPosConfidence()

const std::array< double, 4 > etsi_its_cam_msgs::access::getRefPosConfidence ( const CAM & cam)
inline

Get the confidence ellipse of the reference position as Covariance matrix.

The covariance matrix will have the entries cov_xx, cov_xy, cov_yx, cov_yy where x is the longitudinal axis and y is the lateral axis of the vehicle.

Parameters
camThe CAM message to get the reference position from
Returns
const std::array<double, 4> the covariance matrix, as specified above

Definition at line 65 of file cam_getters.h.

65 {
66 double object_heading = getHeading(cam) * M_PI / 180.0;
67 return getPosConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
68}

◆ getSemiAxis()

template<typename SemiAxisLength>
double etsi_its_cam_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 cam_getters.h.

201 {
203
210inline double getLongitudinalAcceleration(const LongitudinalAcceleration& longitudinal_acceleration) {
211 return ((double)longitudinal_acceleration.longitudinal_acceleration_value.value) * 1e-1;
212}
213
220inline double getLongitudinalAccelerationConfidence(const LongitudinalAcceleration& longitudinal_acceleration) {
221 return ((double)longitudinal_acceleration.longitudinal_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
222}
223
230inline double getLateralAcceleration(const LateralAcceleration& lateral_acceleration) {
231 return ((double)lateral_acceleration.lateral_acceleration_value.value) * 1e-1;
232}
233
240inline double getLateralAccelerationConfidence(const LateralAcceleration& lateral_acceleration) {
241 return ((double)lateral_acceleration.lateral_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
242}
243
245
255inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
256 double object_heading = getHeading(cam) * M_PI / 180.0;
257 return getPosConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
258}
259
269inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
270 return getWGSPosConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
271}
272
273}

◆ getSpecialTransportType()

std::vector< bool > etsi_its_cam_msgs::access::getSpecialTransportType ( const SpecialTransportType & special_transport_type)
inline

Get the Special Transport Type in form of bool vector.

Parameters
special_transport_type
Returns
std::vector<bool>

Definition at line 320 of file cam_getters.h.

330 {
332
339inline double getLongitudinalAcceleration(const LongitudinalAcceleration& longitudinal_acceleration) {
340 return ((double)longitudinal_acceleration.longitudinal_acceleration_value.value) * 1e-1;
341}
342
349inline double getLongitudinalAccelerationConfidence(const LongitudinalAcceleration& longitudinal_acceleration) {
350 return ((double)longitudinal_acceleration.longitudinal_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
351}
352
359inline double getLateralAcceleration(const LateralAcceleration& lateral_acceleration) {
360 return ((double)lateral_acceleration.lateral_acceleration_value.value) * 1e-1;
361}
362
369inline double getLateralAccelerationConfidence(const LateralAcceleration& lateral_acceleration) {
370 return ((double)lateral_acceleration.lateral_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
371}
372
374
384inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
385 double object_heading = getHeading(cam) * M_PI / 180.0;
386 return getPosConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
387}
388
398inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
399 return getWGSPosConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
400}
401
402}

◆ getSpeed() [1/2]

double etsi_its_cam_msgs::access::getSpeed ( const CAM & cam)
inline

Get the vehicle speed.

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

Definition at line 165 of file cam_getters.h.

175 {
177
184inline double getLongitudinalAcceleration(const LongitudinalAcceleration& longitudinal_acceleration) {
185 return ((double)longitudinal_acceleration.longitudinal_acceleration_value.value) * 1e-1;
186}
187
194inline double getLongitudinalAccelerationConfidence(const LongitudinalAcceleration& longitudinal_acceleration) {
195 return ((double)longitudinal_acceleration.longitudinal_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
196}
197
204inline double getLateralAcceleration(const LateralAcceleration& lateral_acceleration) {
205 return ((double)lateral_acceleration.lateral_acceleration_value.value) * 1e-1;
206}
207
214inline double getLateralAccelerationConfidence(const LateralAcceleration& lateral_acceleration) {
215 return ((double)lateral_acceleration.lateral_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
216}
217
219
229inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
230 double object_heading = getHeading(cam) * M_PI / 180.0;
231 return getPosConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
232}
233
243inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
244 return getWGSPosConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
245}
246
247}

◆ getSpeed() [2/2]

double etsi_its_cam_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 cam_getters.h.

◆ getSpeedConfidence() [1/2]

double etsi_its_cam_msgs::access::getSpeedConfidence ( const CAM & cam)
inline

Get the Speed Confidence.

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

Definition at line 175 of file cam_getters.h.

185 {
187
194inline double getLongitudinalAcceleration(const LongitudinalAcceleration& longitudinal_acceleration) {
195 return ((double)longitudinal_acceleration.longitudinal_acceleration_value.value) * 1e-1;
196}
197
204inline double getLongitudinalAccelerationConfidence(const LongitudinalAcceleration& longitudinal_acceleration) {
205 return ((double)longitudinal_acceleration.longitudinal_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
206}
207
214inline double getLateralAcceleration(const LateralAcceleration& lateral_acceleration) {
215 return ((double)lateral_acceleration.lateral_acceleration_value.value) * 1e-1;
216}
217
224inline double getLateralAccelerationConfidence(const LateralAcceleration& lateral_acceleration) {
225 return ((double)lateral_acceleration.lateral_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
226}
227
229
239inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
240 double object_heading = getHeading(cam) * M_PI / 180.0;
241 return getPosConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
242}
243
253inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
254 return getWGSPosConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
255}
256
257}

◆ getSpeedConfidence() [2/2]

double etsi_its_cam_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 cam_getters.h.

◆ getStationID() [1/2]

uint32_t etsi_its_cam_msgs::access::getStationID ( const CAM & cam)
inline

Get the Station ID object.

Parameters
camCAM to get the StationID value from
Returns
stationID value

Definition at line 20 of file cam_getters.h.

20{

◆ getStationID() [2/2]

uint32_t etsi_its_cam_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 cam_getters.h.

◆ getStationType()

uint8_t etsi_its_cam_msgs::access::getStationType ( const CAM & cam)
inline

Get the stationType object.

Parameters
camCAM to get the stationType value from
Returns
stationType value

Definition at line 44 of file cam_getters.h.

◆ getUTMPosition() [1/3]

gm::PointStamped etsi_its_cam_msgs::access::getUTMPosition ( const CAM & cam)
inline

Get the UTM Position defined within the BasicContainer of the CAM.

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

Parameters
[in]camCAM to get the UTM Position from
Returns
gm::PointStamped geometry_msgs::PointStamped of the given position

Definition at line 258 of file cam_getters.h.

268 {
270
277inline double getLongitudinalAcceleration(const LongitudinalAcceleration& longitudinal_acceleration) {
278 return ((double)longitudinal_acceleration.longitudinal_acceleration_value.value) * 1e-1;
279}
280
287inline double getLongitudinalAccelerationConfidence(const LongitudinalAcceleration& longitudinal_acceleration) {
288 return ((double)longitudinal_acceleration.longitudinal_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
289}
290
297inline double getLateralAcceleration(const LateralAcceleration& lateral_acceleration) {
298 return ((double)lateral_acceleration.lateral_acceleration_value.value) * 1e-1;
299}
300
307inline double getLateralAccelerationConfidence(const LateralAcceleration& lateral_acceleration) {
308 return ((double)lateral_acceleration.lateral_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
309}
310
312
322inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
323 double object_heading = getHeading(cam) * M_PI / 180.0;
324 return getPosConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
325}
326
336inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
337 return getWGSPosConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
338}
339
340}

◆ getUTMPosition() [2/3]

gm::PointStamped etsi_its_cam_msgs::access::getUTMPosition ( const CAM & cam,
int & zone,
bool & northp )
inline

Get the UTM Position defined within the BasicContainer of the CAM.

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

Parameters
[in]camCAM 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 245 of file cam_getters.h.

255 {
257
264inline double getLongitudinalAcceleration(const LongitudinalAcceleration& longitudinal_acceleration) {
265 return ((double)longitudinal_acceleration.longitudinal_acceleration_value.value) * 1e-1;
266}
267
274inline double getLongitudinalAccelerationConfidence(const LongitudinalAcceleration& longitudinal_acceleration) {
275 return ((double)longitudinal_acceleration.longitudinal_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
276}
277
284inline double getLateralAcceleration(const LateralAcceleration& lateral_acceleration) {
285 return ((double)lateral_acceleration.lateral_acceleration_value.value) * 1e-1;
286}
287
294inline double getLateralAccelerationConfidence(const LateralAcceleration& lateral_acceleration) {
295 return ((double)lateral_acceleration.lateral_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
296}
297
299
309inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
310 double object_heading = getHeading(cam) * M_PI / 180.0;
311 return getPosConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
312}
313
323inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
324 return getWGSPosConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
325}
326
327}

◆ getUTMPosition() [3/3]

template<typename T>
gm::PointStamped etsi_its_cam_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 cam_getters.h.

117 {
119
126inline double getLongitudinalAcceleration(const LongitudinalAcceleration& longitudinal_acceleration) {
127 return ((double)longitudinal_acceleration.longitudinal_acceleration_value.value) * 1e-1;
128}
129
136inline double getLongitudinalAccelerationConfidence(const LongitudinalAcceleration& longitudinal_acceleration) {
137 return ((double)longitudinal_acceleration.longitudinal_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
138}
139
146inline double getLateralAcceleration(const LateralAcceleration& lateral_acceleration) {
147 return ((double)lateral_acceleration.lateral_acceleration_value.value) * 1e-1;
148}
149
156inline double getLateralAccelerationConfidence(const LateralAcceleration& lateral_acceleration) {
157 return ((double)lateral_acceleration.lateral_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
158}
159
161
171inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
172 double object_heading = getHeading(cam) * M_PI / 180.0;
173 return getPosConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
174}
175
185inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
186 return getWGSPosConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
187}
188
189}

◆ getVehicleLength() [1/2]

double etsi_its_cam_msgs::access::getVehicleLength ( const CAM & cam)
inline

Get the Vehicle Length.

Parameters
camCAM to get the vehicle length value from
Returns
vehicle length value in meter as decimal number

Definition at line 135 of file cam_getters.h.

145 {
147
154inline double getLongitudinalAcceleration(const LongitudinalAcceleration& longitudinal_acceleration) {
155 return ((double)longitudinal_acceleration.longitudinal_acceleration_value.value) * 1e-1;
156}
157
164inline double getLongitudinalAccelerationConfidence(const LongitudinalAcceleration& longitudinal_acceleration) {
165 return ((double)longitudinal_acceleration.longitudinal_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
166}
167
174inline double getLateralAcceleration(const LateralAcceleration& lateral_acceleration) {
175 return ((double)lateral_acceleration.lateral_acceleration_value.value) * 1e-1;
176}
177
184inline double getLateralAccelerationConfidence(const LateralAcceleration& lateral_acceleration) {
185 return ((double)lateral_acceleration.lateral_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
186}
187
189
199inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
200 double object_heading = getHeading(cam) * M_PI / 180.0;
201 return getPosConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
202}
203
213inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
214 return getWGSPosConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
215}
216
217}

◆ getVehicleLength() [2/2]

double etsi_its_cam_msgs::access::getVehicleLength ( const VehicleLength & vehicle_length)
inline

Get the Vehicle Length.

Parameters
vehicleLengthto get the vehicle length value from
Returns
vehicle length value in meter as decimal number

Definition at line 125 of file cam_getters.h.

135 {
137
144inline double getLongitudinalAcceleration(const LongitudinalAcceleration& longitudinal_acceleration) {
145 return ((double)longitudinal_acceleration.longitudinal_acceleration_value.value) * 1e-1;
146}
147
154inline double getLongitudinalAccelerationConfidence(const LongitudinalAcceleration& longitudinal_acceleration) {
155 return ((double)longitudinal_acceleration.longitudinal_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
156}
157
164inline double getLateralAcceleration(const LateralAcceleration& lateral_acceleration) {
165 return ((double)lateral_acceleration.lateral_acceleration_value.value) * 1e-1;
166}
167
174inline double getLateralAccelerationConfidence(const LateralAcceleration& lateral_acceleration) {
175 return ((double)lateral_acceleration.lateral_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
176}
177
179
189inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
190 double object_heading = getHeading(cam) * M_PI / 180.0;
191 return getPosConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
192}
193
203inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
204 return getWGSPosConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
205}
206
207}

◆ getVehicleWidth() [1/2]

double etsi_its_cam_msgs::access::getVehicleWidth ( const CAM & cam)
inline

Get the Vehicle Width.

Parameters
camCAM to get the vehicle width value from
Returns
vehicle width value in meter as decimal number

Definition at line 154 of file cam_getters.h.

164 {
166
173inline double getLongitudinalAcceleration(const LongitudinalAcceleration& longitudinal_acceleration) {
174 return ((double)longitudinal_acceleration.longitudinal_acceleration_value.value) * 1e-1;
175}
176
183inline double getLongitudinalAccelerationConfidence(const LongitudinalAcceleration& longitudinal_acceleration) {
184 return ((double)longitudinal_acceleration.longitudinal_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
185}
186
193inline double getLateralAcceleration(const LateralAcceleration& lateral_acceleration) {
194 return ((double)lateral_acceleration.lateral_acceleration_value.value) * 1e-1;
195}
196
203inline double getLateralAccelerationConfidence(const LateralAcceleration& lateral_acceleration) {
204 return ((double)lateral_acceleration.lateral_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
205}
206
208
218inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
219 double object_heading = getHeading(cam) * M_PI / 180.0;
220 return getPosConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
221}
222
232inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
233 return getWGSPosConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
234}
235
236}

◆ getVehicleWidth() [2/2]

double etsi_its_cam_msgs::access::getVehicleWidth ( const VehicleWidth & vehicle_width)
inline

Get the Vehicle Width.

Parameters
vehicleWidthto get the vehicle width value from
Returns
vehicle width value in meter as decimal number

Definition at line 146 of file cam_getters.h.

156{
158
165inline double getLongitudinalAcceleration(const LongitudinalAcceleration& longitudinal_acceleration) {
166 return ((double)longitudinal_acceleration.longitudinal_acceleration_value.value) * 1e-1;
167}
168
175inline double getLongitudinalAccelerationConfidence(const LongitudinalAcceleration& longitudinal_acceleration) {
176 return ((double)longitudinal_acceleration.longitudinal_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
177}
178
185inline double getLateralAcceleration(const LateralAcceleration& lateral_acceleration) {
186 return ((double)lateral_acceleration.lateral_acceleration_value.value) * 1e-1;
187}
188
195inline double getLateralAccelerationConfidence(const LateralAcceleration& lateral_acceleration) {
196 return ((double)lateral_acceleration.lateral_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
197}
198
200
210inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
211 double object_heading = getHeading(cam) * M_PI / 180.0;
212 return getPosConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
213}
214
224inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
225 return getWGSPosConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
226}
227
228}

◆ getWGSPosConfidenceEllipse()

template<typename PosConfidenceEllipse>
std::array< double, 4 > etsi_its_cam_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 cam_getters.h.

286 {
288
295inline double getLongitudinalAcceleration(const LongitudinalAcceleration& longitudinal_acceleration) {
296 return ((double)longitudinal_acceleration.longitudinal_acceleration_value.value) * 1e-1;
297}
298
305inline double getLongitudinalAccelerationConfidence(const LongitudinalAcceleration& longitudinal_acceleration) {
306 return ((double)longitudinal_acceleration.longitudinal_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
307}
308
315inline double getLateralAcceleration(const LateralAcceleration& lateral_acceleration) {
316 return ((double)lateral_acceleration.lateral_acceleration_value.value) * 1e-1;
317}
318
325inline double getLateralAccelerationConfidence(const LateralAcceleration& lateral_acceleration) {
326 return ((double)lateral_acceleration.lateral_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
327}
328
330
340inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
341 double object_heading = getHeading(cam) * M_PI / 180.0;
342 return getPosConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
343}
344
354inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
355 return getWGSPosConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
356}
357
358}

◆ getWGSRefPosConfidence()

const std::array< double, 4 > etsi_its_cam_msgs::access::getWGSRefPosConfidence ( const CAM & cam)
inline

Get the confidence ellipse of the reference position as Covariance matrix.

The covariance matrix will have the entries cov_xx, cov_xy, cov_yx, cov_yy where x is WGS84 North and y is East

Parameters
camThe CAM message to get the reference position from
Returns
const std::array<double, 4> the covariance matrix, as specified above

Definition at line 79 of file cam_getters.h.

79 {
80 return getWGSPosConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
81}

◆ getYawRate()

double etsi_its_cam_msgs::access::getYawRate ( const CAM & cam)
inline

Get the Yaw Rate of CAM.

Parameters
camCAM to get the YawRate from
Returns
double yaw rate in degrees per second as decimal number

Definition at line 105 of file cam_getters.h.

115 {
117
124inline double getLongitudinalAcceleration(const LongitudinalAcceleration& longitudinal_acceleration) {
125 return ((double)longitudinal_acceleration.longitudinal_acceleration_value.value) * 1e-1;
126}
127
134inline double getLongitudinalAccelerationConfidence(const LongitudinalAcceleration& longitudinal_acceleration) {
135 return ((double)longitudinal_acceleration.longitudinal_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
136}
137
144inline double getLateralAcceleration(const LateralAcceleration& lateral_acceleration) {
145 return ((double)lateral_acceleration.lateral_acceleration_value.value) * 1e-1;
146}
147
154inline double getLateralAccelerationConfidence(const LateralAcceleration& lateral_acceleration) {
155 return ((double)lateral_acceleration.lateral_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
156}
157
159
169inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
170 double object_heading = getHeading(cam) * M_PI / 180.0;
171 return getPosConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
172}
173
183inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
184 return getWGSPosConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
185}
186
187}

◆ getYawRateCDD()

template<typename YawRate>
double etsi_its_cam_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 cam_getters.h.

166 {
168
175inline double getLongitudinalAcceleration(const LongitudinalAcceleration& longitudinal_acceleration) {
176 return ((double)longitudinal_acceleration.longitudinal_acceleration_value.value) * 1e-1;
177}
178
185inline double getLongitudinalAccelerationConfidence(const LongitudinalAcceleration& longitudinal_acceleration) {
186 return ((double)longitudinal_acceleration.longitudinal_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
187}
188
195inline double getLateralAcceleration(const LateralAcceleration& lateral_acceleration) {
196 return ((double)lateral_acceleration.lateral_acceleration_value.value) * 1e-1;
197}
198
205inline double getLateralAccelerationConfidence(const LateralAcceleration& lateral_acceleration) {
206 return ((double)lateral_acceleration.lateral_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
207}
208
210
220inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
221 double object_heading = getHeading(cam) * M_PI / 180.0;
222 return getPosConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
223}
224
234inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
235 return getWGSPosConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
236}
237
238}

◆ getYawRateConfidence()

double etsi_its_cam_msgs::access::getYawRateConfidence ( const CAM & cam)
inline

Get the Yaw Rate Confidence of CAM.

Parameters
camCAM to get the YawRateConfidence from
Returns
double yaw rate standard deviation in degrees per second as decimal number

Definition at line 115 of file cam_getters.h.

125 {
127
134inline double getLongitudinalAcceleration(const LongitudinalAcceleration& longitudinal_acceleration) {
135 return ((double)longitudinal_acceleration.longitudinal_acceleration_value.value) * 1e-1;
136}
137
144inline double getLongitudinalAccelerationConfidence(const LongitudinalAcceleration& longitudinal_acceleration) {
145 return ((double)longitudinal_acceleration.longitudinal_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
146}
147
154inline double getLateralAcceleration(const LateralAcceleration& lateral_acceleration) {
155 return ((double)lateral_acceleration.lateral_acceleration_value.value) * 1e-1;
156}
157
164inline double getLateralAccelerationConfidence(const LateralAcceleration& lateral_acceleration) {
165 return ((double)lateral_acceleration.lateral_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
166}
167
169
179inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
180 double object_heading = getHeading(cam) * M_PI / 180.0;
181 return getPosConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
182}
183
193inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
194 return getWGSPosConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
195}
196
197}

◆ getYawRateConfidenceCDD()

template<typename YawRate, typename YawRateConfidence = decltype(YawRate::yaw_rate_confidence)>
double etsi_its_cam_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 cam_getters.h.

177 {
179
186inline double getLongitudinalAcceleration(const LongitudinalAcceleration& longitudinal_acceleration) {
187 return ((double)longitudinal_acceleration.longitudinal_acceleration_value.value) * 1e-1;
188}
189
196inline double getLongitudinalAccelerationConfidence(const LongitudinalAcceleration& longitudinal_acceleration) {
197 return ((double)longitudinal_acceleration.longitudinal_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
198}
199
206inline double getLateralAcceleration(const LateralAcceleration& lateral_acceleration) {
207 return ((double)lateral_acceleration.lateral_acceleration_value.value) * 1e-1;
208}
209
216inline double getLateralAccelerationConfidence(const LateralAcceleration& lateral_acceleration) {
217 return ((double)lateral_acceleration.lateral_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
218}
219
221
231inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
232 double object_heading = getHeading(cam) * M_PI / 180.0;
233 return getPosConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
234}
235
245inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
246 return getWGSPosConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
247}
248
249}

◆ WGSCovMatrixFromConfidenceEllipse()

std::array< double, 4 > etsi_its_cam_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 cam_getters.h.

260 {
262
269inline double getLongitudinalAcceleration(const LongitudinalAcceleration& longitudinal_acceleration) {
270 return ((double)longitudinal_acceleration.longitudinal_acceleration_value.value) * 1e-1;
271}
272
279inline double getLongitudinalAccelerationConfidence(const LongitudinalAcceleration& longitudinal_acceleration) {
280 return ((double)longitudinal_acceleration.longitudinal_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
281}
282
289inline double getLateralAcceleration(const LateralAcceleration& lateral_acceleration) {
290 return ((double)lateral_acceleration.lateral_acceleration_value.value) * 1e-1;
291}
292
299inline double getLateralAccelerationConfidence(const LateralAcceleration& lateral_acceleration) {
300 return ((double)lateral_acceleration.lateral_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
301}
302
304
314inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
315 double object_heading = getHeading(cam) * M_PI / 180.0;
316 return getPosConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
317}
318
328inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
329 return getWGSPosConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
330}
331
332}