etsi_its_messages
v3.5.0
Toggle main menu visibility
Loading...
Searching...
No Matches
denm_ts_setters.h
Go to the documentation of this file.
1
// SPDX-License-Identifier: MIT
2
// Copyright Institute for Automotive Engineering (ika), RWTH Aachen University
3
8
9
#pragma once
10
11
namespace
etsi_its_denm_ts_msgs::access {
12
13
#include <
etsi_its_msgs_utils/impl/cdd/cdd_v2-2-1_setters.h
>
14
15
#include <
etsi_its_msgs_utils/impl/denm/denm_setters_common.h
>
16
21
* @param station_id
22
* @param protocol_version
23
*/
24
inline
void
setItsPduHeader
(DENM& denm,
const
uint32_t station_id,
const
uint8_t protocol_version = 0) {
25
setItsPduHeader
(denm.header, MessageId::DENM, station_id, protocol_version);
26
}
27
28
/**
29
* @brief Set the IsWGSHeadingPresent object for DENM
30
*
31
* @param denm DENM to set IsWGSHeadingPresent
32
* @param presence_of_heading IsWGSHeadingPresent-Value (true or false)
33
*/
34
inline
void
setIsWGSHeadingPresent
(DENM& denm,
bool
presence_of_heading) {
35
if
(denm.denm.location_is_present) {
36
denm.denm.location.event_position_heading_is_present = presence_of_heading;
37
}
else
{
38
throw
std::invalid_argument(
"LocationContainer is not present!"
);
39
}
40
}
41
43
* @brief Set the WGS Heading for a DENM
44
*
45
* 0.0° equals WGS84 North, 90.0° equals WGS84 East, 180.0° equals WGS84 South and 270.0° equals WGS84 West
46
* Wgs84AngleConfidence is set to UNAVAILABLE
47
*
48
* @param denm DENM to set the WGS Heading
49
* @param heading_val Heading value in degree as decimal number
50
* @param confidence standard deviation of heading in degree as decimal number (default: infinity, mapping to Wgs84AngleConfidence::UNAVAILABLE)
51
*/
52
inline
void
setWGSHeading
(DENM& denm,
const
double
heading_val,
const
double
confidence = std::numeric_limits<double>::infinity()) {
53
if
(denm.denm.location_is_present) {
54
setWGSHeadingCDD
(denm.denm.location.event_position_heading, heading_val, confidence);
55
setIsWGSHeadingPresent
(denm,
true
);
56
}
else
{
57
throw
std::invalid_argument(
"LocationContainer is not present!"
);
58
}
59
}
60
61
}
// namespace etsi_its_denm_ts_msgs::access
cdd_v2-2-1_setters.h
Setter functions for the ETSI ITS Common Data Dictionary (CDD) v2.2.1.
denm_setters_common.h
Common setter functions for the ETSI ITS DENM (EN and TS).
etsi_its_denm_ts_msgs::access::setWGSHeadingCDD
void setWGSHeadingCDD(Wgs84Angle &heading, const double value, double confidence=std::numeric_limits< double >::infinity())
Set the Wgs84Angle object.
Definition
denm_ts_setters.h:77
etsi_its_denm_ts_msgs::access::setWGSHeading
void setWGSHeading(DENM &denm, const double heading_val, const double confidence=std::numeric_limits< double >::infinity())
Set the WGS Heading for a DENM.
Definition
denm_ts_setters.h:52
etsi_its_denm_ts_msgs::access::setItsPduHeader
void setItsPduHeader(ItsPduHeader &header, const uint8_t message_id, const uint32_t station_id, const uint8_t protocol_version=0)
Set the Its Pdu Header object.
Definition
denm_ts_setters.h:25
etsi_its_denm_ts_msgs::access::setIsWGSHeadingPresent
void setIsWGSHeadingPresent(DENM &denm, bool presence_of_heading)
Set the IsWGSHeadingPresent object for DENM.
Definition
denm_ts_setters.h:34
etsi_its_msgs_utils
include
etsi_its_msgs_utils
impl
denm
denm_ts_setters.h
Generated by
1.17.0