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

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

Go to the source code of this file.

Functions

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

Definition in file cam_ts_getters.h.

Function Documentation

◆ CovMatrixFromConfidenceEllipse()

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

◆ getAccelerationControl()

std::vector< bool > etsi_its_cam_ts_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_ts_getters.h.

310 {
312
314
324inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
325 double object_heading = getHeading(cam) * M_PI / 180.0;
326 return getPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
327}
328
338inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
339 return getWGSPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
340}
341
342} // namespace etsi_its_cam_ts_msgs::access
Common getter functions for the ETSI ITS CAM (EN and TS).
const std::array< double, 4 > getRefPosConfidence(const CAM &cam)
Get the confidence ellipse of the reference position as Covariance matrix.
std::tuple< double, double, double > getPositionConfidenceEllipse(PositionConfidenceEllipse &position_confidence_ellipse)
Extract major axis length, minor axis length and orientation from the given position confidence ellip...
double getHeading(const CAM &cam)
Get the Heading value of CAM.
Getter functions for the ETSI ITS Common Data Dictionary (CDD) v2.1.1.
std::array< double, 4 > getWGSPositionConfidenceEllipse(const PositionConfidenceEllipse &position_confidence_ellipse)
Get the covariance matrix of the position confidence ellipse.

◆ getAccelerationMagnitude()

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

90 {
92
94
104inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
105 double object_heading = getHeading(cam) * M_PI / 180.0;
106 return getPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
107}
108
118inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
119 return getWGSPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
120}
121
122} // namespace etsi_its_cam_ts_msgs::access

◆ getAccelerationMagnitudeConfidence()

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

101 {
103
105
115inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
116 double object_heading = getHeading(cam) * M_PI / 180.0;
117 return getPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
118}
119
129inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
130 return getWGSPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
131}
132
133} // namespace etsi_its_cam_ts_msgs::access

◆ getAltitude() [1/2]

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

58 {
60
62
72inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
73 double object_heading = getHeading(cam) * M_PI / 180.0;
74 return getPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
75}
76
86inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
87 return getWGSPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
88}
89
90} // namespace etsi_its_cam_ts_msgs::access

◆ getAltitude() [2/2]

double etsi_its_cam_ts_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_ts_getters.h.

82 {
84
86
96inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
97 double object_heading = getHeading(cam) * M_PI / 180.0;
98 return getPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
99}
100
110inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
111 return getWGSPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
112}
113
114} // namespace etsi_its_cam_ts_msgs::access

◆ getBitString()

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

25 {
26 double object_heading = getHeading(cam) * M_PI / 180.0;
27 return getPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
28}
29
39inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
40 return getWGSPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
41}
42
43} // namespace etsi_its_cam_ts_msgs::access

◆ getDrivingLaneStatus()

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

320 {
322
324
334inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
335 double object_heading = getHeading(cam) * M_PI / 180.0;
336 return getPositionConfidenceEllipse(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 getWGSPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
350}
351
352} // namespace etsi_its_cam_ts_msgs::access

◆ getEmergencyPriority()

std::vector< bool > etsi_its_cam_ts_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_ts_getters.h.

350 {
352
354
364inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
365 double object_heading = getHeading(cam) * M_PI / 180.0;
366 return getPositionConfidenceEllipse(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 getWGSPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
380}
381
382} // namespace etsi_its_cam_ts_msgs::access

◆ getExteriorLights() [1/2]

std::vector< bool > etsi_its_cam_ts_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_ts_getters.h.

290 {
292
294
304inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
305 double object_heading = getHeading(cam) * M_PI / 180.0;
306 return getPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
307}
308
318inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
319 return getWGSPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
320}
321
322} // namespace etsi_its_cam_ts_msgs::access

◆ getExteriorLights() [2/2]

std::vector< bool > etsi_its_cam_ts_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_ts_getters.h.

280 {
282
284
294inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
295 double object_heading = getHeading(cam) * M_PI / 180.0;
296 return getPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
297}
298
308inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
309 return getWGSPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
310}
311
312} // namespace etsi_its_cam_ts_msgs::access

◆ getGenerationDeltaTime()

GenerationDeltaTime etsi_its_cam_ts_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_ts_getters.h.

◆ getGenerationDeltaTimeValue()

uint16_t etsi_its_cam_ts_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_ts_getters.h.

◆ getHeading()

double etsi_its_cam_ts_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_ts_getters.h.

94 {
96
98
108inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
109 double object_heading = getHeading(cam) * M_PI / 180.0;
110 return getPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
111}
112
122inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
123 return getWGSPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
124}
125
126} // namespace etsi_its_cam_ts_msgs::access

◆ getHeadingCDD()

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

