CARLA
 
载入中...
搜索中...
未找到
Public 成员函数 | Private 成员函数 | Private 属性 | 友元 | 所有成员列表
carla::client::Waypoint类 参考

路径点类,表示道路上的特定位置。 更多...

#include <Waypoint.h>

+ 类 carla::client::Waypoint 继承关系图:
+ carla::client::Waypoint 的协作图:

Public 成员函数

std::vector< SharedPtr< Landmark > > GetAllLandmarksInDistance (double distance, bool stop_at_junction=false) const
 获取从当前位置到指定距离内的所有地标列表。
 
auto GetDistance () const
 获取沿车道的距离(s值)。
 
uint64_t GetId () const
 获取此路径点的唯一标识符。
 
SharedPtr< JunctionGetJunction () 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< WaypointGetLeft () const
 获取当前路径点左侧的路径点。
 
boost::optional< road::element::LaneMarkingGetLeftLaneMarking () 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< WaypointGetRight () const
 获取当前路径点右侧的路径点。
 
boost::optional< road::element::LaneMarkingGetRightLaneMarking () const
 获取当前路径点右侧的车道标记。
 
auto GetRoadId () const
 获取道路ID。
 
auto GetSectionId () const
 获取路段ID。
 
const geom::TransformGetTransform () const
 获取路径点的几何变换信息。
 
road::Lane::LaneType GetType () const
 获取车道类型。
 
bool IsJunction () const
 判断当前路径点是否在交叉路口。
 
 ~Waypoint ()
 析构函数。
 

Private 成员函数

 Waypoint (SharedPtr< const Map > parent, road::element::Waypoint waypoint)
 私有构造函数,用于内部创建Waypoint对象。
 
- Private 成员函数 继承自 carla::NonCopyable
 NonCopyable ()=default
 
 NonCopyable (const NonCopyable &)=delete
 
 NonCopyable (NonCopyable &&)=delete
 
NonCopyableoperator= (const NonCopyable &)=delete
 
NonCopyableoperator= (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.h79 行定义.

构造及析构函数说明

◆ ~Waypoint()

carla::client::Waypoint::~Waypoint ( )
default

析构函数。

◆ Waypoint()

carla::client::Waypoint::Waypoint ( SharedPtr< const Map > parent,
road::element::Waypoint waypoint )
private

私有构造函数,用于内部创建Waypoint对象。

参数
parentMap对象的共享指针(SharedPtr<const Map>类型)。
waypointOpenDrive中的路径点信息(road::element::Waypoint类型)。

在文件 client/Waypoint.cpp18 行定义.

被这些函数引用 GetAllLandmarksInDistance(), GetLandmarksOfTypeInDistance(), GetLeft(), GetNext(), GetPrevious() , 以及 GetRight().

+ 这是这个函数的调用关系图:

成员函数说明

◆ GetAllLandmarksInDistance()

std::vector< SharedPtr< Landmark > > carla::client::Waypoint::GetAllLandmarksInDistance ( double distance,
bool stop_at_junction = false ) const

获取从当前位置到指定距离内的所有地标列表。

参数
distance距离(double类型)。
stop_at_junction是否在交叉路口停止搜索(bool类型)。
返回
地标列表(SharedPtr<Landmark>类型的vector)。

在文件 client/Waypoint.cpp242 行定义.

引用了 _parent, _waypoint , 以及 Waypoint().

被这些函数引用 carla::client::World::GetTrafficLightsFromWaypoint().

+ 函数调用图:
+ 这是这个函数的调用关系图:

◆ GetDistance()

auto carla::client::Waypoint::GetDistance ( ) const
inline

获取沿车道的距离(s值)。

返回
距离(double类型)。

在文件 client/Waypoint.h127 行定义.

引用了 _waypoint , 以及 carla::road::element::Waypoint::s.

被这些函数引用 GetNextUntilLaneEnd() , 以及 GetPreviousUntilLaneStart().

+ 这是这个函数的调用关系图:

◆ GetId()

uint64_t carla::client::Waypoint::GetId ( ) const
inline

获取此路径点的唯一标识符。

该标识符结合了OpenDrive的道路ID、车道ID和s距离,精度可达半厘米。

返回
唯一标识符(uint64_t类型)。

在文件 client/Waypoint.h95 行定义.

引用了 _waypoint.

◆ GetJunction()

SharedPtr< Junction > carla::client::Waypoint::GetJunction ( ) const

获取交叉路口对象。

返回
交叉路口对象的共享指针(SharedPtr<Junction>类型)。

在文件 client/Waypoint.cpp37 行定义.

引用了 _parent , 以及 IsJunction().

+ 函数调用图:

◆ GetJunctionId()

road::JuncId carla::client::Waypoint::GetJunctionId ( ) const

获取交叉路口ID。

返回
交叉路口ID(road::JuncId类型)。

在文件 client/Waypoint.cpp27 行定义.

引用了 _parent, _waypoint , 以及 carla::road::element::Waypoint::road_id.

◆ GetLandmarksOfTypeInDistance()

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类型)。
返回
地标列表(SharedPtr<Landmark>类型的vector)。

