scenario_simulator_v2 C++ API
Classes | Namespaces | Macros
entity_manager.hpp File Reference
#include <tf2/LinearMath/Quaternion.h>
#include <tf2_ros/static_transform_broadcaster.h>
#include <tf2_ros/transform_broadcaster.h>
#include <autoware_perception_msgs/msg/traffic_signal_array.hpp>
#include <memory>
#include <optional>
#include <rclcpp/node_interfaces/get_node_topics_interface.hpp>
#include <rclcpp/node_interfaces/node_topics_interface.hpp>
#include <rclcpp/rclcpp.hpp>
#include <scenario_simulator_exception/exception.hpp>
#include <stdexcept>
#include <string>
#include <tf2_geometry_msgs/tf2_geometry_msgs.hpp>
#include <traffic_simulator/api/configuration.hpp>
#include <traffic_simulator/data_type/lane_change.hpp>
#include <traffic_simulator/data_type/speed_change.hpp>
#include <traffic_simulator/entity/ego_entity.hpp>
#include <traffic_simulator/entity/entity_base.hpp>
#include <traffic_simulator/entity/misc_object_entity.hpp>
#include <traffic_simulator/entity/pedestrian_entity.hpp>
#include <traffic_simulator/entity/vehicle_entity.hpp>
#include <traffic_simulator/hdmap_utils/hdmap_utils.hpp>
#include <traffic_simulator/traffic/traffic_sink.hpp>
#include <traffic_simulator/traffic_lights/configurable_rate_updater.hpp>
#include <traffic_simulator/traffic_lights/traffic_light_marker_publisher.hpp>
#include <traffic_simulator/traffic_lights/traffic_light_publisher.hpp>
#include <traffic_simulator/utils/node_parameters.hpp>
#include <traffic_simulator_msgs/msg/behavior_parameter.hpp>
#include <traffic_simulator_msgs/msg/bounding_box.hpp>
#include <traffic_simulator_msgs/msg/entity_status_with_trajectory_array.hpp>
#include <traffic_simulator_msgs/msg/traffic_light_array_v1.hpp>
#include <traffic_simulator_msgs/msg/vehicle_parameters.hpp>
#include <type_traits>
#include <unordered_map>
#include <utility>
#include <vector>
#include <visualization_msgs/msg/marker_array.hpp>
Include dependency graph for entity_manager.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  traffic_simulator::entity::LaneletMarkerQoS
 
class  traffic_simulator::entity::EntityMarkerQoS
 
class  traffic_simulator::entity::EntityManager
 

Namespaces

 traffic_simulator
 
 traffic_simulator::entity
 

Macros

#define FORWARD_GETTER_TO_TRAFFIC_LIGHT_MANAGER(NAME)
 
#define FORWARD_TO_HDMAP_UTILS(NAME)
 
#define FORWARD_TO_ENTITY(IDENTIFIER, ...)
 

Macro Definition Documentation

◆ FORWARD_GETTER_TO_TRAFFIC_LIGHT_MANAGER

#define FORWARD_GETTER_TO_TRAFFIC_LIGHT_MANAGER (   NAME)
Value:
template <typename... Ts> \
decltype(auto) getConventional##NAME(Ts &&... xs) const \
{ \
return conventional_traffic_light_manager_ptr_->get##NAME(xs...); \
} \
static_assert(true, ""); \
template <typename... Ts> \
decltype(auto) getV2I##NAME(Ts &&... xs) const \
{ \
return v2i_traffic_light_manager_ptr_->get##NAME(xs...); \
} \
static_assert(true, "")

◆ FORWARD_TO_ENTITY

#define FORWARD_TO_ENTITY (   IDENTIFIER,
  ... 
)
Value:
\
template <typename... Ts> \
decltype(auto) IDENTIFIER(const std::string & name, Ts &&... xs) __VA_ARGS__ \
try { \
return entities_.at(name)->IDENTIFIER(std::forward<decltype(xs)>(xs)...); \
} catch (const std::out_of_range &) { \
THROW_SEMANTIC_ERROR("entity : ", name, "does not exist"); \
} \
static_assert(true, "")
Definition: cache.hpp:27
Definition: junit5.hpp:25

◆ FORWARD_TO_HDMAP_UTILS

#define FORWARD_TO_HDMAP_UTILS (   NAME)
Value:
\
template <typename... Ts> \
decltype(auto) NAME(Ts &&... xs) const \
{ \
return hdmap_utils_ptr_->NAME(std::forward<decltype(xs)>(xs)...); \
} \
static_assert(true, "")