Skip to content

Commit

Permalink
move getStopLineIds method and getStopLineIdsOnPath method
Browse files Browse the repository at this point in the history
  • Loading branch information
abco20 committed Feb 27, 2025
1 parent f99fdfc commit 8e01a81
Show file tree
Hide file tree
Showing 5 changed files with 35 additions and 56 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -213,10 +213,6 @@ class HdMapUtils
traffic_simulator::RoutingConfiguration().routing_graph_type) const
-> double;

auto getStopLineIds() const -> lanelet::Ids;

auto getStopLineIdsOnPath(const lanelet::Ids & route_lanelets) const -> lanelet::Ids;

auto getStopLinePolygon(const lanelet::Id) const -> std::vector<geometry_msgs::msg::Point>;

auto getTangentVector(const lanelet::Id, const double s) const
Expand Down Expand Up @@ -350,10 +346,6 @@ class HdMapUtils
const traffic_simulator::lane_change::TrajectoryShape,
const double tangent_vector_size = 100) const -> math::geometry::HermiteCurve;

auto getStopLines() const -> lanelet::ConstLineStrings3d;

auto getStopLinesOnPath(const lanelet::Ids &) const -> lanelet::ConstLineStrings3d;

auto getTrafficLightRegulatoryElementsOnPath(const lanelet::Ids &) const
-> std::vector<std::shared_ptr<const lanelet::autoware::AutowareTrafficLight>>;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,10 @@ auto toPolygon(const lanelet::ConstLineString3d & line_string) -> std::vector<Po
// Objects on path
auto trafficSignsOnPath(const lanelet::Ids & lanelet_ids)
-> std::vector<std::shared_ptr<const lanelet::TrafficSign>>;

auto stopLinesOnPath(const lanelet::Ids & lanelet_ids) -> lanelet::ConstLineStrings3d;

auto stopLineIdsOnPath(const lanelet::Ids & lanelet_ids) -> lanelet::Ids;
} // namespace lanelet_map
} // namespace lanelet_wrapper
} // namespace traffic_simulator
Expand Down
45 changes: 0 additions & 45 deletions simulation/traffic_simulator/src/hdmap_utils/hdmap_utils.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1229,51 +1229,6 @@ auto HdMapUtils::getTrafficLightRegulatoryElementsOnPath(const lanelet::Ids & la
return ret;
}

auto HdMapUtils::getStopLines() const -> lanelet::ConstLineStrings3d
{
lanelet::ConstLineStrings3d ret;
for (const auto & traffic_sign : getTrafficSignRegulatoryElements()) {
if (traffic_sign->type() == "stop_sign") {
for (const auto & stop_line : traffic_sign->refLines()) {
ret.emplace_back(stop_line);
}
}
}
return ret;
}

auto HdMapUtils::getStopLinesOnPath(const lanelet::Ids & lanelet_ids) const
-> lanelet::ConstLineStrings3d
{
lanelet::ConstLineStrings3d ret;
for (const auto & traffic_sign : getTrafficSignRegulatoryElementsOnPath(lanelet_ids)) {
if (traffic_sign->type() == "stop_sign") {
for (const auto & stop_line : traffic_sign->refLines()) {
ret.emplace_back(stop_line);
}
}
}
return ret;
}

auto HdMapUtils::getStopLineIds() const -> lanelet::Ids
{
lanelet::Ids stop_line_ids;
for (const auto & ret : getStopLines()) {
stop_line_ids.push_back(ret.id());
}
return stop_line_ids;
}

auto HdMapUtils::getStopLineIdsOnPath(const lanelet::Ids & route_lanelets) const -> lanelet::Ids
{
lanelet::Ids stop_line_ids;
for (const auto & ret : getStopLinesOnPath(route_lanelets)) {
stop_line_ids.push_back(ret.id());
}
return stop_line_ids;
}

auto HdMapUtils::getTrafficLights(const lanelet::Id traffic_light_id) const
-> std::vector<lanelet::AutowareTrafficLightConstPtr>
{
Expand Down
23 changes: 23 additions & 0 deletions simulation/traffic_simulator/src/lanelet_wrapper/lanelet_map.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -272,6 +272,29 @@ auto trafficSignsOnPath(const lanelet::Ids & lanelet_ids)
}
return ret;
}

auto stopLinesOnPath(const lanelet::Ids & lanelet_ids) -> lanelet::ConstLineStrings3d
{
lanelet::ConstLineStrings3d stop_lines;
for (const auto & traffic_sign : lanelet_wrapper::lanelet_map::trafficSignsOnPath(lanelet_ids)) {
if (traffic_sign->type() == "stop_sign") {
const auto & ref_lines = traffic_sign->refLines();
stop_lines.insert(stop_lines.end(), ref_lines.begin(), ref_lines.end());
}
}
return stop_lines;
}

auto stopLineIdsOnPath(const lanelet::Ids & lanelet_ids) -> lanelet::Ids
{
lanelet::Ids stop_line_ids;
const auto & stop_lines = stopLinesOnPath(lanelet_ids);
stop_line_ids.reserve(stop_lines.size());
for (const auto & ret : stop_lines) {
stop_line_ids.push_back(ret.id());
}
return stop_line_ids;
}
} // namespace lanelet_map
} // namespace lanelet_wrapper
} // namespace traffic_simulator
Original file line number Diff line number Diff line change
Expand Up @@ -2265,7 +2265,9 @@ TEST_F(HdMapUtilsTest_IntersectionMap, isInIntersection)
TEST_F(HdMapUtilsTest_StandardMap, getStopLineIdsOnPath_noStopLines)
{
EXPECT_EQ(
hdmap_utils.getStopLineIdsOnPath({34507, 34795, 34606, 34672}).size(), static_cast<size_t>(0));
traffic_simulator::lanelet_wrapper::lanelet_map::stopLineIdsOnPath({34507, 34795, 34606, 34672})
.size(),
static_cast<size_t>(0));
}

/**
Expand All @@ -2275,7 +2277,8 @@ TEST_F(HdMapUtilsTest_StandardMap, getStopLineIdsOnPath_noStopLines)
TEST_F(HdMapUtilsTest_StandardMap, getStopLineIdsOnPath_someStopLines)
{
EXPECT_EQ(
hdmap_utils.getStopLineIdsOnPath({34408, 34633, 34579, 34780, 34675, 34744, 34690}),
traffic_simulator::lanelet_wrapper::lanelet_map::stopLineIdsOnPath(
{34408, 34633, 34579, 34780, 34675, 34744, 34690}),
(lanelet::Ids{120635}));
}

Expand All @@ -2284,7 +2287,9 @@ TEST_F(HdMapUtilsTest_StandardMap, getStopLineIdsOnPath_someStopLines)
*/
TEST_F(HdMapUtilsTest_StandardMap, getStopLineIdsOnPath_empty)
{
EXPECT_EQ(hdmap_utils.getStopLineIdsOnPath(lanelet::Ids{}).size(), static_cast<size_t>(0));
EXPECT_EQ(
traffic_simulator::lanelet_wrapper::lanelet_map::stopLineIdsOnPath(lanelet::Ids{}).size(),
static_cast<size_t>(0));
}

/**
Expand Down

0 comments on commit 8e01a81

Please sign in to comment.