1 #include <lanelet2_core/geometry/BoundingBox.h> 2 #include <lanelet2_core/geometry/Lanelet.h> 3 #include <lanelet2_core/geometry/Point.h> 4 #include <lanelet2_core/primitives/Lanelet.h> 8 #pragma GCC diagnostic ignored "-Wunused-variable" 39 assert(points.
size() > 1);
42 assert(samePoint == aPoint);
43 assert(points.
exists(aPoint.id()));
46 assert(!linestrings.
empty());
51 assert(newMap.pointLayer.exists(aPoint.id()));
54 LaneletMapUPtr mapPtr = std::make_unique<LaneletMap>(std::move(newMap));
59 assert(aConstPoint == aPoint);
69 laneletMap.
add(lanelet);
82 laneletMap.
add(invalLs);
90 assert(laneletsMap->laneletLayer.exists(lanelets.front().id()));
105 assert(laneletsOwningLinestring.size() == 1 && laneletsOwningLinestring.front() == mapLanelet);
107 auto regelemsOwningLs =
109 assert(regelemsOwningLs.size() == 1 && regelemsOwningLs.front() == trafficLight);
112 assert(!laneletsOwningRegelems.empty());
117 assert(!lanelets.empty());
120 std::vector<std::pair<double, Lanelet>> actuallyNearestLanelets =
122 assert(!actuallyNearestLanelets.empty());
126 assert(!inRegion.empty());
136 return geometry::distance(searchPoint, lltBox) > 3;
157 assert(newSubmap->pointLayer.empty());
158 assert(newSubmap->size() == inRegion.size());
162 assert(!newMap->pointLayer.empty());
void part2CreatingLaneletMaps()
ConstPrimitiveVec search(const BoundingBox2d &area) const
std::vector< std::shared_ptr< RegElemT > > regulatoryElementsAs()
std::vector< ConstPrimitiveT > findUsages(const traits::ConstPrimitiveType< traits::OwnedT< PrimitiveT >> &primitive) const
std::vector< Lanelet > Lanelets
LaneletMap getALaneletMap()
void part3QueryingInformation()
const_iterator find(Id id) const
LaneletSubmapUPtr createSubmap(const Points3d &fromPoints)
std::unique_ptr< LaneletMap > LaneletMapUPtr
void add(Lanelet lanelet)
LaneletLayer laneletLayer
boost::optional< T > Optional
OptConstPrimitiveT nearestUntil(const BasicPoint2d &point, const ConstSearchFunction &func) const
RegulatoryElementLayer regulatoryElementLayer
Lanelets findUsages(const RegulatoryElementConstPtr ®Elem)
ConstPrimitiveVec nearest(const BasicPoint2d &point, unsigned n) const
void part4LaneletSubmaps()
const_iterator begin() const
Eigen::Matrix< double, 2, 1, Eigen::DontAlign > BasicPoint2d
std::vector< std::pair< double, PrimT > > findNearest(PrimitiveLayer< PrimT > &map, const BasicPoint2d &pt, unsigned count)
std::shared_ptr< TrafficLight > Ptr
LaneletMapUPtr createMap(const Points3d &fromPoints)
LineStringLayer lineStringLayer
BoundingBox2d boundingBox2d(const RegulatoryElement ®Elem)
std::unique_ptr< LaneletSubmap > LaneletSubmapUPtr
void part1AboutLaneletMaps()