etsi_its_messages v3.1.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 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 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::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 182 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 336 of file cam_getters.h.

369 {
371
378inline double getLongitudinalAcceleration(const LongitudinalAcceleration& longitudinal_acceleration) {
379 return ((double)longitudinal_acceleration.longitudinal_acceleration_value.value) * 1e-1;
380}
381
388inline double getLongitudinalAccelerationConfidence(const LongitudinalAcceleration& longitudinal_acceleration) {
389 return ((double)longitudinal_acceleration.longitudinal_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
390}
391
398inline double getLateralAcceleration(const LateralAcceleration& lateral_acceleration) {
399 return ((double)lateral_acceleration.lateral_acceleration_value.value) * 1e-1;
400}
401
408inline double getLateralAccelerationConfidence(const LateralAcceleration& lateral_acceleration) {
409 return ((double)lateral_acceleration.lateral_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
410}
411
413
423inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
424 double object_heading = getHeading(cam) * M_PI / 180.0;
425 return getPosConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
426}
427
437inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
438 return getWGSPosConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
439}
440
441}
const std::array< double, 4 > getRefPosConfidence(const CAM &cam)
Get the confidence ellipse of the reference position as Covariance matrix.
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.
double getLateralAccelerationConfidence(const LateralAcceleration &lateral_acceleration)
Get the Lateral Acceleration Confidence.
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.
double getHeading(const CAM &cam)
Get the Heading value of CAM.
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.

◆ 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

Definition at line 71 of file cam_getters.h.

◆ 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 128 of file cam_getters.h.

