ad_rss
UnstructuredSettings.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 <cstdint>
21 #include <iostream>
22 #include <limits>
23 #include <memory>
24 #include <sstream>
25 #include "ad/physics/Angle.hpp"
26 #include "ad/physics/AngularAcceleration.hpp"
27 #include "ad/physics/Distance.hpp"
28 #include "ad/physics/Duration.hpp"
32 namespace ad {
36 namespace rss {
40 namespace world {
41 
48 {
52  typedef std::shared_ptr<UnstructuredSettings> Ptr;
53 
57  typedef std::shared_ptr<UnstructuredSettings const> ConstPtr;
58 
62  UnstructuredSettings() = default;
63 
67  ~UnstructuredSettings() = default;
68 
72  UnstructuredSettings(const UnstructuredSettings &other) = default;
73 
78 
87 
96 
104  bool operator==(const UnstructuredSettings &other) const
105  {
128  }
129 
137  bool operator!=(const UnstructuredSettings &other) const
138  {
139  return !operator==(other);
140  }
141 
147  ::ad::physics::Distance pedestrian_turning_radius;
148 
154  ::ad::physics::Angle drive_away_max_angle;
155 
160  ::ad::physics::AngularAcceleration vehicle_yaw_rate_change;
161 
165  ::ad::physics::Distance vehicle_min_radius;
166 
173  ::ad::physics::Duration vehicle_trajectory_calculation_step;
174 
182 
190 
196 
202 
207 
212 
217 
222 
230 
238 };
239 
240 } // namespace world
241 } // namespace rss
242 } // namespace ad
243 
247 #ifndef GEN_GUARD_AD_RSS_WORLD_UNSTRUCTUREDSETTINGS
248 #define GEN_GUARD_AD_RSS_WORLD_UNSTRUCTUREDSETTINGS
252 namespace ad {
256 namespace rss {
260 namespace world {
261 
271 inline std::ostream &operator<<(std::ostream &os, UnstructuredSettings const &_value)
272 {
273  os << "UnstructuredSettings(";
274  os << "pedestrian_turning_radius:";
275  os << _value.pedestrian_turning_radius;
276  os << ",";
277  os << "drive_away_max_angle:";
278  os << _value.drive_away_max_angle;
279  os << ",";
280  os << "vehicle_yaw_rate_change:";
281  os << _value.vehicle_yaw_rate_change;
282  os << ",";
283  os << "vehicle_min_radius:";
284  os << _value.vehicle_min_radius;
285  os << ",";
286  os << "vehicle_trajectory_calculation_step:";
288  os << ",";
289  os << "vehicle_front_intermediate_yaw_rate_change_ratio_steps:";
291  os << ",";
292  os << "vehicle_back_intermediate_yaw_rate_change_ratio_steps:";
294  os << ",";
295  os << "vehicle_brake_intermediate_acceleration_steps:";
297  os << ",";
298  os << "vehicle_continue_forward_intermediate_acceleration_steps:";
300  os << ",";
301  os << "vehicle_continue_forward_intermediate_yaw_rate_change_ratio_steps:";
303  os << ",";
304  os << "pedestrian_continue_forward_intermediate_heading_change_ratio_steps:";
306  os << ",";
307  os << "pedestrian_continue_forward_intermediate_acceleration_steps:";
309  os << ",";
310  os << "pedestrian_brake_intermediate_acceleration_steps:";
312  os << ",";
313  os << "pedestrian_front_intermediate_heading_change_ratio_steps:";
315  os << ",";
316  os << "pedestrian_back_intermediate_heading_change_ratio_steps:";
318  os << ")";
319  return os;
320 }
321 
322 } // namespace world
323 } // namespace rss
324 } // namespace ad
325 
326 namespace std {
330 inline std::string to_string(::ad::rss::world::UnstructuredSettings const &value)
331 {
332  stringstream sstream;
333  sstream << value;
334  return sstream.str();
335 }
336 } // namespace std
337 
341 template <> struct fmt::formatter<::ad::rss::world::UnstructuredSettings> : formatter<string_view>
342 {
343  template <typename FormatContext> auto format(::ad::rss::world::UnstructuredSettings const &value, FormatContext &ctx)
344  {
345  return formatter<string_view>::format(std::to_string(value), ctx);
346  }
347 };
348 
349 #endif // GEN_GUARD_AD_RSS_WORLD_UNSTRUCTUREDSETTINGS
std::string to_string(::ad::rss::core::LateralRelativePosition const &value)
overload of the std::to_string for LateralRelativePosition
Definition: LateralRelativePosition.hpp:162
std::ostream & operator<<(std::ostream &os, Constellation const &_value)
standard ostream operator
Definition: Constellation.hpp:198
namespace ad
Definition: LateralRelativePosition.hpp:28
DataType UnstructuredSettings.
Definition: UnstructuredSettings.hpp:48
::ad::physics::Distance vehicle_min_radius
Definition: UnstructuredSettings.hpp:165
UnstructuredSettings & operator=(UnstructuredSettings &&other)=default
standard move operator
uint32_t vehicle_back_intermediate_yaw_rate_change_ratio_steps
Definition: UnstructuredSettings.hpp:189
UnstructuredSettings()=default
standard constructor
~UnstructuredSettings()=default
standard destructor
uint32_t pedestrian_continue_forward_intermediate_acceleration_steps
Definition: UnstructuredSettings.hpp:216
bool operator!=(const UnstructuredSettings &other) const
standard comparison operator
Definition: UnstructuredSettings.hpp:137
std::shared_ptr< UnstructuredSettings > Ptr
Smart pointer on UnstructuredSettings.
Definition: UnstructuredSettings.hpp:52
bool operator==(const UnstructuredSettings &other) const
standard comparison operator
Definition: UnstructuredSettings.hpp:104
UnstructuredSettings(UnstructuredSettings &&other)=default
standard move constructor
uint32_t vehicle_continue_forward_intermediate_yaw_rate_change_ratio_steps
Definition: UnstructuredSettings.hpp:206
::ad::physics::Distance pedestrian_turning_radius
Definition: UnstructuredSettings.hpp:147
uint32_t vehicle_front_intermediate_yaw_rate_change_ratio_steps
Definition: UnstructuredSettings.hpp:181
std::shared_ptr< UnstructuredSettings const > ConstPtr
Smart pointer on constant UnstructuredSettings.
Definition: UnstructuredSettings.hpp:57
UnstructuredSettings(const UnstructuredSettings &other)=default
standard copy constructor
uint32_t pedestrian_brake_intermediate_acceleration_steps
Definition: UnstructuredSettings.hpp:221
UnstructuredSettings & operator=(const UnstructuredSettings &other)=default
standard assignment operator
uint32_t pedestrian_continue_forward_intermediate_heading_change_ratio_steps
Definition: UnstructuredSettings.hpp:211
uint32_t pedestrian_back_intermediate_heading_change_ratio_steps
Definition: UnstructuredSettings.hpp:237
::ad::physics::Angle drive_away_max_angle
Definition: UnstructuredSettings.hpp:154
uint32_t vehicle_brake_intermediate_acceleration_steps
Definition: UnstructuredSettings.hpp:195
::ad::physics::Duration vehicle_trajectory_calculation_step
Definition: UnstructuredSettings.hpp:173
uint32_t pedestrian_front_intermediate_heading_change_ratio_steps
Definition: UnstructuredSettings.hpp:229
uint32_t vehicle_continue_forward_intermediate_acceleration_steps
Definition: UnstructuredSettings.hpp:201
::ad::physics::AngularAcceleration vehicle_yaw_rate_change
Definition: UnstructuredSettings.hpp:160