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

369 {
371
373
383inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
384 double object_heading = getHeading(cam) * M_PI / 180.0;
385 return getPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
386}
387
397inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
398 return getWGSPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
399}
400
401} // 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.

◆ 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

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

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

379 {
381
383
393inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
394 double object_heading = getHeading(cam) * M_PI / 180.0;
395 return getPositionConfidenceEllipse(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 getWGSPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
409}
410
411} // 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 376 of file cam_ts_getters.h.

409 {
411
413
423inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
424 double object_heading = getHeading(cam) * M_PI / 180.0;
425 return getPositionConfidenceEllipse(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 getWGSPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
439}
440
441} // 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 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

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

339 {
341
343
353inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
354 double object_heading = getHeading(cam) * M_PI / 180.0;
355 return getPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
356}
357
367inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
368 return getWGSPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
369}
370
371} // 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 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

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

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

173 {
175
177
187inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
188 double object_heading = getHeading(cam) * M_PI / 180.0;
189 return getPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
190}
191
201inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
202 return getWGSPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
203}
204
205} // 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 132 of file cam_ts_getters.h.

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

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

176{
178
180
190inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
191 double object_heading = getHeading(cam) * M_PI / 180.0;
192 return getPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
193}
194
204inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
205 return getWGSPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
206}
207
208} // 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 270 of file cam_ts_getters.h.

303 {
305
307
317inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
318 double object_heading = getHeading(cam) * M_PI / 180.0;
319 return getPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
320}
321
331inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
332 return getWGSPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
333}
334
335} // 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 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

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

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

293 {
295
297
307inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
308 double object_heading = getHeading(cam) * M_PI / 180.0;
309 return getPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
310}
311
321inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
322 return getWGSPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
323}
324
325} // 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 108 of file cam_ts_getters.h.

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

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

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

283 {
285
287
297inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
298 double object_heading = getHeading(cam) * M_PI / 180.0;
299 return getPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
300}
301
311inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
312 return getWGSPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
313}
314
315} // 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 222 of file cam_ts_getters.h.

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

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

293 {
295
297
307inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
308 double object_heading = getHeading(cam) * M_PI / 180.0;
309 return getPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
310}
311
321inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
322 return getWGSPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
323}
324
325} // 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 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

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

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

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

341 {
343
345
355inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
356 double object_heading = getHeading(cam) * M_PI / 180.0;
357 return getPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
358}
359
369inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
370 return getWGSPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
371}
372
373} // 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 292 of file cam_ts_getters.h.

325 {
327
329
339inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
340 double object_heading = getHeading(cam) * M_PI / 180.0;
341 return getPositionConfidenceEllipse(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 getWGSPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
355}
356
357} // 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 391 of file cam_ts_getters.h.

424 {
426
428
438inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
439 double object_heading = getHeading(cam) * M_PI / 180.0;
440 return getPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
441}
442
452inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
453 return getWGSPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
454}
455
456} // 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 152 of file cam_ts_getters.h.

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

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

389 {
391
393
403inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
404 double object_heading = getHeading(cam) * M_PI / 180.0;
405 return getPositionConfidenceEllipse(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 getWGSPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
419}
420
421} // 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 201 of file cam_ts_getters.h.

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

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

112{
114
116
126inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
127 double object_heading = getHeading(cam) * M_PI / 180.0;
128 return getPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
129}
130
140inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
141 return getWGSPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
142}
143
144} // 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 211 of file cam_ts_getters.h.

244 {
246
248
258inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
259 double object_heading = getHeading(cam) * M_PI / 180.0;
260 return getPositionConfidenceEllipse(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 getWGSPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
274}
275
276} // 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 87 of file cam_ts_getters.h.

120 {
122
124
134inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
135 double object_heading = getHeading(cam) * M_PI / 180.0;
136 return getPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
137}
138
148inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
149 return getWGSPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
150}
151
152} // 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 76 of file cam_ts_getters.h.

109{
111
113
123inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
124 double object_heading = getHeading(cam) * M_PI / 180.0;
125 return getPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
126}
127
137inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
138 return getWGSPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
139}
140
141} // 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 100 of file cam_ts_getters.h.

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

327 {
329
331
341inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
342 double object_heading = getHeading(cam) * M_PI / 180.0;
343 return getPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
344}
345
355inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
356 return getWGSPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
357}
358
359} // 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 281 of file cam_ts_getters.h.

314 {
316
318
328inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
329 double object_heading = getHeading(cam) * M_PI / 180.0;
330 return getPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
331}
332
342inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
343 return getWGSPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
344}
345
346} // 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 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

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

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

194 {
196
198
208inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
209 double object_heading = getHeading(cam) * M_PI / 180.0;
210 return getPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
211}
212
222inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
223 return getWGSPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
224}
225
226} // 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 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

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

215{
217
219
229inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
230 double object_heading = getHeading(cam) * M_PI / 180.0;
231 return getPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
232}
233
243inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
244 return getWGSPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
245}
246
247} // 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 237 of file cam_ts_getters.h.

270 {
272
274
284inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
285 double object_heading = getHeading(cam) * M_PI / 180.0;
286 return getPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
287}
288
298inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
299 return getWGSPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
300}
301
302} // 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 321 of file cam_ts_getters.h.

354 {
356
358
368inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
369 double object_heading = getHeading(cam) * M_PI / 180.0;
370 return getPositionConfidenceEllipse(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 getWGSPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
384}
385
386} // 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 405 of file cam_ts_getters.h.

438 {
440
442
452inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
453 double object_heading = getHeading(cam) * M_PI / 180.0;
454 return getPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse, object_heading);
455}
456
466inline const std::array<double, 4> getWGSRefPosConfidence(const CAM& cam) {
467 return getWGSPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
468}
469
470} // 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 211 of file cam_ts_getters.h.

244 {
246
248
258inline const std::array<double, 4> getRefPosConfidence(const CAM& cam) {
259 double object_heading = getHeading(cam) * M_PI / 180.0;
260 return getPositionConfidenceEllipse(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 getWGSPositionConfidenceEllipse(cam.cam.cam_parameters.basic_container.reference_position.position_confidence_ellipse);
274}
275
276} // namespace etsi_its_cam_ts_msgs::access