161 {
163
170inline double getLongitudinalAcceleration(const LongitudinalAcceleration& longitudinal_acceleration) {
171 return ((double)longitudinal_acceleration.longitudinal_acceleration_value.value) * 1e-1;
172}
173
180inline double getLongitudinalAccelerationConfidence(const LongitudinalAcceleration& longitudinal_acceleration) {
181 return ((double)longitudinal_acceleration.longitudinal_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
182}
183
190inline double getLateralAcceleration(const LateralAcceleration& lateral_acceleration) {
191 return ((double)lateral_acceleration.lateral_acceleration_value.value) * 1e-1;
192}
193
200inline double getLateralAccelerationConfidence(const LateralAcceleration& lateral_acceleration) {
201 return ((double)lateral_acceleration.lateral_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
202}
203
205
215inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
216 double object_heading = getHeading(cam) * M_PI / 180.0;
217 return getPosConfidenceEllipse(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 getWGSPosConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
231}
232
233}

◆ 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 43 of file cam_getters.h.

43 {
44 return ((double)longitudinal_acceleration.longitudinal_acceleration_value.value) * 1e-1;
45}
46
53inline double getLongitudinalAccelerationConfidence(const LongitudinalAcceleration& longitudinal_acceleration) {
54 return ((double)longitudinal_acceleration.longitudinal_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
55}
56
63inline double getLateralAcceleration(const LateralAcceleration& lateral_acceleration) {
64 return ((double)lateral_acceleration.lateral_acceleration_value.value) * 1e-1;
65}
66

◆ 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 346 of file cam_getters.h.

379 {
381
388inline double getLongitudinalAcceleration(const LongitudinalAcceleration& longitudinal_acceleration) {
389 return ((double)longitudinal_acceleration.longitudinal_acceleration_value.value) * 1e-1;
390}
391
398inline double getLongitudinalAccelerationConfidence(const LongitudinalAcceleration& longitudinal_acceleration) {
399 return ((double)longitudinal_acceleration.longitudinal_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
400}
401
408inline double getLateralAcceleration(const LateralAcceleration& lateral_acceleration) {
409 return ((double)lateral_acceleration.lateral_acceleration_value.value) * 1e-1;
410}
411
418inline double getLateralAccelerationConfidence(const LateralAcceleration& lateral_acceleration) {
419 return ((double)lateral_acceleration.lateral_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
420}
421
423
433inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
434 double object_heading = getHeading(cam) * M_PI / 180.0;
435 return getPosConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
436}
437
447inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
448 return getWGSPosConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
449}
450
451}

◆ 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 376 of file cam_getters.h.

409 {
411
418inline double getLongitudinalAcceleration(const LongitudinalAcceleration& longitudinal_acceleration) {
419 return ((double)longitudinal_acceleration.longitudinal_acceleration_value.value) * 1e-1;
420}
421
428inline double getLongitudinalAccelerationConfidence(const LongitudinalAcceleration& longitudinal_acceleration) {
429 return ((double)longitudinal_acceleration.longitudinal_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
430}
431
438inline double getLateralAcceleration(const LateralAcceleration& lateral_acceleration) {
439 return ((double)lateral_acceleration.lateral_acceleration_value.value) * 1e-1;
440}
441
448inline double getLateralAccelerationConfidence(const LateralAcceleration& lateral_acceleration) {
449 return ((double)lateral_acceleration.lateral_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
450}
451
453
463inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
464 double object_heading = getHeading(cam) * M_PI / 180.0;
465 return getPosConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
466}
467
477inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
478 return getWGSPosConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
479}
480
481}

◆ 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 316 of file cam_getters.h.

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

◆ 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 306 of file cam_getters.h.

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

◆ 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 84 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 92 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 140 of file cam_getters.h.

173 {
175
182inline double getLongitudinalAcceleration(const LongitudinalAcceleration& longitudinal_acceleration) {
183 return ((double)longitudinal_acceleration.longitudinal_acceleration_value.value) * 1e-1;
184}
185
192inline double getLongitudinalAccelerationConfidence(const LongitudinalAcceleration& longitudinal_acceleration) {
193 return ((double)longitudinal_acceleration.longitudinal_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
194}
195
202inline double getLateralAcceleration(const LateralAcceleration& lateral_acceleration) {
203 return ((double)lateral_acceleration.lateral_acceleration_value.value) * 1e-1;
204}
205
212inline double getLateralAccelerationConfidence(const LateralAcceleration& lateral_acceleration) {
213 return ((double)lateral_acceleration.lateral_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
214}
215
217
227inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
228 double object_heading = getHeading(cam) * M_PI / 180.0;
229 return getPosConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
230}
231
241inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
242 return getWGSPosConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
243}
244
245}

◆ 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 132 of file cam_getters.h.

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

◆ 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 151 of file cam_getters.h.

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

◆ 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 143 of file cam_getters.h.

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

◆ 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 244 of file cam_getters.h.

277 {
279
286inline double getLongitudinalAcceleration(const LongitudinalAcceleration& longitudinal_acceleration) {
287 return ((double)longitudinal_acceleration.longitudinal_acceleration_value.value) * 1e-1;
288}
289
296inline double getLongitudinalAccelerationConfidence(const LongitudinalAcceleration& longitudinal_acceleration) {
297 return ((double)longitudinal_acceleration.longitudinal_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
298}
299
306inline double getLateralAcceleration(const LateralAcceleration& lateral_acceleration) {
307 return ((double)lateral_acceleration.lateral_acceleration_value.value) * 1e-1;
308}
309
316inline double getLateralAccelerationConfidence(const LateralAcceleration& lateral_acceleration) {
317 return ((double)lateral_acceleration.lateral_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
318}
319
321
331inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
332 double object_heading = getHeading(cam) * M_PI / 180.0;
333 return getPosConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
334}
335
345inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
346 return getWGSPosConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
347}
348
349}

◆ 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 272 of file cam_getters.h.

305 {
307
314inline double getLongitudinalAcceleration(const LongitudinalAcceleration& longitudinal_acceleration) {
315 return ((double)longitudinal_acceleration.longitudinal_acceleration_value.value) * 1e-1;
316}
317
324inline double getLongitudinalAccelerationConfidence(const LongitudinalAcceleration& longitudinal_acceleration) {
325 return ((double)longitudinal_acceleration.longitudinal_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
326}
327
334inline double getLateralAcceleration(const LateralAcceleration& lateral_acceleration) {
335 return ((double)lateral_acceleration.lateral_acceleration_value.value) * 1e-1;
336}
337
344inline double getLateralAccelerationConfidence(const LateralAcceleration& lateral_acceleration) {
345 return ((double)lateral_acceleration.lateral_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
346}
347
349
359inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
360 double object_heading = getHeading(cam) * M_PI / 180.0;
361 return getPosConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
362}
363
373inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
374 return getWGSPosConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
375}
376
377}

◆ 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 260 of file cam_getters.h.

293 {
295
302inline double getLongitudinalAcceleration(const LongitudinalAcceleration& longitudinal_acceleration) {
303 return ((double)longitudinal_acceleration.longitudinal_acceleration_value.value) * 1e-1;
304}
305
312inline double getLongitudinalAccelerationConfidence(const LongitudinalAcceleration& longitudinal_acceleration) {
313 return ((double)longitudinal_acceleration.longitudinal_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
314}
315
322inline double getLateralAcceleration(const LateralAcceleration& lateral_acceleration) {
323 return ((double)lateral_acceleration.lateral_acceleration_value.value) * 1e-1;
324}
325
332inline double getLateralAccelerationConfidence(const LateralAcceleration& lateral_acceleration) {
333 return ((double)lateral_acceleration.lateral_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
334}
335
337
347inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
348 double object_heading = getHeading(cam) * M_PI / 180.0;
349 return getPosConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
350}
351
361inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
362 return getWGSPosConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
363}
364
365}

◆ 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 282 of file cam_getters.h.

315 {
317
324inline double getLongitudinalAcceleration(const LongitudinalAcceleration& longitudinal_acceleration) {
325 return ((double)longitudinal_acceleration.longitudinal_acceleration_value.value) * 1e-1;
326}
327
334inline double getLongitudinalAccelerationConfidence(const LongitudinalAcceleration& longitudinal_acceleration) {
335 return ((double)longitudinal_acceleration.longitudinal_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
336}
337
344inline double getLateralAcceleration(const LateralAcceleration& lateral_acceleration) {
345 return ((double)lateral_acceleration.lateral_acceleration_value.value) * 1e-1;
346}
347
354inline double getLateralAccelerationConfidence(const LateralAcceleration& lateral_acceleration) {
355 return ((double)lateral_acceleration.lateral_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
356}
357
359
369inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
370 double object_heading = getHeading(cam) * M_PI / 180.0;
371 return getPosConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
372}
373
383inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
384 return getWGSPosConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
385}
386
387}

◆ 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 108 of file cam_getters.h.

141 {
143
150inline double getLongitudinalAcceleration(const LongitudinalAcceleration& longitudinal_acceleration) {
151 return ((double)longitudinal_acceleration.longitudinal_acceleration_value.value) * 1e-1;
152}
153
160inline double getLongitudinalAccelerationConfidence(const LongitudinalAcceleration& longitudinal_acceleration) {
161 return ((double)longitudinal_acceleration.longitudinal_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
162}
163
170inline double getLateralAcceleration(const LateralAcceleration& lateral_acceleration) {
171 return ((double)lateral_acceleration.lateral_acceleration_value.value) * 1e-1;
172}
173
180inline double getLateralAccelerationConfidence(const LateralAcceleration& lateral_acceleration) {
181 return ((double)lateral_acceleration.lateral_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
182}
183
185
195inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
196 double object_heading = getHeading(cam) * M_PI / 180.0;
197 return getPosConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
198}
199
209inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
210 return getWGSPosConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
211}
212
213}

◆ 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 55 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 366 of file cam_getters.h.

399 {
401
408inline double getLongitudinalAcceleration(const LongitudinalAcceleration& longitudinal_acceleration) {
409 return ((double)longitudinal_acceleration.longitudinal_acceleration_value.value) * 1e-1;
410}
411
418inline double getLongitudinalAccelerationConfidence(const LongitudinalAcceleration& longitudinal_acceleration) {
419 return ((double)longitudinal_acceleration.longitudinal_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
420}
421
428inline double getLateralAcceleration(const LateralAcceleration& lateral_acceleration) {
429 return ((double)lateral_acceleration.lateral_acceleration_value.value) * 1e-1;
430}
431
438inline double getLateralAccelerationConfidence(const LateralAcceleration& lateral_acceleration) {
439 return ((double)lateral_acceleration.lateral_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
440}
441
443
453inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
454 double object_heading = getHeading(cam) * M_PI / 180.0;
455 return getPosConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
456}
457
467inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
468 return getWGSPosConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
469}
470
471}

◆ 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 118 of file cam_getters.h.

151 {
153
160inline double getLongitudinalAcceleration(const LongitudinalAcceleration& longitudinal_acceleration) {
161 return ((double)longitudinal_acceleration.longitudinal_acceleration_value.value) * 1e-1;
162}
163
170inline double getLongitudinalAccelerationConfidence(const LongitudinalAcceleration& longitudinal_acceleration) {
171 return ((double)longitudinal_acceleration.longitudinal_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
172}
173
180inline double getLateralAcceleration(const LateralAcceleration& lateral_acceleration) {
181 return ((double)lateral_acceleration.lateral_acceleration_value.value) * 1e-1;
182}
183
190inline double getLateralAccelerationConfidence(const LateralAcceleration& lateral_acceleration) {
191 return ((double)lateral_acceleration.lateral_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
192}
193
195
205inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
206 double object_heading = getHeading(cam) * M_PI / 180.0;
207 return getPosConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
208}
209
219inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
220 return getWGSPosConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
221}
222
223}

◆ 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 63 of file cam_getters.h.

63{

◆ 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 222 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}

◆ 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 252 of file cam_getters.h.

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

◆ 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 233 of file cam_getters.h.

266 {
268
275inline double getLongitudinalAcceleration(const LongitudinalAcceleration& longitudinal_acceleration) {
276 return ((double)longitudinal_acceleration.longitudinal_acceleration_value.value) * 1e-1;
277}
278
285inline double getLongitudinalAccelerationConfidence(const LongitudinalAcceleration& longitudinal_acceleration) {
286 return ((double)longitudinal_acceleration.longitudinal_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
287}
288
295inline double getLateralAcceleration(const LateralAcceleration& lateral_acceleration) {
296 return ((double)lateral_acceleration.lateral_acceleration_value.value) * 1e-1;
297}
298
305inline double getLateralAccelerationConfidence(const LateralAcceleration& lateral_acceleration) {
306 return ((double)lateral_acceleration.lateral_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
307}
308
310
320inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
321 double object_heading = getHeading(cam) * M_PI / 180.0;
322 return getPosConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
323}
324
334inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
335 return getWGSPosConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
336}
337
338}

◆ 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 262 of file cam_getters.h.

295 {
297
304inline double getLongitudinalAcceleration(const LongitudinalAcceleration& longitudinal_acceleration) {
305 return ((double)longitudinal_acceleration.longitudinal_acceleration_value.value) * 1e-1;
306}
307
314inline double getLongitudinalAccelerationConfidence(const LongitudinalAcceleration& longitudinal_acceleration) {
315 return ((double)longitudinal_acceleration.longitudinal_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
316}
317
324inline double getLateralAcceleration(const LateralAcceleration& lateral_acceleration) {
325 return ((double)lateral_acceleration.lateral_acceleration_value.value) * 1e-1;
326}
327
334inline double getLateralAccelerationConfidence(const LateralAcceleration& lateral_acceleration) {
335 return ((double)lateral_acceleration.lateral_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
336}
337
339
349inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
350 double object_heading = getHeading(cam) * M_PI / 180.0;
351 return getPosConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
352}
353
363inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
364 return getWGSPosConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
365}
366
367}

◆ 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 163 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}

◆ 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 224 of file cam_getters.h.

257 {
259
266inline double getLongitudinalAcceleration(const LongitudinalAcceleration& longitudinal_acceleration) {
267 return ((double)longitudinal_acceleration.longitudinal_acceleration_value.value) * 1e-1;
268}
269
276inline double getLongitudinalAccelerationConfidence(const LongitudinalAcceleration& longitudinal_acceleration) {
277 return ((double)longitudinal_acceleration.longitudinal_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
278}
279
286inline double getLateralAcceleration(const LateralAcceleration& lateral_acceleration) {
287 return ((double)lateral_acceleration.lateral_acceleration_value.value) * 1e-1;
288}
289
296inline double getLateralAccelerationConfidence(const LateralAcceleration& lateral_acceleration) {
297 return ((double)lateral_acceleration.lateral_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
298}
299
301
311inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
312 double object_heading = getHeading(cam) * M_PI / 180.0;
313 return getPosConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
314}
315
325inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
326 return getWGSPosConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
327}
328
329}

◆ 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 391 of file cam_getters.h.

424 {
426
433inline double getLongitudinalAcceleration(const LongitudinalAcceleration& longitudinal_acceleration) {
434 return ((double)longitudinal_acceleration.longitudinal_acceleration_value.value) * 1e-1;
435}
436
443inline double getLongitudinalAccelerationConfidence(const LongitudinalAcceleration& longitudinal_acceleration) {
444 return ((double)longitudinal_acceleration.longitudinal_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
445}
446
453inline double getLateralAcceleration(const LateralAcceleration& lateral_acceleration) {
454 return ((double)lateral_acceleration.lateral_acceleration_value.value) * 1e-1;
455}
456
463inline double getLateralAccelerationConfidence(const LateralAcceleration& lateral_acceleration) {
464 return ((double)lateral_acceleration.lateral_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
465}
466
468
478inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
479 double object_heading = getHeading(cam) * M_PI / 180.0;
480 return getPosConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
481}
482
492inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
493 return getWGSPosConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
494}
495
496}

◆ 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 152 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}

◆ 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 356 of file cam_getters.h.

389 {
391
398inline double getLongitudinalAcceleration(const LongitudinalAcceleration& longitudinal_acceleration) {
399 return ((double)longitudinal_acceleration.longitudinal_acceleration_value.value) * 1e-1;
400}
401
408inline double getLongitudinalAccelerationConfidence(const LongitudinalAcceleration& longitudinal_acceleration) {
409 return ((double)longitudinal_acceleration.longitudinal_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
410}
411
418inline double getLateralAcceleration(const LateralAcceleration& lateral_acceleration) {
419 return ((double)lateral_acceleration.lateral_acceleration_value.value) * 1e-1;
420}
421
428inline double getLateralAccelerationConfidence(const LateralAcceleration& lateral_acceleration) {
429 return ((double)lateral_acceleration.lateral_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
430}
431
433
443inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
444 double object_heading = getHeading(cam) * M_PI / 180.0;
445 return getPosConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
446}
447
457inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
458 return getWGSPosConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
459}
460
461}

◆ 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 201 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}