在文件 client/Waypoint.cpp261 行定义.

引用了 _parent, _waypoint , 以及 Waypoint().

+ 函数调用图:

◆ GetLaneChange()

road::element::LaneMarking::LaneChange carla::client::Waypoint::GetLaneChange ( ) const

获取车道变更信息。

返回
车道变更信息(road::element::LaneMarking::LaneChange类型)。

在文件 client/Waypoint.cpp198 行定义.

引用了 _mark_record, _waypoint , 以及 carla::road::element::Waypoint::lane_id.

◆ GetLaneId()

auto carla::client::Waypoint::GetLaneId ( ) const
inline

获取车道ID。

返回
车道ID。

在文件 client/Waypoint.h119 行定义.

引用了 _waypoint , 以及 carla::road::element::Waypoint::lane_id.

◆ GetLaneWidth()

double carla::client::Waypoint::GetLaneWidth ( ) const

获取车道宽度。

返回
车道宽度(double类型)。

在文件 client/Waypoint.cpp45 行定义.

引用了 _parent , 以及 _waypoint.

◆ GetLeft()

SharedPtr< Waypoint > carla::client::Waypoint::GetLeft ( ) const

获取当前路径点左侧的路径点。

返回
左侧路径点的共享指针(SharedPtr<Waypoint>类型)。

在文件 client/Waypoint.cpp156 行定义.

引用了 _parent, _waypoint , 以及 Waypoint().

+ 函数调用图:

◆ GetLeftLaneMarking()

boost::optional< road::element::LaneMarking > carla::client::Waypoint::GetLeftLaneMarking ( ) const

获取当前路径点左侧的车道标记。

返回
左侧车道标记(boost::optional<road::element::LaneMarking>类型)。

在文件 client/Waypoint.cpp174 行定义.

引用了 _mark_record.

◆ GetNext()

std::vector< SharedPtr< Waypoint > > carla::client::Waypoint::GetNext ( double distance) const

获取指定距离内的下一个路径点列表。

参数
distance距离(double类型)。
返回
下一个路径点列表(SharedPtr<Waypoint>类型的vector)。

在文件 client/Waypoint.cpp55 行定义.

引用了 _parent, _waypoint , 以及 Waypoint().

被这些函数引用 GetNextUntilLaneEnd().

+ 函数调用图:
+ 这是这个函数的调用关系图:

◆ GetNextUntilLaneEnd()

std::vector< SharedPtr< Waypoint > > carla::client::Waypoint::GetNextUntilLaneEnd ( double distance) const

获取从当前位置开始,沿车道方向直到道路终点的路径点列表。

参数
distance每个路径点之间的间隔距离(double类型)。
返回
路径点列表(SharedPtr<Waypoint>类型的vector)。

在文件 client/Waypoint.cpp77 行定义.

引用了 _parent, _waypoint, GetDistance(), GetNext(), GetRoadId() , 以及 carla::road::element::Waypoint::lane_id.

+ 函数调用图:

◆ GetPrevious()

std::vector< SharedPtr< Waypoint > > carla::client::Waypoint::GetPrevious ( double distance) const

获取指定距离内的上一个路径点列表。

参数
distance距离(double类型)。
返回
上一个路径点列表(SharedPtr<Waypoint>类型的vector)。

在文件 client/Waypoint.cpp66 行定义.