146{
148
150
160inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
161 double object_heading = getHeading(cam) * M_PI / 180.0;
162 return getPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
163}
164
174inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
175 return getWGSPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
176}
177
178} // namespace etsi_its_cam_ts_msgs::access

◆ getHeadingConfidence()

double etsi_its_cam_ts_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_ts_getters.h.

105 {
107
109
119inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
120 double object_heading = getHeading(cam) * M_PI / 180.0;
121 return getPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
122}
123
133inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
134 return getWGSPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
135}
136
137} // namespace etsi_its_cam_ts_msgs::access

◆ getHeadingConfidenceCDD()

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

157{
159
161
171inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
172 double object_heading = getHeading(cam) * M_PI / 180.0;
173 return getPositionConfidenceEllipse(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 getWGSPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
187}
188
189} // namespace etsi_its_cam_ts_msgs::access

◆ getLateralAcceleration() [1/2]

double etsi_its_cam_ts_msgs::access::getLateralAcceleration ( const AccelerationComponent & 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 42 of file cam_ts_getters.h.

◆ getLateralAcceleration() [2/2]

double etsi_its_cam_ts_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_ts_getters.h.

218 {
220
222
232inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
233 double object_heading = getHeading(cam) * M_PI / 180.0;
234 return getPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
235}
236
246inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
247 return getWGSPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
248}
249
250} // namespace etsi_its_cam_ts_msgs::access

◆ getLateralAccelerationConfidence() [1/2]

double etsi_its_cam_ts_msgs::access::getLateralAccelerationConfidence ( const AccelerationComponent & lateral_acceleration)
inline

Get the Lateral Acceleration Confidence.

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

Definition at line 52 of file cam_ts_getters.h.

62 {
64
66
76inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
77 double object_heading = getHeading(cam) * M_PI / 180.0;
78 return getPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
79}
80
90inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
91 return getWGSPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
92}
93
94} // namespace etsi_its_cam_ts_msgs::access

◆ getLateralAccelerationConfidence() [2/2]

double etsi_its_cam_ts_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_ts_getters.h.

234 {
236
238
248inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
249 double object_heading = getHeading(cam) * M_PI / 180.0;
250 return getPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
251}
252
262inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
263 return getWGSPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
264}
265
266} // namespace etsi_its_cam_ts_msgs::access

◆ getLatitude() [1/2]

double etsi_its_cam_ts_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_ts_getters.h.

62 {
64
66
76inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
77 double object_heading = getHeading(cam) * M_PI / 180.0;
78 return getPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
79}
80
90inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
91 return getWGSPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
92}
93
94} // namespace etsi_its_cam_ts_msgs::access

◆ getLatitude() [2/2]

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

◆ getLightBarSirenInUse()

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

340 {
342
344
354inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
355 double object_heading = getHeading(cam) * M_PI / 180.0;
356 return getPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
357}
358
368inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
369 return getWGSPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
370}
371
372} // namespace etsi_its_cam_ts_msgs::access

◆ getLongitude() [1/2]

double etsi_its_cam_ts_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_ts_getters.h.

72 {
74
76
86inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
87 double object_heading = getHeading(cam) * M_PI / 180.0;
88 return getPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
89}
90
100inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
101 return getWGSPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
102}
103
104} // namespace etsi_its_cam_ts_msgs::access

◆ getLongitude() [2/2]

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

◆ getLongitudinalAcceleration() [1/2]

double etsi_its_cam_ts_msgs::access::getLongitudinalAcceleration ( const AccelerationComponent & longitudinal_acceleration)
inline

Get the longitudinal acceleration.

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

Definition at line 22 of file cam_ts_getters.h.

◆ getLongitudinalAcceleration() [2/2]

double etsi_its_cam_ts_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_ts_getters.h.

196 {
198
200
210inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
211 double object_heading = getHeading(cam) * M_PI / 180.0;
212 return getPositionConfidenceEllipse(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 getWGSPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
226}
227
228} // namespace etsi_its_cam_ts_msgs::access

◆ getLongitudinalAccelerationConfidence() [1/2]

double etsi_its_cam_ts_msgs::access::getLongitudinalAccelerationConfidence ( const AccelerationComponent & 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 32 of file cam_ts_getters.h.

◆ getLongitudinalAccelerationConfidence() [2/2]

double etsi_its_cam_ts_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_ts_getters.h.

207 {
209
211
221inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
222 double object_heading = getHeading(cam) * M_PI / 180.0;
223 return getPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
224}
225
235inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
236 return getWGSPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
237}
238
239} // namespace etsi_its_cam_ts_msgs::access

◆ getPosConfidenceEllipse() [1/2]

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