◆ 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 79 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 211 of file cam_getters.h.

244 {
246
253inline double getLongitudinalAcceleration(const LongitudinalAcceleration& longitudinal_acceleration) {
254 return ((double)longitudinal_acceleration.longitudinal_acceleration_value.value) * 1e-1;
255}
256
263inline double getLongitudinalAccelerationConfidence(const LongitudinalAcceleration& longitudinal_acceleration) {
264 return ((double)longitudinal_acceleration.longitudinal_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
265}
266
273inline double getLateralAcceleration(const LateralAcceleration& lateral_acceleration) {
274 return ((double)lateral_acceleration.lateral_acceleration_value.value) * 1e-1;
275}
276
283inline double getLateralAccelerationConfidence(const LateralAcceleration& lateral_acceleration) {
284 return ((double)lateral_acceleration.lateral_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
285}
286
288
298inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
299 double object_heading = getHeading(cam) * M_PI / 180.0;
300 return getPosConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
301}
302
312inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
313 return getWGSPosConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
314}
315
316}

◆ 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 87 of file cam_getters.h.

88 {
89 double object_heading = getHeading(cam) * M_PI / 180.0;

◆ 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 76 of file cam_getters.h.

◆ 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 47 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 100 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 294 of file cam_getters.h.

327 {
329
336inline double getLongitudinalAcceleration(const LongitudinalAcceleration& longitudinal_acceleration) {
337 return ((double)longitudinal_acceleration.longitudinal_acceleration_value.value) * 1e-1;
338}
339
346inline double getLongitudinalAccelerationConfidence(const LongitudinalAcceleration& longitudinal_acceleration) {
347 return ((double)longitudinal_acceleration.longitudinal_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
348}
349
356inline double getLateralAcceleration(const LateralAcceleration& lateral_acceleration) {
357 return ((double)lateral_acceleration.lateral_acceleration_value.value) * 1e-1;
358}
359
366inline double getLateralAccelerationConfidence(const LateralAcceleration& lateral_acceleration) {
367 return ((double)lateral_acceleration.lateral_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
368}
369
371
381inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
382 double object_heading = getHeading(cam) * M_PI / 180.0;
383 return getPosConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
384}
385
395inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
396 return getWGSPosConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
397}
398
399}

◆ 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 281 of file cam_getters.h.

314 {
316
323inline double getLongitudinalAcceleration(const LongitudinalAcceleration& longitudinal_acceleration) {
324 return ((double)longitudinal_acceleration.longitudinal_acceleration_value.value) * 1e-1;
325}
326
333inline double getLongitudinalAccelerationConfidence(const LongitudinalAcceleration& longitudinal_acceleration) {
334 return ((double)longitudinal_acceleration.longitudinal_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
335}
336
343inline double getLateralAcceleration(const LateralAcceleration& lateral_acceleration) {
344 return ((double)lateral_acceleration.lateral_acceleration_value.value) * 1e-1;
345}
346
353inline double getLateralAccelerationConfidence(const LateralAcceleration& lateral_acceleration) {
354 return ((double)lateral_acceleration.lateral_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
355}
356
358
368inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
369 double object_heading = getHeading(cam) * M_PI / 180.0;
370 return getPosConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
371}
372
382inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
383 return getWGSPosConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
384}
385
386}

◆ 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 103 of file cam_getters.h.

◆ 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 171 of file cam_getters.h.

204 {
206
213inline double getLongitudinalAcceleration(const LongitudinalAcceleration& longitudinal_acceleration) {
214 return ((double)longitudinal_acceleration.longitudinal_acceleration_value.value) * 1e-1;
215}
216
223inline double getLongitudinalAccelerationConfidence(const LongitudinalAcceleration& longitudinal_acceleration) {
224 return ((double)longitudinal_acceleration.longitudinal_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
225}
226
233inline double getLateralAcceleration(const LateralAcceleration& lateral_acceleration) {
234 return ((double)lateral_acceleration.lateral_acceleration_value.value) * 1e-1;
235}
236
243inline double getLateralAccelerationConfidence(const LateralAcceleration& lateral_acceleration) {
244 return ((double)lateral_acceleration.lateral_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
245}
246
248
258inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
259 double object_heading = getHeading(cam) * M_PI / 180.0;
260 return getPosConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
261}
262
272inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
273 return getWGSPosConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
274}
275
276}

◆ 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 161 of file cam_getters.h.

194 {
196
203inline double getLongitudinalAcceleration(const LongitudinalAcceleration& longitudinal_acceleration) {
204 return ((double)longitudinal_acceleration.longitudinal_acceleration_value.value) * 1e-1;
205}
206
213inline double getLongitudinalAccelerationConfidence(const LongitudinalAcceleration& longitudinal_acceleration) {
214 return ((double)longitudinal_acceleration.longitudinal_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
215}
216
223inline double getLateralAcceleration(const LateralAcceleration& lateral_acceleration) {
224 return ((double)lateral_acceleration.lateral_acceleration_value.value) * 1e-1;
225}
226
233inline double getLateralAccelerationConfidence(const LateralAcceleration& lateral_acceleration) {
234 return ((double)lateral_acceleration.lateral_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
235}
236
238
248inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
249 double object_heading = getHeading(cam) * M_PI / 180.0;
250 return getPosConfidenceEllipse(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 getWGSPosConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
264}
265
266}

◆ 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 190 of file cam_getters.h.

223 {
225
232inline double getLongitudinalAcceleration(const LongitudinalAcceleration& longitudinal_acceleration) {
233 return ((double)longitudinal_acceleration.longitudinal_acceleration_value.value) * 1e-1;
234}
235
242inline double getLongitudinalAccelerationConfidence(const LongitudinalAcceleration& longitudinal_acceleration) {
243 return ((double)longitudinal_acceleration.longitudinal_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
244}
245
252inline double getLateralAcceleration(const LateralAcceleration& lateral_acceleration) {
253 return ((double)lateral_acceleration.lateral_acceleration_value.value) * 1e-1;
254}
255
262inline double getLateralAccelerationConfidence(const LateralAcceleration& lateral_acceleration) {
263 return ((double)lateral_acceleration.lateral_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
264}
265
267
277inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
278 double object_heading = getHeading(cam) * M_PI / 180.0;
279 return getPosConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
280}
281
291inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
292 return getWGSPosConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
293}
294
295}

◆ 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 182 of file cam_getters.h.

215{
217
224inline double getLongitudinalAcceleration(const LongitudinalAcceleration& longitudinal_acceleration) {
225 return ((double)longitudinal_acceleration.longitudinal_acceleration_value.value) * 1e-1;
226}
227
234inline double getLongitudinalAccelerationConfidence(const LongitudinalAcceleration& longitudinal_acceleration) {
235 return ((double)longitudinal_acceleration.longitudinal_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
236}
237
244inline double getLateralAcceleration(const LateralAcceleration& lateral_acceleration) {
245 return ((double)lateral_acceleration.lateral_acceleration_value.value) * 1e-1;
246}
247
254inline double getLateralAccelerationConfidence(const LateralAcceleration& lateral_acceleration) {
255 return ((double)lateral_acceleration.lateral_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
256}
257
259
269inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
270 double object_heading = getHeading(cam) * M_PI / 180.0;
271 return getPosConfidenceEllipse(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 getWGSPosConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
285}
286
287}

◆ 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 237 of file cam_getters.h.

270 {
272
279inline double getLongitudinalAcceleration(const LongitudinalAcceleration& longitudinal_acceleration) {
280 return ((double)longitudinal_acceleration.longitudinal_acceleration_value.value) * 1e-1;
281}
282
289inline double getLongitudinalAccelerationConfidence(const LongitudinalAcceleration& longitudinal_acceleration) {
290 return ((double)longitudinal_acceleration.longitudinal_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
291}
292
299inline double getLateralAcceleration(const LateralAcceleration& lateral_acceleration) {
300 return ((double)lateral_acceleration.lateral_acceleration_value.value) * 1e-1;
301}
302
309inline double getLateralAccelerationConfidence(const LateralAcceleration& lateral_acceleration) {
310 return ((double)lateral_acceleration.lateral_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
311}
312
314
324inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
325 double object_heading = getHeading(cam) * M_PI / 180.0;
326 return getPosConfidenceEllipse(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 getWGSPosConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
340}
341
342}

◆ 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 405 of file cam_getters.h.

438 {
440
447inline double getLongitudinalAcceleration(const LongitudinalAcceleration& longitudinal_acceleration) {
448 return ((double)longitudinal_acceleration.longitudinal_acceleration_value.value) * 1e-1;
449}
450
457inline double getLongitudinalAccelerationConfidence(const LongitudinalAcceleration& longitudinal_acceleration) {
458 return ((double)longitudinal_acceleration.longitudinal_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
459}
460
467inline double getLateralAcceleration(const LateralAcceleration& lateral_acceleration) {
468 return ((double)lateral_acceleration.lateral_acceleration_value.value) * 1e-1;
469}
470
477inline double getLateralAccelerationConfidence(const LateralAcceleration& lateral_acceleration) {
478 return ((double)lateral_acceleration.lateral_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
479}
480
482
492inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
493 double object_heading = getHeading(cam) * M_PI / 180.0;
494 return getPosConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
495}
496
506inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
507 return getWGSPosConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
508}
509
510}

◆ 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 211 of file cam_getters.h.

244 {
246
253inline double getLongitudinalAcceleration(const LongitudinalAcceleration& longitudinal_acceleration) {
254 return ((double)longitudinal_acceleration.longitudinal_acceleration_value.value) * 1e-1;
255}
256
263inline double getLongitudinalAccelerationConfidence(const LongitudinalAcceleration& longitudinal_acceleration) {
264 return ((double)longitudinal_acceleration.longitudinal_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
265}
266
273inline double getLateralAcceleration(const LateralAcceleration& lateral_acceleration) {
274 return ((double)lateral_acceleration.lateral_acceleration_value.value) * 1e-1;
275}
276
283inline double getLateralAccelerationConfidence(const LateralAcceleration& lateral_acceleration) {
284 return ((double)lateral_acceleration.lateral_acceleration_confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
285}
286
288
298inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
299 double object_heading = getHeading(cam) * M_PI / 180.0;
300 return getPosConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
301}
302
312inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
313 return getWGSPosConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
314}
315
316}