引用了 _parent, _waypoint , 以及 Waypoint().

被这些函数引用 GetPreviousUntilLaneStart().

+ 函数调用图:
+ 这是这个函数的调用关系图:

◆ GetPreviousUntilLaneStart()

std::vector< SharedPtr< Waypoint > > carla::client::Waypoint::GetPreviousUntilLaneStart ( double distance) const

获取从当前位置开始,沿车道反方向直到道路起点的路径点列表。

参数
distance每个路径点之间的间隔距离(double类型)。
返回
路径点列表(SharedPtr<Waypoint>类型的vector)。

在文件 client/Waypoint.cpp112 行定义.

引用了 _parent, _waypoint, GetDistance(), GetPrevious(), GetRoadId() , 以及 carla::road::element::Waypoint::lane_id.

+ 函数调用图:

◆ GetRight()

SharedPtr< Waypoint > carla::client::Waypoint::GetRight ( ) const

获取当前路径点右侧的路径点。

返回
右侧路径点的共享指针(SharedPtr<Waypoint>类型)。

在文件 client/Waypoint.cpp146 行定义.

引用了 _parent, _waypoint , 以及 Waypoint().

+ 函数调用图:

◆ GetRightLaneMarking()

boost::optional< road::element::LaneMarking > carla::client::Waypoint::GetRightLaneMarking ( ) const

获取当前路径点右侧的车道标记。

返回
右侧车道标记(boost::optional<road::element::LaneMarking>类型)。

在文件 client/Waypoint.cpp166 行定义.

引用了 _mark_record.

◆ GetRoadId()

auto carla::client::Waypoint::GetRoadId ( ) const
inline

获取道路ID。

返回
道路ID。

在文件 client/Waypoint.h103 行定义.

引用了 _waypoint , 以及 carla::road::element::Waypoint::road_id.

被这些函数引用 GetNextUntilLaneEnd() , 以及 GetPreviousUntilLaneStart().

+ 这是这个函数的调用关系图:

◆ GetSectionId()

auto carla::client::Waypoint::GetSectionId ( ) const
inline

获取路段ID。

返回
路段ID。

在文件 client/Waypoint.h111 行定义.

引用了 _waypoint , 以及 carla::road::element::Waypoint::section_id.

◆ GetTransform()

const geom::Transform & carla::client::Waypoint::GetTransform ( ) const
inline

获取路径点的几何变换信息。

返回
几何变换信息(geom::Transform类型)。

在文件 client/Waypoint.h135 行定义.

引用了 _transform.

◆ GetType()

road::Lane::LaneType carla::client::Waypoint::GetType ( ) const

获取车道类型。

返回
车道类型(road::Lane::LaneType类型)。

在文件 client/Waypoint.cpp50 行定义.

引用了 _parent , 以及 _waypoint.

◆ IsJunction()

bool carla::client::Waypoint::IsJunction ( ) const

判断当前路径点是否在交叉路口。

返回
如果是交叉路口,则返回true;否则返回false。

在文件 client/Waypoint.cpp32 行定义.

引用了 _parent, _waypoint , 以及 carla::road::element::Waypoint::road_id.

被这些函数引用 GetJunction().

+ 这是这个函数的调用关系图:

友元及相关函数文档

◆ Map

friend class Map
friend

Map类的友元类,允许Map类访问私有构造函数。

在文件 client/Waypoint.h250 行定义.

类成员变量说明

◆ _mark_record

std::pair< const road::element::RoadInfoMarkRecord *, const road::element::RoadInfoMarkRecord *> carla::client::Waypoint::_mark_record
private

分别指向右侧和左侧标记记录的指针对。

在文件 client/Waypoint.h275 行定义.

被这些函数引用 GetLaneChange(), GetLeftLaneMarking() , 以及 GetRightLaneMarking().

◆ _parent

SharedPtr<const Map> carla::client::Waypoint::_parent
private

◆ _transform

geom::Transform carla::client::Waypoint::_transform
private

路径点的几何变换信息。

在文件 client/Waypoint.h269 行定义.

被这些函数引用 GetTransform().

◆ _waypoint

road::element::Waypoint carla::client::Waypoint::_waypoint
private

该类的文档由以下文件生成: