20#include <lanelet2_core/LaneletMap.h>
21#include <lanelet2_core/primitives/Area.h>
22#include <lanelet2_core/primitives/Point.h>
23#include <lanelet2_core/primitives/Lanelet.h>
24#include <lanelet2_core/primitives/Polygon.h>
25#include <lanelet2_core/geometry/Polygon.h>
26#include <lanelet2_core/geometry/LineString.h>
27#include <lanelet2_core/utility/Optional.h>
29#include <boost/geometry.hpp>
30#include <boost/geometry/geometries/polygon.hpp>
31#include <rclcpp/rclcpp.hpp>
33#include <unordered_set>
34#include <unordered_map>
35#include <lanelet2_routing/RoutingGraph.h>
57std::vector<lanelet::ConstLanelet>
getLaneletsFromPoint(
const lanelet::LaneletMapConstPtr& semantic_map,
const lanelet::BasicPoint2d&
point,
58 const unsigned int n = 10);
70std::vector<lanelet::Lanelet>
getLaneletsFromPoint(
const lanelet::LaneletMapPtr& semantic_map,
const lanelet::BasicPoint2d&
point,
71 const unsigned int n = 10);
88std::vector<lanelet::ConstLanelet>
nonConnectedAdjacentLeft(
const lanelet::LaneletMapConstPtr& semantic_map,
const lanelet::BasicPoint2d& input_point,
89 const unsigned int n = 10);
107std::vector<lanelet::Lanelet>
nonConnectedAdjacentLeft(
const lanelet::LaneletMapPtr& semantic_map,
const lanelet::BasicPoint2d& input_point,
108 const unsigned int n = 10);
120lanelet::ConstLaneletOrAreas
getAffectedLaneletOrAreas(
const lanelet::Points3d& gf_pts,
const lanelet::LaneletMapPtr& lanelet_map, std::shared_ptr<const lanelet::routing::RoutingGraph> routing_graph,
double max_lane_width);
131std::unordered_set<lanelet::Lanelet>
filterSuccessorLanelets(
const std::unordered_set<lanelet::Lanelet>& possible_lanelets,
const std::unordered_set<lanelet::Lanelet>& root_lanelets,
132 const lanelet::LaneletMapPtr& lanelet_map, std::shared_ptr<const lanelet::routing::RoutingGraph> routing_graph);
144uint32_t
get32BitId(uint16_t intersection_id, uint8_t signal_group_id);
std::unordered_set< lanelet::Lanelet > filterSuccessorLanelets(const std::unordered_set< lanelet::Lanelet > &possible_lanelets, const std::unordered_set< lanelet::Lanelet > &root_lanelets, const lanelet::LaneletMapPtr &lanelet_map, std::shared_ptr< const lanelet::routing::RoutingGraph > routing_graph)
A function that filters successor lanelets of root_lanelets from possible_lanelets.
std::vector< lanelet::ConstLanelet > getLaneletsFromPoint(const lanelet::LaneletMapConstPtr &semantic_map, const lanelet::BasicPoint2d &point, const unsigned int n=10)
carma_wm::query namespace contains implementations for query functions (input and output read or writ...
lanelet::ConstLaneletOrAreas getAffectedLaneletOrAreas(const lanelet::Points3d &gf_pts, const lanelet::LaneletMapPtr &lanelet_map, std::shared_ptr< const lanelet::routing::RoutingGraph > routing_graph, double max_lane_width)
Gets the affected lanelet or areas based on the points in the given map's frame.
std::vector< lanelet::ConstLanelet > nonConnectedAdjacentLeft(const lanelet::LaneletMapConstPtr &semantic_map, const lanelet::BasicPoint2d &input_point, const unsigned int n=10)
Given the cartesian point on the map, tries to get the opposite direction lanelet on the left This fu...
uint32_t get32BitId(uint16_t intersection_id, uint8_t signal_group_id)
Get 32bit id by concatenating 16bit id with 8bit signal_group_id.