15 #ifndef TRAFFIC_SIMULATOR__DATA_TYPE__LANELET_POSE_HPP_
16 #define TRAFFIC_SIMULATOR__DATA_TYPE__LANELET_POSE_HPP_
24 inline namespace lanelet_pose
30 const LaneletPose & maybe_non_canonicalized_lanelet_pose,
31 const std::shared_ptr<hdmap_utils::HdMapUtils> &
hdmap_utils);
33 const LaneletPose & maybe_non_canonicalized_lanelet_pose,
34 const std::shared_ptr<hdmap_utils::HdMapUtils> &
hdmap_utils,
35 const lanelet::Ids & route_lanelets);
37 explicit operator geometry_msgs::msg::Pose() const noexcept {
return map_pose_; }
41 bool allow_lane_change =
false) const ->
std::optional<
LaneletPose>;
48 #define DEFINE_COMPARISON_OPERATOR(OPERATOR) \
49 bool operator OPERATOR(const CanonicalizedLaneletPose & rhs) const \
52 static_cast<LaneletPose>(*this).lanelet_id == static_cast<LaneletPose>(rhs).lanelet_id && \
53 static_cast<LaneletPose>(*this).s OPERATOR static_cast<LaneletPose>(rhs).s) { \
63 #undef DEFINE_COMPARISON_OPERATOR
67 const LaneletPose & may_non_canonicalized_lanelet_pose,
70 const LaneletPose & may_non_canonicalized_lanelet_pose,
71 const std::shared_ptr<hdmap_utils::HdMapUtils> &
hdmap_utils,
72 const lanelet::Ids & route_lanelets) ->
LaneletPose;
Definition: lanelet_pose.hpp:27
const std::vector< LaneletPose > lanelet_poses_
Definition: lanelet_pose.hpp:74
auto canonicalize(const LaneletPose &may_non_canonicalized_lanelet_pose, const std::shared_ptr< hdmap_utils::HdMapUtils > &hdmap_utils, const lanelet::Ids &route_lanelets) -> LaneletPose
Definition: lanelet_pose.cpp:42
CanonicalizedLaneletPose(const LaneletPose &maybe_non_canonicalized_lanelet_pose, const std::shared_ptr< hdmap_utils::HdMapUtils > &hdmap_utils)
Definition: lanelet_pose.cpp:22
const LaneletPose lanelet_pose_
Definition: lanelet_pose.hpp:73
const geometry_msgs::msg::Pose map_pose_
Definition: lanelet_pose.hpp:75
bool hasAlternativeLaneletPose() const
Definition: lanelet_pose.hpp:38
DEFINE_COMPARISON_OPERATOR(<=) DEFINE_COMPARISON_OPERATOR(<) DEFINE_COMPARISON_OPERATOR(>
auto getAlternativeLaneletPoseBaseOnShortestRouteFrom(LaneletPose from, const std::shared_ptr< hdmap_utils::HdMapUtils > &hdmap_utils, bool allow_lane_change=false) const -> std::optional< LaneletPose >
Definition: lanelet_pose.cpp:83
bool isSameLaneletId(const CanonicalizedEntityStatus &, const CanonicalizedEntityStatus &)
Definition: entity_status.cpp:128
traffic_simulator_msgs::msg::LaneletPose LaneletPose
Definition: lanelet_pose.hpp:22