etsi_its_messages v3.3.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 244 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 358 of file cam_ts_getters.h.

391 {
393
395
405inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
406 double object_heading = getHeading(cam) * M_PI / 180.0;
407 return getPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
408}
409
419inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
420 return getWGSPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
421}
422
423} // 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 103 of file cam_ts_getters.h.

136 {
138
140
150inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
151 double object_heading = getHeading(cam) * M_PI / 180.0;
152 return getPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
153}
154
164inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
165 return getWGSPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
166}
167
168} // 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 114 of file cam_ts_getters.h.

147 {
149
151
161inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
162 double object_heading = getHeading(cam) * M_PI / 180.0;
163 return getPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
164}
165
175inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
176 return getWGSPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
177}
178
179} // 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 71 of file cam_ts_getters.h.

104 {
106
108
118inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
119 double object_heading = getHeading(cam) * M_PI / 180.0;
120 return getPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
121}
122
132inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
133 return getWGSPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
134}
135
136} // 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 130 of file cam_ts_getters.h.

163 {
165
167
177inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
178 double object_heading = getHeading(cam) * M_PI / 180.0;
179 return getPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
180}
181
191inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
192 return getWGSPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
193}
194
195} // 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 43 of file cam_ts_getters.h.

48 {
49 double object_heading = getHeading(cam) * M_PI / 180.0;
50 return getPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
51}
52
62inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
63 return getWGSPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
64}
65
66} // 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 368 of file cam_ts_getters.h.

401 {
403
405
415inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
416 double object_heading = getHeading(cam) * M_PI / 180.0;
417 return getPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
418}
419
429inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
430 return getWGSPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
431}
432
433} // 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 398 of file cam_ts_getters.h.

431 {
433
435
445inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
446 double object_heading = getHeading(cam) * M_PI / 180.0;
447 return getPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
448}
449
459inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
460 return getWGSPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
461}
462
463} // 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 338 of file cam_ts_getters.h.

371 {
373
375
385inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
386 double object_heading = getHeading(cam) * M_PI / 180.0;
387 return getPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
388}
389
399inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
400 return getWGSPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
401}
402
403} // 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 328 of file cam_ts_getters.h.

361 {
363
365
375inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
376 double object_heading = getHeading(cam) * M_PI / 180.0;
377 return getPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
378}
379
389inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
390 return getWGSPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
391}
392
393} // 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 86 of file cam_ts_getters.h.

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

◆ 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 94 of file cam_ts_getters.h.

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

◆ 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 142 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

◆ 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 159 of file cam_ts_getters.h.

192{
194
196
206inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
207 double object_heading = getHeading(cam) * M_PI / 180.0;
208 return getPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
209}
210
220inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
221 return getWGSPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
222}
223
224} // 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 153 of file cam_ts_getters.h.

186 {
188
190
200inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
201 double object_heading = getHeading(cam) * M_PI / 180.0;
202 return getPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
203}
204
214inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
215 return getWGSPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
216}
217
218} // 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 170 of file cam_ts_getters.h.

203{
205
207
217inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
218 double object_heading = getHeading(cam) * M_PI / 180.0;
219 return getPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
220}
221
231inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
232 return getWGSPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
233}
234
235} // 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 332 of file cam_ts_getters.h.

365 {
367
369
379inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
380 double object_heading = getHeading(cam) * M_PI / 180.0;
381 return getPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
382}
383
393inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
394 return getWGSPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
395}
396
397} // namespace etsi_its_cam_ts_msgs::access

◆ 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 266 of file cam_ts_getters.h.

299 {
301
303
313inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
314 double object_heading = getHeading(cam) * M_PI / 180.0;
315 return getPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
316}
317
327inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
328 return getWGSPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
329}
330
331} // 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 342 of file cam_ts_getters.h.

375 {
377
379
389inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
390 double object_heading = getHeading(cam) * M_PI / 180.0;
391 return getPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
392}
393
403inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
404 return getWGSPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
405}
406
407} // 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 282 of file cam_ts_getters.h.

315 {
317
319
329inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
330 double object_heading = getHeading(cam) * M_PI / 180.0;
331 return getPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
332}
333
343inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
344 return getWGSPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
345}
346
347} // 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 110 of file cam_ts_getters.h.

143 {
145
147
157inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
158 double object_heading = getHeading(cam) * M_PI / 180.0;
159 return getPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
160}
161
171inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
172 return getWGSPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
173}
174
175} // 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 55 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 388 of file cam_ts_getters.h.

421 {
423
425
435inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
436 double object_heading = getHeading(cam) * M_PI / 180.0;
437 return getPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
438}
439
449inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
450 return getWGSPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
451}
452
453} // 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 120 of file cam_ts_getters.h.

153 {
155
157
167inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
168 double object_heading = getHeading(cam) * M_PI / 180.0;
169 return getPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
170}
171
181inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
182 return getWGSPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
183}
184
185} // 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 63 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 312 of file cam_ts_getters.h.

345 {
347
349
359inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
360 double object_heading = getHeading(cam) * M_PI / 180.0;
361 return getPositionConfidenceEllipse(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 getWGSPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
375}
376
377} // namespace etsi_its_cam_ts_msgs::access

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

277 {
279
281
291inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
292 double object_heading = getHeading(cam) * M_PI / 180.0;
293 return getPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
294}
295
305inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
306 return getWGSPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
307}
308
309} // 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 322 of file cam_ts_getters.h.

355 {
357
359
369inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
370 double object_heading = getHeading(cam) * M_PI / 180.0;
371 return getPositionConfidenceEllipse(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 getWGSPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
385}
386
387} // namespace etsi_its_cam_ts_msgs::access

