ad_rss
generated
include
ad
rss
world
RssDynamics.hpp
Go to the documentation of this file.
1
/*
2
* ----------------- BEGIN LICENSE BLOCK ---------------------------------
3
*
4
* Copyright (C) 2018-2022 Intel Corporation
5
*
6
* SPDX-License-Identifier: LGPL-2.1-only
7
*
8
* ----------------- END LICENSE BLOCK -----------------------------------
9
*/
10
18
#pragma once
19
20
#include <iostream>
21
#include <limits>
22
#include <memory>
23
#include <sstream>
24
#include "ad/physics/Distance.hpp"
25
#include "ad/physics/Duration.hpp"
26
#include "ad/physics/Speed.hpp"
27
#include "
ad/rss/world/LateralRssAccelerationValues.hpp
"
28
#include "
ad/rss/world/LongitudinalRssAccelerationValues.hpp
"
29
#include "
ad/rss/world/UnstructuredSettings.hpp
"
33
namespace
ad
{
37
namespace
rss {
41
namespace
world {
42
50
struct
RssDynamics
51
{
55
typedef
std::shared_ptr<RssDynamics>
Ptr
;
56
60
typedef
std::shared_ptr<RssDynamics const>
ConstPtr
;
61
65
RssDynamics
() =
default
;
66
70
~RssDynamics
() =
default
;
71
75
RssDynamics
(
const
RssDynamics
&other) =
default
;
76
80
RssDynamics
(
RssDynamics
&&other) =
default
;
81
89
RssDynamics
&
operator=
(
const
RssDynamics
&other) =
default
;
90
98
RssDynamics
&
operator=
(
RssDynamics
&&other) =
default
;
99
107
bool
operator==
(
const
RssDynamics
&other)
const
108
{
109
return
(
alpha_lon
== other.
alpha_lon
) && (
alpha_lat
== other.
alpha_lat
)
110
&& (
lateral_fluctuation_margin
== other.
lateral_fluctuation_margin
) && (
response_time
== other.
response_time
)
111
&& (
max_speed_on_acceleration
== other.
max_speed_on_acceleration
)
112
&& (
unstructured_settings
== other.
unstructured_settings
)
113
&& (
min_longitudinal_safety_distance
== other.
min_longitudinal_safety_distance
);
114
}
115
123
bool
operator!=
(
const
RssDynamics
&other)
const
124
{
125
return
!
operator==
(other);
126
}
127
131
::ad::rss::world::LongitudinalRssAccelerationValues
alpha_lon
;
132
136
::ad::rss::world::LateralRssAccelerationValues
alpha_lat
;
137
141
::ad::physics::Distance
lateral_fluctuation_margin
{0.0};
142
146
::ad::physics::Duration
response_time
;
147
155
::ad::physics::Speed
max_speed_on_acceleration
{100};
156
160
::ad::rss::world::UnstructuredSettings
unstructured_settings
;
161
172
::ad::physics::Distance
min_longitudinal_safety_distance
{0.0};
173
};
174
175
}
// namespace world
176
}
// namespace rss
177
}
// namespace ad
178
182
#ifndef GEN_GUARD_AD_RSS_WORLD_RSSDYNAMICS
183
#define GEN_GUARD_AD_RSS_WORLD_RSSDYNAMICS
187
namespace
ad
{
191
namespace
rss {
195
namespace
world {
196
206
inline
std::ostream &
operator<<
(std::ostream &os,
RssDynamics
const
&_value)
207
{
208
os <<
"RssDynamics("
;
209
os <<
"alpha_lon:"
;
210
os << _value.
alpha_lon
;
211
os <<
","
;
212
os <<
"alpha_lat:"
;
213
os << _value.
alpha_lat
;
214
os <<
","
;
215
os <<
"lateral_fluctuation_margin:"
;
216
os << _value.
lateral_fluctuation_margin
;
217
os <<
","
;
218
os <<
"response_time:"
;
219
os << _value.
response_time
;
220
os <<
","
;
221
os <<
"max_speed_on_acceleration:"
;
222
os << _value.
max_speed_on_acceleration
;
223
os <<
","
;
224
os <<
"unstructured_settings:"
;
225
os << _value.
unstructured_settings
;
226
os <<
","
;
227
os <<
"min_longitudinal_safety_distance:"
;
228
os << _value.
min_longitudinal_safety_distance
;
229
os <<
")"
;
230
return
os;
231
}
232
233
}
// namespace world
234
}
// namespace rss
235
}
// namespace ad
236
237
namespace
std {
241
inline
std::string
to_string
(::
ad::rss::world::RssDynamics
const
&value)
242
{
243
stringstream sstream;
244
sstream << value;
245
return
sstream.str();
246
}
247
}
// namespace std
248
252
template
<>
struct
fmt::formatter<::
ad::rss::world::RssDynamics
> : formatter<string_view>
253
{
254
template
<
typename
FormatContext>
auto
format(::
ad::rss::world::RssDynamics
const
&value, FormatContext &ctx)
255
{
256
return
formatter<string_view>::format(std::to_string(value), ctx);
257
}
258
};
259
260
#endif
// GEN_GUARD_AD_RSS_WORLD_RSSDYNAMICS
std::to_string
std::string to_string(::ad::rss::core::LateralRelativePosition const &value)
overload of the std::to_string for LateralRelativePosition
Definition:
LateralRelativePosition.hpp:162
LateralRssAccelerationValues.hpp
LongitudinalRssAccelerationValues.hpp
UnstructuredSettings.hpp
ad::rss::world::operator<<
std::ostream & operator<<(std::ostream &os, Constellation const &_value)
standard ostream operator
Definition:
Constellation.hpp:198
ad
namespace ad
Definition:
LateralRelativePosition.hpp:28
ad::rss::world::LateralRssAccelerationValues
DataType LateralRssAccelerationValues.
Definition:
LateralRssAccelerationValues.hpp:44
ad::rss::world::LongitudinalRssAccelerationValues
DataType LongitudinalRssAccelerationValues.
Definition:
LongitudinalRssAccelerationValues.hpp:44
ad::rss::world::RssDynamics
DataType RssDynamics.
Definition:
RssDynamics.hpp:51
ad::rss::world::RssDynamics::operator!=
bool operator!=(const RssDynamics &other) const
standard comparison operator
Definition:
RssDynamics.hpp:123
ad::rss::world::RssDynamics::max_speed_on_acceleration
::ad::physics::Speed max_speed_on_acceleration
Definition:
RssDynamics.hpp:155
ad::rss::world::RssDynamics::~RssDynamics
~RssDynamics()=default
standard destructor
ad::rss::world::RssDynamics::operator=
RssDynamics & operator=(RssDynamics &&other)=default
standard move operator
ad::rss::world::RssDynamics::operator==
bool operator==(const RssDynamics &other) const
standard comparison operator
Definition:
RssDynamics.hpp:107
ad::rss::world::RssDynamics::unstructured_settings
::ad::rss::world::UnstructuredSettings unstructured_settings
Definition:
RssDynamics.hpp:160
ad::rss::world::RssDynamics::lateral_fluctuation_margin
::ad::physics::Distance lateral_fluctuation_margin
Definition:
RssDynamics.hpp:141
ad::rss::world::RssDynamics::RssDynamics
RssDynamics()=default
standard constructor
ad::rss::world::RssDynamics::Ptr
std::shared_ptr< RssDynamics > Ptr
Smart pointer on RssDynamics.
Definition:
RssDynamics.hpp:55
ad::rss::world::RssDynamics::min_longitudinal_safety_distance
::ad::physics::Distance min_longitudinal_safety_distance
Definition:
RssDynamics.hpp:172
ad::rss::world::RssDynamics::RssDynamics
RssDynamics(const RssDynamics &other)=default
standard copy constructor
ad::rss::world::RssDynamics::alpha_lat
::ad::rss::world::LateralRssAccelerationValues alpha_lat
Definition:
RssDynamics.hpp:136
ad::rss::world::RssDynamics::response_time
::ad::physics::Duration response_time
Definition:
RssDynamics.hpp:146
ad::rss::world::RssDynamics::RssDynamics
RssDynamics(RssDynamics &&other)=default
standard move constructor
ad::rss::world::RssDynamics::alpha_lon
::ad::rss::world::LongitudinalRssAccelerationValues alpha_lon
Definition:
RssDynamics.hpp:131
ad::rss::world::RssDynamics::operator=
RssDynamics & operator=(const RssDynamics &other)=default
standard assignment operator
ad::rss::world::RssDynamics::ConstPtr
std::shared_ptr< RssDynamics const > ConstPtr
Smart pointer on constant RssDynamics.
Definition:
RssDynamics.hpp:60
ad::rss::world::UnstructuredSettings
DataType UnstructuredSettings.
Definition:
UnstructuredSettings.hpp:48
Generated by
1.9.1