12namespace traffic_manager {
48 return waypoint->GetTransform().location;
52 return waypoint->GetTransform().rotation.GetForwardVector();
56 for (
auto &simple_waypoint: waypoints) {
59 return static_cast<uint64_t
>(waypoints.size());
63 for (
auto &simple_waypoint: waypoints) {
66 return static_cast<uint64_t
>(waypoints.size());
72 if ((heading_vector.
x * relative_vector.
y - heading_vector.
y * relative_vector.
x) > 0.0f) {
80 if ((heading_vector.
x * relative_vector.
y - heading_vector.
y * relative_vector.
x) < 0.0f) {
94 return cg::Math::DistanceSquared(
GetLocation(), location);
98 return cg::Math::DistanceSquared(
GetLocation(), other->GetLocation());
120 grid_id =
waypoint->GetJunctionId();
auto Distance(const Location &loc) const
std::vector< SimpleWaypointPtr > previous_waypoints
指向前一个连接waypoint的指针列表。
bool CheckIntersection() const
如果对象的waypoint属于交叉口(不使用OpenDrive),则返回true。
uint64_t SetNextWaypoint(const std::vector< SimpleWaypointPtr > &next_waypoints)
此方法用于设置下一个waypoint。
GeoGridId GetJunctionId() const
方法用于获取waypoint的交叉口ID。
void SetLeftWaypoint(SimpleWaypointPtr &waypoint)
此方法用于设置最近的左侧waypoint,以便进行变道。
std::vector< SimpleWaypointPtr > GetNextWaypoint() const
返回下一个waypoint的列表。
void SetRightWaypoint(SimpleWaypointPtr &waypoint)
此方法用于设置最近的右侧waypoint,以便进行变道。
SimpleWaypointPtr next_left_waypoint
指向左侧变道waypoint的指针。
WaypointPtr waypoint
指向Carla的Waypoint对象的指针,作为此类的封装对象。
bool CheckJunction() const
如果对象的waypoint属于交叉口,则返回true。
float DistanceSquared(const cg::Location &location) const
计算到给定位置的距离的平方。
GeoGridId geodesic_grid_id
整数,用于将waypoint放置到地理网格中。
cg::Vector3D GetForwardVector() const
返回沿waypoint方向的向量。
void SetRoadOption(RoadOption _road_option)
std::vector< SimpleWaypointPtr > next_waypoints
指向下一个连接waypoint的指针列表。
std::vector< SimpleWaypointPtr > GetPreviousWaypoint() const
返回前一个waypoint的列表。
uint64_t GetId() const
返回waypoint的唯一ID。
WaypointPtr GetWaypoint() const
返回指向carla::waypoint的共享指针。
SimpleWaypointPtr next_right_waypoint
指向右侧变道waypoint的指针。
void SetIsJunction(bool value)
此方法用于设置waypoint是否属于交叉口。
uint64_t SetPreviousWaypoint(const std::vector< SimpleWaypointPtr > &next_waypoints)
此方法用于设置前一个waypoint。
cg::Transform GetTransform() const
返回当前waypoint的变换对象。
SimpleWaypointPtr GetLeftWaypoint()
此方法用于获取最近的左侧waypoint。
std::shared_ptr< SimpleWaypoint > SimpleWaypointPtr
float Distance(const cg::Location &location) const
计算对象的waypoint到给定位置的距离。
GeoGridId GetGeodesicGridId()
访问器方法,用于获取地理网格ID。
void SetGeodesicGridId(GeoGridId _geodesic_grid_id)
访问器方法,用于设置地理网格ID。
SimpleWaypoint(WaypointPtr _waypoint)
cg::Location GetLocation() const
返回此waypoint的位置信息。
SimpleWaypointPtr GetRightWaypoint()
此方法用于获取最近的右侧waypoint。
RoadOption road_option
当前waypoint的RoadOption。
RoadOption GetRoadOption()
carla::SharedPtr< cc::Waypoint > WaypointPtr
Waypoint的智能指针类型别名。
std::shared_ptr< SimpleWaypoint > SimpleWaypointPtr