◆ 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 255 of file cam_ts_getters.h.

288 {
290
292
302inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
303 double object_heading = getHeading(cam) * M_PI / 180.0;
304 return getPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
305}
306
316inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
317 return getWGSPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
318}
319
320} // 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 225 of file cam_ts_getters.h.

258 {
260
262
272inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
273 double object_heading = getHeading(cam) * M_PI / 180.0;
274 return getPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
275}
276
286inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
287 return getWGSPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
288}
289
290} // 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 286 of file cam_ts_getters.h.

319 {
321
323
333inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
334 double object_heading = getHeading(cam) * M_PI / 180.0;
335 return getPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
336}
337
347inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
348 return getWGSPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
349}
350
351} // 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 370 of file cam_ts_getters.h.

403 {
405
407
417inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
418 double object_heading = getHeading(cam) * M_PI / 180.0;
419 return getPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
420}
421
431inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
432 return getWGSPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
433}
434
435} // 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 354 of file cam_ts_getters.h.

387 {
389
391
401inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
402 double object_heading = getHeading(cam) * M_PI / 180.0;
403 return getPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
404}
405
415inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
416 return getWGSPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
417}
418
419} // 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 413 of file cam_ts_getters.h.

446 {
448
450
460inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
461 double object_heading = getHeading(cam) * M_PI / 180.0;
462 return getPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
463}
464
474inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
475 return getWGSPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
476}
477
478} // namespace etsi_its_cam_ts_msgs::access

◆ 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 214 of file cam_ts_getters.h.

247 {
249
251
261inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
262 double object_heading = getHeading(cam) * M_PI / 180.0;
263 return getPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
264}
265
275inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
276 return getWGSPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
277}
278
279} // 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 378 of file cam_ts_getters.h.

411 {
413
415
425inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
426 double object_heading = getHeading(cam) * M_PI / 180.0;
427 return getPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
428}
429
439inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
440 return getWGSPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
441}
442
443} // 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 223 of file cam_ts_getters.h.

256 {
258
260
270inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
271 double object_heading = getHeading(cam) * M_PI / 180.0;
272 return getPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
273}
274
284inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
285 return getWGSPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
286}
287
288} // 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 84 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

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

266 {
268
270
280inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
281 double object_heading = getHeading(cam) * M_PI / 180.0;
282 return getPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
283}
284
294inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
295 return getWGSPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
296}
297
298} // 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 92 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

◆ 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 78 of file cam_ts_getters.h.

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

◆ 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 47 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 102 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

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

349 {
351
353
363inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
364 double object_heading = getHeading(cam) * M_PI / 180.0;
365 return getPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
366}
367
377inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
378 return getWGSPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
379}
380
381} // 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 303 of file cam_ts_getters.h.

336 {
338
340
350inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
351 double object_heading = getHeading(cam) * M_PI / 180.0;
352 return getPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
353}
354
364inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
365 return getWGSPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
366}
367
368} // 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 130 of file cam_ts_getters.h.

163 {
165
167
177inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
178 double object_heading = getHeading(cam) * M_PI / 180.0;
179 return getPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
180}
181
191inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
192 return getWGSPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
193}
194
195} // 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 193 of file cam_ts_getters.h.

226 {
228
230
240inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
241 double object_heading = getHeading(cam) * M_PI / 180.0;
242 return getPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
243}
244
254inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
255 return getWGSPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
256}
257
258} // 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 183 of file cam_ts_getters.h.

216 {
218
220
230inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
231 double object_heading = getHeading(cam) * M_PI / 180.0;
232 return getPositionConfidenceEllipse(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 getWGSPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
246}
247
248} // 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 212 of file cam_ts_getters.h.

245 {
247
249
259inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
260 double object_heading = getHeading(cam) * M_PI / 180.0;
261 return getPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
262}
263
273inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
274 return getWGSPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
275}
276
277} // 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 204 of file cam_ts_getters.h.

237{
239
241
251inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
252 double object_heading = getHeading(cam) * M_PI / 180.0;
253 return getPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
254}
255
265inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
266 return getWGSPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
267}
268
269} // 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 299 of file cam_ts_getters.h.

332 {
334
336
346inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
347 double object_heading = getHeading(cam) * M_PI / 180.0;
348 return getPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
349}
350
360inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
361 return getWGSPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
362}
363
364} // 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 383 of file cam_ts_getters.h.

416 {
418
420
430inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
431 double object_heading = getHeading(cam) * M_PI / 180.0;
432 return getPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
433}
434
444inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
445 return getWGSPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
446}
447
448} // 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 427 of file cam_ts_getters.h.

460 {
462
464
474inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
475 double object_heading = getHeading(cam) * M_PI / 180.0;
476 return getPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
477}
478
488inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
489 return getWGSPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
490}
491
492} // namespace etsi_its_cam_ts_msgs::access

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

◆ 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 179 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

◆ 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 173 of file cam_ts_getters.h.

206 {
208
210
220inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
221 double object_heading = getHeading(cam) * M_PI / 180.0;
222 return getPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
223}
224
234inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
235 return getWGSPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
236}
237
238} // 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 190 of file cam_ts_getters.h.

223 {
225
227
237inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
238 double object_heading = getHeading(cam) * M_PI / 180.0;
239 return getPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
240}
241
251inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
252 return getWGSPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
253}
254
255} // 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 273 of file cam_ts_getters.h.

306 {
308
310
320inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
321 double object_heading = getHeading(cam) * M_PI / 180.0;
322 return getPositionConfidenceEllipse(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 getWGSPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
336}
337
338} // namespace etsi_its_cam_ts_msgs::access