212 {
214
216
226inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
227 double object_heading = getHeading(cam) * M_PI / 180.0;
228 return getPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
229}
230
240inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
241 return getWGSPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
242}
243
244} // namespace etsi_its_cam_ts_msgs::access

◆ getPosConfidenceEllipse() [2/2]

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

273 {
275
277
287inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
288 double object_heading = getHeading(cam) * M_PI / 180.0;
289 return getPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
290}
291
301inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
302 return getWGSPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
303}
304
305} // namespace etsi_its_cam_ts_msgs::access

◆ getPositionConfidenceEllipse() [1/2]

template<typename PositionConfidenceEllipse>
std::array< double, 4 > etsi_its_cam_ts_msgs::access::getPositionConfidenceEllipse ( const PositionConfidenceEllipse & 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 80 of file cam_ts_getters.h.

90 {
92
94
104inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
105 double object_heading = getHeading(cam) * M_PI / 180.0;
106 return getPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
107}
108
118inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
119 return getWGSPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
120}
121
122} // namespace etsi_its_cam_ts_msgs::access

◆ getPositionConfidenceEllipse() [2/2]

template<typename PositionConfidenceEllipse>
std::tuple< double, double, double > etsi_its_cam_ts_msgs::access::getPositionConfidenceEllipse ( PositionConfidenceEllipse & 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 64 of file cam_ts_getters.h.

74 {
76
78
88inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
89 double object_heading = getHeading(cam) * M_PI / 180.0;
90 return getPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
91}
92
102inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
103 return getWGSPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
104}
105
106} // namespace etsi_its_cam_ts_msgs::access

◆ getRefPosConfidence()

const std::array< double, 4 > etsi_its_cam_ts_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 25 of file cam_ts_getters.h.

25 {
26 double object_heading = getHeading(cam) * M_PI / 180.0;
27 return getPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
28}

◆ getSemiAxis()

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

201 {
203
205
215inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
216 double object_heading = getHeading(cam) * M_PI / 180.0;
217 return getPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
218}
219
229inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
230 return getWGSPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
231}
232
233} // namespace etsi_its_cam_ts_msgs::access

◆ getSpecialTransportType()

std::vector< bool > etsi_its_cam_ts_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_ts_getters.h.

330 {
332
334
344inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
345 double object_heading = getHeading(cam) * M_PI / 180.0;
346 return getPositionConfidenceEllipse(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 getWGSPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
360}
361
362} // namespace etsi_its_cam_ts_msgs::access

◆ getSpeed() [1/2]

double etsi_its_cam_ts_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_ts_getters.h.

175 {
177
179
189inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
190 double object_heading = getHeading(cam) * M_PI / 180.0;
191 return getPositionConfidenceEllipse(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 getWGSPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
205}
206
207} // namespace etsi_its_cam_ts_msgs::access

◆ getSpeed() [2/2]

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

71{
73
75
85inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
86 double object_heading = getHeading(cam) * M_PI / 180.0;
87 return getPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
88}
89
99inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
100 return getWGSPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
101}
102
103} // namespace etsi_its_cam_ts_msgs::access

◆ getSpeedConfidence() [1/2]

double etsi_its_cam_ts_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_ts_getters.h.

185 {
187
189
199inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
200 double object_heading = getHeading(cam) * M_PI / 180.0;
201 return getPositionConfidenceEllipse(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 getWGSPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
215}
216
217} // namespace etsi_its_cam_ts_msgs::access

◆ getSpeedConfidence() [2/2]

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

79 {
81
83
93inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
94 double object_heading = getHeading(cam) * M_PI / 180.0;
95 return getPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
96}
97
107inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
108 return getWGSPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
109}
110
111} // namespace etsi_its_cam_ts_msgs::access

◆ getStationID() [1/2]

uint32_t etsi_its_cam_ts_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_ts_getters.h.

◆ getStationID() [2/2]

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

◆ getStationType()

uint8_t etsi_its_cam_ts_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_ts_getters.h.

54{
56
58
68inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
69 double object_heading = getHeading(cam) * M_PI / 180.0;
70 return getPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
71}
72
82inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
83 return getWGSPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
84}
85
86} // namespace etsi_its_cam_ts_msgs::access

◆ getUTMPosition() [1/3]

gm::PointStamped etsi_its_cam_ts_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_ts_getters.h.

268 {
270
272
282inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
283 double object_heading = getHeading(cam) * M_PI / 180.0;
284 return getPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
285}
286
296inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
297 return getWGSPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
298}
299
300} // namespace etsi_its_cam_ts_msgs::access

◆ getUTMPosition() [2/3]

gm::PointStamped etsi_its_cam_ts_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_ts_getters.h.

