路径点类,表示道路上的特定位置。 更多...
#include <Waypoint.h>
Public 成员函数 | |
std::vector< SharedPtr< Landmark > > | GetAllLandmarksInDistance (double distance, bool stop_at_junction=false) const |
获取从当前位置到指定距离内的所有地标列表。 | |
auto | GetDistance () const |
获取沿车道的距离(s值)。 | |
uint64_t | GetId () const |
获取此路径点的唯一标识符。 | |
SharedPtr< Junction > | GetJunction () const |
获取交叉路口对象。 | |
road::JuncId | GetJunctionId () const |
获取交叉路口ID。 | |
std::vector< SharedPtr< Landmark > > | GetLandmarksOfTypeInDistance (double distance, std::string filter_type, bool stop_at_junction=false) const |
获取从当前位置到指定距离内,按指定类型筛选的地标列表。 | |
road::element::LaneMarking::LaneChange | GetLaneChange () const |
获取车道变更信息。 | |
auto | GetLaneId () const |
获取车道ID。 | |
double | GetLaneWidth () const |
获取车道宽度。 | |
SharedPtr< Waypoint > | GetLeft () const |
获取当前路径点左侧的路径点。 | |
boost::optional< road::element::LaneMarking > | GetLeftLaneMarking () const |
获取当前路径点左侧的车道标记。 | |
std::vector< SharedPtr< Waypoint > > | GetNext (double distance) const |
获取指定距离内的下一个路径点列表。 | |
std::vector< SharedPtr< Waypoint > > | GetNextUntilLaneEnd (double distance) const |
获取从当前位置开始,沿车道方向直到道路终点的路径点列表。 | |
std::vector< SharedPtr< Waypoint > > | GetPrevious (double distance) const |
获取指定距离内的上一个路径点列表。 | |
std::vector< SharedPtr< Waypoint > > | GetPreviousUntilLaneStart (double distance) const |
获取从当前位置开始,沿车道反方向直到道路起点的路径点列表。 | |
SharedPtr< Waypoint > | GetRight () const |
获取当前路径点右侧的路径点。 | |
boost::optional< road::element::LaneMarking > | GetRightLaneMarking () const |
获取当前路径点右侧的车道标记。 | |
auto | GetRoadId () const |
获取道路ID。 | |
auto | GetSectionId () const |
获取路段ID。 | |
const geom::Transform & | GetTransform () const |
获取路径点的几何变换信息。 | |
road::Lane::LaneType | GetType () const |
获取车道类型。 | |
bool | IsJunction () const |
判断当前路径点是否在交叉路口。 | |
~Waypoint () | |
析构函数。 | |
Private 成员函数 | |
Waypoint (SharedPtr< const Map > parent, road::element::Waypoint waypoint) | |
私有构造函数,用于内部创建Waypoint对象。 | |
![]() | |
NonCopyable ()=default | |
NonCopyable (const NonCopyable &)=delete | |
NonCopyable (NonCopyable &&)=delete | |
NonCopyable & | operator= (const NonCopyable &)=delete |
NonCopyable & | operator= (NonCopyable &&)=delete |
Private 属性 | |
std::pair< const road::element::RoadInfoMarkRecord *, const road::element::RoadInfoMarkRecord * > | _mark_record |
分别指向右侧和左侧标记记录的指针对。 | |
SharedPtr< const Map > | _parent |
指向父Map对象的共享指针。 | |
geom::Transform | _transform |
路径点的几何变换信息。 | |
road::element::Waypoint | _waypoint |
存储OpenDrive中的路径点信息。 | |
友元 | |
class | Map |
Map类的友元类,允许Map类访问私有构造函数。 | |
路径点类,表示道路上的特定位置。
Waypoint类继承自EnableSharedFromThis,使得它可以安全地生成自身的共享指针。 同时,它继承自NonCopyable,防止被复制。
在文件 client/Waypoint.h 第 79 行定义.
|
default |
析构函数。
|
private |
私有构造函数,用于内部创建Waypoint对象。
parent | Map对象的共享指针(SharedPtr<const Map>类型)。 |
waypoint | OpenDrive中的路径点信息(road::element::Waypoint类型)。 |
在文件 client/Waypoint.cpp 第 18 行定义.
被这些函数引用 GetAllLandmarksInDistance(), GetLandmarksOfTypeInDistance(), GetLeft(), GetNext(), GetPrevious() , 以及 GetRight().
std::vector< SharedPtr< Landmark > > carla::client::Waypoint::GetAllLandmarksInDistance | ( | double | distance, |
bool | stop_at_junction = false ) const |
获取从当前位置到指定距离内的所有地标列表。
distance | 距离(double类型)。 |
stop_at_junction | 是否在交叉路口停止搜索(bool类型)。 |
在文件 client/Waypoint.cpp 第 242 行定义.
引用了 _parent, _waypoint , 以及 Waypoint().
被这些函数引用 carla::client::World::GetTrafficLightsFromWaypoint().
|
inline |
获取沿车道的距离(s值)。
在文件 client/Waypoint.h 第 127 行定义.
引用了 _waypoint , 以及 carla::road::element::Waypoint::s.
被这些函数引用 GetNextUntilLaneEnd() , 以及 GetPreviousUntilLaneStart().
|
inline |
获取此路径点的唯一标识符。
该标识符结合了OpenDrive的道路ID、车道ID和s距离,精度可达半厘米。
在文件 client/Waypoint.h 第 95 行定义.
引用了 _waypoint.
获取交叉路口对象。
在文件 client/Waypoint.cpp 第 37 行定义.
引用了 _parent , 以及 IsJunction().
road::JuncId carla::client::Waypoint::GetJunctionId | ( | ) | const |
获取交叉路口ID。
在文件 client/Waypoint.cpp 第 27 行定义.
引用了 _parent, _waypoint , 以及 carla::road::element::Waypoint::road_id.
std::vector< SharedPtr< Landmark > > carla::client::Waypoint::GetLandmarksOfTypeInDistance | ( | double | distance, |
std::string | filter_type, | ||
bool | stop_at_junction = false ) const |
获取从当前位置到指定距离内,按指定类型筛选的地标列表。
distance | 距离(double类型)。 |
filter_type | 地标类型过滤器(std::string类型)。 |
stop_at_junction | 是否在交叉路口停止搜索(bool类型)。 |
在文件 client/Waypoint.cpp 第 261 行定义.
引用了 _parent, _waypoint , 以及 Waypoint().
road::element::LaneMarking::LaneChange carla::client::Waypoint::GetLaneChange | ( | ) | const |
获取车道变更信息。
在文件 client/Waypoint.cpp 第 198 行定义.
引用了 _mark_record, _waypoint , 以及 carla::road::element::Waypoint::lane_id.
|
inline |
double carla::client::Waypoint::GetLaneWidth | ( | ) | const |
获取当前路径点左侧的路径点。
在文件 client/Waypoint.cpp 第 156 行定义.
引用了 _parent, _waypoint , 以及 Waypoint().
boost::optional< road::element::LaneMarking > carla::client::Waypoint::GetLeftLaneMarking | ( | ) | const |
获取当前路径点左侧的车道标记。
在文件 client/Waypoint.cpp 第 174 行定义.
引用了 _mark_record.
获取指定距离内的下一个路径点列表。
distance | 距离(double类型)。 |
在文件 client/Waypoint.cpp 第 55 行定义.
引用了 _parent, _waypoint , 以及 Waypoint().
被这些函数引用 GetNextUntilLaneEnd().
std::vector< SharedPtr< Waypoint > > carla::client::Waypoint::GetNextUntilLaneEnd | ( | double | distance | ) | const |
获取从当前位置开始,沿车道方向直到道路终点的路径点列表。
distance | 每个路径点之间的间隔距离(double类型)。 |
在文件 client/Waypoint.cpp 第 77 行定义.
引用了 _parent, _waypoint, GetDistance(), GetNext(), GetRoadId() , 以及 carla::road::element::Waypoint::lane_id.
获取指定距离内的上一个路径点列表。
distance | 距离(double类型)。 |
在文件 client/Waypoint.cpp 第 66 行定义.
引用了 _parent, _waypoint , 以及 Waypoint().
被这些函数引用 GetPreviousUntilLaneStart().
std::vector< SharedPtr< Waypoint > > carla::client::Waypoint::GetPreviousUntilLaneStart | ( | double | distance | ) | const |
获取从当前位置开始,沿车道反方向直到道路起点的路径点列表。
distance | 每个路径点之间的间隔距离(double类型)。 |
在文件 client/Waypoint.cpp 第 112 行定义.
引用了 _parent, _waypoint, GetDistance(), GetPrevious(), GetRoadId() , 以及 carla::road::element::Waypoint::lane_id.
获取当前路径点右侧的路径点。
在文件 client/Waypoint.cpp 第 146 行定义.
引用了 _parent, _waypoint , 以及 Waypoint().
boost::optional< road::element::LaneMarking > carla::client::Waypoint::GetRightLaneMarking | ( | ) | const |
获取当前路径点右侧的车道标记。
在文件 client/Waypoint.cpp 第 166 行定义.
引用了 _mark_record.
|
inline |
获取道路ID。
在文件 client/Waypoint.h 第 103 行定义.
引用了 _waypoint , 以及 carla::road::element::Waypoint::road_id.
被这些函数引用 GetNextUntilLaneEnd() , 以及 GetPreviousUntilLaneStart().
|
inline |
获取路段ID。
在文件 client/Waypoint.h 第 111 行定义.
引用了 _waypoint , 以及 carla::road::element::Waypoint::section_id.
|
inline |
road::Lane::LaneType carla::client::Waypoint::GetType | ( | ) | const |
bool carla::client::Waypoint::IsJunction | ( | ) | const |
判断当前路径点是否在交叉路口。
在文件 client/Waypoint.cpp 第 32 行定义.
引用了 _parent, _waypoint , 以及 carla::road::element::Waypoint::road_id.
被这些函数引用 GetJunction().
|
friend |
Map类的友元类,允许Map类访问私有构造函数。
在文件 client/Waypoint.h 第 250 行定义.
|
private |
分别指向右侧和左侧标记记录的指针对。
在文件 client/Waypoint.h 第 275 行定义.
被这些函数引用 GetLaneChange(), GetLeftLaneMarking() , 以及 GetRightLaneMarking().
指向父Map对象的共享指针。
在文件 client/Waypoint.h 第 261 行定义.
被这些函数引用 GetAllLandmarksInDistance(), GetJunction(), GetJunctionId(), GetLandmarksOfTypeInDistance(), GetLaneWidth(), GetLeft(), GetNext(), GetNextUntilLaneEnd(), GetPrevious(), GetPreviousUntilLaneStart(), GetRight(), GetType() , 以及 IsJunction().
|
private |
|
private |
存储OpenDrive中的路径点信息。
在文件 client/Waypoint.h 第 265 行定义.
被这些函数引用 GetAllLandmarksInDistance(), GetDistance(), GetId(), GetJunctionId(), GetLandmarksOfTypeInDistance(), GetLaneChange(), GetLaneId(), GetLaneWidth(), GetLeft(), GetNext(), GetNextUntilLaneEnd(), GetPrevious(), GetPreviousUntilLaneStart(), GetRight(), GetRoadId(), GetSectionId(), GetType() , 以及 IsJunction().