etsi_its_messages
v3.5.0
Toggle main menu visibility
Loading...
Searching...
No Matches
denm_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
#include <
etsi_its_msgs_utils/impl/constants.h
>
12
13
namespace
etsi_its_denm_msgs::access {
14
15
#include <
etsi_its_msgs_utils/impl/cdd/cdd_v1-3-1_setters.h
>
16
17
#include <
etsi_its_msgs_utils/impl/denm/denm_setters_common.h
>
18
21
*
22
* @param denm DENM-Message to set the ItsPduHeader
23
* @param station_id
24
* @param protocol_version
25
*/
26
inline
void
setItsPduHeader
(DENM& denm,
const
uint32_t station_id,
const
uint8_t protocol_version = 0) {
27
setItsPduHeader
(denm.header, ItsPduHeader::MESSAGE_ID_DENM, station_id, protocol_version);
28
}
29
34
35
*/
36
inline
void
setIsHeadingPresent
(DENM& denm,
bool
presence_of_heading) {
37
if
(denm.denm.location_is_present) {
38
denm.denm.location.event_position_heading_is_present = presence_of_heading;
39
}
else
{
40
throw
std::invalid_argument(
"LocationContainer is not present!"
);
41
}
42
}
43
44
51
* @param value Heading value in degree as decimal number
52
* @param confidence standard deviation of heading in degree as decimal number (default: infinity, mapping to HeadingConfidence::UNAVAILABLE)
53
*/
54
inline
void
setHeading
(DENM& denm,
const
double
heading_val,
const
double
confidence = std::numeric_limits<double>::infinity()) {
55
if
(denm.denm.location_is_present) {
56
setHeadingCDD
(denm.denm.location.event_position_heading, heading_val, confidence);
57
setIsHeadingPresent
(denm,
true
);
58
}
else
{
59
throw
std::invalid_argument(
"LocationContainer is not present!"
);
60
}
61
}
62
63
}
// namespace etsi_its_denm_msgs::access
cdd_v1-3-1_setters.h
Setter functions for the ETSI ITS Common Data Dictionary (CDD) v1.3.1.
constants.h
File containing constants that are used in the context of ETIS ITS Messages.
etsi_its_denm_msgs::access::setHeading
void setHeading(DENM &denm, const double heading_val, const double confidence=std::numeric_limits< double >::infinity())
Set the Heading for a DENM.
Definition
denm_setters.h:54
etsi_its_denm_msgs::access::setHeadingCDD
void setHeadingCDD(Heading &heading, const double value, double confidence=std::numeric_limits< double >::infinity())
Set the Heading object.
Definition
denm_setters.h:317
etsi_its_denm_msgs::access::setIsHeadingPresent
void setIsHeadingPresent(DENM &denm, bool presence_of_heading)
Set the IsHeadingPresent object for DENM.
Definition
denm_setters.h:36
etsi_its_denm_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_setters.h:25
denm_setters_common.h
Common setter functions for the ETSI ITS DENM (EN and TS).
etsi_its_msgs_utils
include
etsi_its_msgs_utils
impl
denm
denm_setters.h
Generated by
1.17.0