255 {
257
259
269inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
270 double object_heading = getHeading(cam) * M_PI / 180.0;
271 return getPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
272}
273
283inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
284 return getWGSPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
285}
286
287} // namespace etsi_its_cam_ts_msgs::access

◆ getUTMPosition() [3/3]

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

117 {
119
121
131inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
132 double object_heading = getHeading(cam) * M_PI / 180.0;
133 return getPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
134}
135
145inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
146 return getWGSPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
147}
148
149} // namespace etsi_its_cam_ts_msgs::access

◆ getVehicleLength() [1/2]

double etsi_its_cam_ts_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_ts_getters.h.

145 {
147
149
159inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
160 double object_heading = getHeading(cam) * M_PI / 180.0;
161 return getPositionConfidenceEllipse(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 getWGSPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
175}
176
177} // namespace etsi_its_cam_ts_msgs::access

◆ getVehicleLength() [2/2]

double etsi_its_cam_ts_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_ts_getters.h.

135 {
137
139
149inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
150 double object_heading = getHeading(cam) * M_PI / 180.0;
151 return getPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
152}
153
163inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
164 return getWGSPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
165}
166
167} // namespace etsi_its_cam_ts_msgs::access

◆ getVehicleWidth() [1/2]

double etsi_its_cam_ts_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_ts_getters.h.

164 {
166
168
178inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
179 double object_heading = getHeading(cam) * M_PI / 180.0;
180 return getPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
181}
182
192inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
193 return getWGSPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
194}
195
196} // namespace etsi_its_cam_ts_msgs::access

◆ getVehicleWidth() [2/2]

double etsi_its_cam_ts_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_ts_getters.h.

156{
158
160
170inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
171 double object_heading = getHeading(cam) * M_PI / 180.0;
172 return getPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
173}
174
184inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
185 return getWGSPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
186}
187
188} // namespace etsi_its_cam_ts_msgs::access

◆ getWGSPosConfidenceEllipse()

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

286 {
288
290
300inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
301 double object_heading = getHeading(cam) * M_PI / 180.0;
302 return getPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
303}
304
314inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
315 return getWGSPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
316}
317
318} // namespace etsi_its_cam_ts_msgs::access

◆ getWGSPositionConfidenceEllipse()

template<typename PositionConfidenceEllipse>
std::array< double, 4 > etsi_its_cam_ts_msgs::access::getWGSPositionConfidenceEllipse ( const PositionConfidenceEllipse & 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 93 of file cam_ts_getters.h.

103 {
105
107
117inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
118 double object_heading = getHeading(cam) * M_PI / 180.0;
119 return getPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
120}
121
131inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
132 return getWGSPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
133}
134
135} // namespace etsi_its_cam_ts_msgs::access

◆ getWGSRefPosConfidence()

const std::array< double, 4 > etsi_its_cam_ts_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 39 of file cam_ts_getters.h.

39 {
40 return getWGSPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
41}
std::array< double, 4 > getWGSPositionConfidenceEllipse(const PositionConfidenceEllipse &position_confidence_ellipse)
Get the covariance matrix of the position confidence ellipse.

◆ getYawRate()

double etsi_its_cam_ts_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_ts_getters.h.

115 {
117
119
129inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
130 double object_heading = getHeading(cam) * M_PI / 180.0;
131 return getPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
132}
133
143inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
144 return getWGSPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
145}
146
147} // namespace etsi_its_cam_ts_msgs::access

◆ getYawRateCDD()

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

166 {
168
170
180inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
181 double object_heading = getHeading(cam) * M_PI / 180.0;
182 return getPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
183}
184
194inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
195 return getWGSPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
196}
197
198} // namespace etsi_its_cam_ts_msgs::access

◆ getYawRateConfidence()

double etsi_its_cam_ts_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_ts_getters.h.

125 {
127
129
139inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
140 double object_heading = getHeading(cam) * M_PI / 180.0;
141 return getPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
142}
143
153inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
154 return getWGSPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
155}
156
157} // namespace etsi_its_cam_ts_msgs::access

◆ getYawRateConfidenceCDD()

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

177 {
179
181
191inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
192 double object_heading = getHeading(cam) * M_PI / 180.0;
193 return getPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
194}
195
205inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
206 return getWGSPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
207}
208
209} // namespace etsi_its_cam_ts_msgs::access

◆ WGSCovMatrixFromConfidenceEllipse()

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

260 {
262
264
274inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
275 double object_heading = getHeading(cam) * M_PI / 180.0;
276 return getPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
277}
278
288inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
289 return getWGSPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
290}
291
292} // namespace etsi_its_cam_ts_msgs::access