CARLA
 
载入中...
搜索中...
未找到
Public 成员函数 | 静态 Private 成员函数 | Private 属性 | 所有成员列表
carla::road::Road类 参考

#include <Road.h>

+ 类 carla::road::Road 继承关系图:
+ carla::road::Road 的协作图:

Public 成员函数

element::DirectedPoint GetDirectedPointIn (const double s) const
 Returns a directed point on the center of the road (lane 0), with the corresponding laneOffset and elevation records applied, on distance "s".
 
element::DirectedPoint GetDirectedPointInNoLaneOffset (const double s) const
 Returns a directed point on the center of the road (lane 0), with the corresponding laneOffset and elevation records applied, on distance "s".
 
const geom::CubicPolynomialGetElevationOn (const double s) const
 
LaneSectionGetEndSection (LaneId id)
 Get the end section (from road coordinates s) given a lane id
 
RoadId GetId () const
 
template<typename T >
const T * GetInfo (const double s) const
 
template<typename T >
std::vector< const T * > GetInfos () const
 
template<typename T >
std::vector< const T * > GetInfosInRange (const double min_s, const double max_s) const
 
JuncId GetJunctionId () const
 
LaneGetLaneByDistance (double s, LaneId lane_id)
 
const LaneGetLaneByDistance (double s, LaneId lane_id) const
 
LaneGetLaneById (SectionId section_id, LaneId lane_id)
 
const LaneGetLaneById (SectionId section_id, LaneId lane_id) const
 
std::map< LaneId, const Lane * > GetLanesAt (const double s) const
 Get all lanes at a given s
 
std::vector< Lane * > GetLanesByDistance (double s)
 Get all lanes from all lane sections in a specific s
 
std::vector< const Lane * > GetLanesByDistance (double s) const
 
LaneSectionGetLaneSectionById (SectionId id)
 
const LaneSectionGetLaneSectionById (SectionId id) const
 
auto GetLaneSections () const
 
auto GetLaneSectionsAt (const double s)
 
auto GetLaneSectionsAt (const double s) const
 
double GetLength () const
 
const MapDataGetMap () const
 
std::string GetName () const
 
const std::pair< const Lane *, double > GetNearestLane (const double s, const geom::Location &loc, uint32_t type=static_cast< uint32_t >(Lane::LaneType::Any)) const
 Returns a pointer to the nearest lane, given s relative to Road and a location
 
const std::pair< double, double > GetNearestPoint (const geom::Location &loc) const
 Returns a pair containing:
 
LaneGetNextLane (const double s, const LaneId lane_id)
 
std::vector< Road * > GetNexts () const
 
RoadId GetPredecessor () const
 
LaneGetPrevLane (const double s, const LaneId lane_id)
 
std::vector< Road * > GetPrevs () const
 
LaneSectionGetStartSection (LaneId id)
 Get the start section (from road coordinates s) given a lane id
 
RoadId GetSuccessor () const
 
bool IsJunction () const
 
 Road ()=default
 
double UpperBound (double s) const
 Return the upper bound "s", i.e., the end distance of the lane section at s (clamped at road's length).
 

静态 Private 成员函数

template<typename MultiMapT >
static auto GetLessEqualRange (MultiMapT &map, double s)
 

Private 属性

RoadId _id { 0 }
 
InformationSet _info
 
bool _is_junction { false }
 
JuncId _junction_id { -1 }
 
LaneSectionMap _lane_sections
 
double _length { 0.0 }
 
MapData_map_data { nullptr }
 
std::string _name
 
std::vector< Road * > _nexts
 
RoadId _predecessor { 0 }
 
std::vector< Road * > _prevs
 
RoadId _successor { 0 }
 
friend MapBuilder
 

额外继承的成员函数

- Private 成员函数 继承自 carla::MovableNonCopyable
 MovableNonCopyable ()=default
 
 MovableNonCopyable (const MovableNonCopyable &)=delete
 
 MovableNonCopyable (MovableNonCopyable &&)=default
 
MovableNonCopyableoperator= (const MovableNonCopyable &)=delete
 
MovableNonCopyableoperator= (MovableNonCopyable &&)=default
 

详细描述

在文件 Road.h32 行定义.

构造及析构函数说明

◆ Road()

carla::road::Road::Road ( )
default

成员函数说明

◆ GetDirectedPointIn()

element::DirectedPoint carla::road::Road::GetDirectedPointIn ( const double s) const

Returns a directed point on the center of the road (lane 0), with the corresponding laneOffset and elevation records applied, on distance "s".

  • @ param s distance regarding the road to compute the point

在文件 Road.cpp180 行定义.

引用了 _info, _length, carla::road::element::DirectedPoint::ApplyLateralOffset(), carla::geom::Math::Clamp(), GetElevationOn(), carla::road::InformationSet::GetInfo(), carla::road::element::DirectedPoint::location, carla::road::element::DirectedPoint::pitch , 以及 carla::geom::Vector3D::z.

被这些函数引用 carla::road::Lane::ComputeTransform(), carla::geom::MeshFactory::GenerateLaneMarksForCenterLine(), carla::road::Lane::GetCornerPositions() , 以及 GetNearestLane().

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

◆ GetDirectedPointInNoLaneOffset()

element::DirectedPoint carla::road::Road::GetDirectedPointInNoLaneOffset ( const double s) const

Returns a directed point on the center of the road (lane 0), with the corresponding laneOffset and elevation records applied, on distance "s".

  • @ param s distance regarding the road to compute the point

在文件 Road.cpp202 行定义.

引用了 _info, _length, carla::geom::Math::Clamp(), GetElevationOn() , 以及 carla::road::InformationSet::GetInfo().

被这些函数引用 carla::road::MapBuilder::ComputeSignalTransform().

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

◆ GetElevationOn()

const geom::CubicPolynomial & carla::road::Road::GetElevationOn ( const double s) const

在文件 Road.cpp66 行定义.

引用了 carla::throw_exception().

被这些函数引用 GetDirectedPointIn() , 以及 GetDirectedPointInNoLaneOffset().

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

◆ GetEndSection()

LaneSection * carla::road::Road::GetEndSection ( LaneId id)

Get the end section (from road coordinates s) given a lane id

在文件 Road.cpp167 行定义.

引用了 _lane_sections.

被这些函数引用 carla::road::MapBuilder::GetEdgeLanePointer().

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

◆ GetId()

RoadId carla::road::Road::GetId ( ) const

在文件 Road.cpp30 行定义.

引用了 _id.

被这些函数引用 carla::road::MapBuilder::AddSignal(), carla::road::MapBuilder::AddSignalReference(), carla::road::ForEachDrivableLane(), carla::road::ForEachDrivableLaneAt() , 以及 carla::road::ForEachLane().

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

◆ GetInfo()

template<typename T >
const T * carla::road::Road::GetInfo ( const double s) const
inline

在文件 Road.h113 行定义.

引用了 _info , 以及 carla::road::InformationSet::GetInfo().

被这些函数引用 carla::road::Lane::ComputeTransform() , 以及 carla::road::Lane::IsStraight().

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

◆ GetInfos()

template<typename T >
std::vector< const T * > carla::road::Road::GetInfos ( ) const
inline

在文件 Road.h118 行定义.

引用了 _info , 以及 carla::road::InformationSet::GetInfos().

被这些函数引用 carla::road::Lane::IsStraight().

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

◆ GetInfosInRange()

template<typename T >
std::vector< const T * > carla::road::Road::GetInfosInRange ( const double min_s,
const double max_s ) const
inline

在文件 Road.h123 行定义.

引用了 _info , 以及 carla::road::InformationSet::GetInfos().

被这些函数引用 carla::road::Map::GetSignalsInDistance().

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

◆ GetJunctionId()

JuncId carla::road::Road::GetJunctionId ( ) const

在文件 Road.cpp46 行定义.

引用了 _junction_id.

被这些函数引用 carla::road::Map::ComputeJunctionConflicts() , 以及 carla::road::Map::GetJunctionId().

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

◆ GetLaneByDistance() [1/2]

Lane & carla::road::Road::GetLaneByDistance ( double s,
LaneId lane_id )

在文件 Road.cpp74 行定义.

引用了 GetLaneSectionsAt() , 以及 carla::throw_exception().

被这些函数引用 carla::road::MapBuilder::GetLane() , 以及 GetLaneByDistance().

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

◆ GetLaneByDistance() [2/2]

const Lane & carla::road::Road::GetLaneByDistance ( double s,
LaneId lane_id ) const

在文件 Road.cpp84 行定义.

引用了 GetLaneByDistance().

+ 函数调用图:

◆ GetLaneById() [1/2]

Lane & carla::road::Road::GetLaneById ( SectionId section_id,
LaneId lane_id )

在文件 Road.cpp110 行定义.

引用了 carla::road::LaneSection::GetLanes() , 以及 GetLaneSectionById().

被这些函数引用 carla::road::Map::GetLane(), GetLaneById() , 以及 carla::road::MapData::GetLaneInfo().

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

◆ GetLaneById() [2/2]

const Lane & carla::road::Road::GetLaneById ( SectionId section_id,
LaneId lane_id ) const

在文件 Road.cpp114 行定义.

引用了 GetLaneById().

+ 函数调用图:

◆ GetLanesAt()

std::map< LaneId, const Lane * > carla::road::Road::GetLanesAt ( const double s) const

Get all lanes at a given s

在文件 Road.cpp307 行定义.

引用了 GetLaneSectionsAt().

被这些函数引用 GetNearestLane().

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

◆ GetLanesByDistance() [1/2]

std::vector< Lane * > carla::road::Road::GetLanesByDistance ( double s)

Get all lanes from all lane sections in a specific s

在文件 Road.cpp88 行定义.

引用了 GetLaneSectionsAt().

被这些函数引用 carla::road::MapBuilder::GenerateDefaultValiditiesForSignalReferences().

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

◆ GetLanesByDistance() [2/2]

std::vector< const Lane * > carla::road::Road::GetLanesByDistance ( double s) const

在文件 Road.cpp99 行定义.

引用了 GetLaneSectionsAt().

+ 函数调用图:

◆ GetLaneSectionById() [1/2]

LaneSection & carla::road::Road::GetLaneSectionById ( SectionId id)
inline

在文件 Road.h163 行定义.

引用了 _lane_sections , 以及 carla::road::LaneSectionMap::GetById().

被这些函数引用 GetLaneById() , 以及 carla::road::IsLanePresent().

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

◆ GetLaneSectionById() [2/2]

const LaneSection & carla::road::Road::GetLaneSectionById ( SectionId id) const
inline

在文件 Road.h167 行定义.

引用了 _lane_sections , 以及 carla::road::LaneSectionMap::GetById().

+ 函数调用图:

◆ GetLaneSections()

auto carla::road::Road::GetLaneSections ( ) const
inline

在文件 Road.h127 行定义.

引用了 _lane_sections, carla::iterator::make_map_values_const_iterator() , 以及 carla::MakeListView().

被这些函数引用 carla::road::ForEachDrivableLane(), carla::road::ForEachLane(), carla::geom::MeshFactory::Generate(), carla::geom::MeshFactory::GenerateLaneMarkForRoad(), carla::geom::MeshFactory::GenerateOrderedWithMaxLen(), carla::geom::MeshFactory::GenerateWallsWithMaxLen() , 以及 carla::geom::MeshFactory::GenerateWithMaxLen().

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

◆ GetLaneSectionsAt() [1/2]

auto carla::road::Road::GetLaneSectionsAt ( const double s)
inline

在文件 Road.h149 行定义.

引用了 _lane_sections, GetLessEqualRange(), carla::iterator::make_map_values_iterator() , 以及 carla::MakeListView().

被这些函数引用 carla::road::ForEachDrivableLaneAt(), GetLaneByDistance(), GetLanesAt(), GetLanesByDistance(), GetLanesByDistance() , 以及 carla::road::Map::GetWaypoint().

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

◆ GetLaneSectionsAt() [2/2]

auto carla::road::Road::GetLaneSectionsAt ( const double s) const
inline

在文件 Road.h156 行定义.

引用了 _lane_sections, GetLessEqualRange(), carla::iterator::make_map_values_const_iterator() , 以及 carla::MakeListView().

+ 函数调用图:

◆ GetLength()

double carla::road::Road::GetLength ( ) const

在文件 Road.cpp38 行定义.

引用了 _length.

被这些函数引用 carla::road::MapBuilder::AddSignalReference() , 以及 carla::road::Map::GetWaypoint().

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

◆ GetLessEqualRange()

template<typename MultiMapT >
static auto carla::road::Road::GetLessEqualRange ( MultiMapT & map,
double s )
inlinestaticprivate

在文件 Road.h136 行定义.

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

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

◆ GetMap()

const MapData * carla::road::Road::GetMap ( ) const

在文件 Road.cpp26 行定义.

引用了 _map_data.

◆ GetName()

std::string carla::road::Road::GetName ( ) const

在文件 Road.cpp34 行定义.

引用了 _name.

◆ GetNearestLane()

const std::pair< const Lane *, double > carla::road::Road::GetNearestLane ( const double s,
const geom::Location & loc,
uint32_t type = static_cast<uint32_t>(Lane::LaneType::Any) ) const

Returns a pointer to the nearest lane, given s relative to Road and a location

参数
distdistance from the begining of the road to the point you want to calculate the distance
locpoint to calculate the distance

在文件 Road.cpp241 行定义.

引用了 carla::road::element::DirectedPoint::ApplyLateralOffset(), carla::geom::Math::Distance(), GetDirectedPointIn(), GetLanesAt(), carla::road::element::DirectedPoint::location , 以及 carla::MakeListView().

+ 函数调用图:

◆ GetNearestPoint()

const std::pair< double, double > carla::road::Road::GetNearestPoint ( const geom::Location & loc) const

Returns a pair containing:

  • first: distance to the nearest point on the center in this road segment from the begining of it (s).
  • second: Euclidean distance from the nearest point in this road segment to p.
    参数
    locpoint to calculate the distance

在文件 Road.cpp216 行定义.

引用了 _info, DEBUG_ASSERT , 以及 carla::road::InformationSet::GetInfos().

+ 函数调用图:

◆ GetNextLane()

Lane * carla::road::Road::GetNextLane ( const double s,
const LaneId lane_id )

在文件 Road.cpp119 行定义.

引用了 _lane_sections.

被这些函数引用 carla::road::MapBuilder::GetLaneNext().

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

◆ GetNexts()

std::vector< Road * > carla::road::Road::GetNexts ( ) const

在文件 Road.cpp58 行定义.

引用了 _nexts.

◆ GetPredecessor()

RoadId carla::road::Road::GetPredecessor ( ) const

在文件 Road.cpp54 行定义.

引用了 _predecessor.

被这些函数引用 carla::road::MapBuilder::GetLaneNext().

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

◆ GetPrevLane()

Lane * carla::road::Road::GetPrevLane ( const double s,
const LaneId lane_id )

在文件 Road.cpp136 行定义.

引用了 _lane_sections.

被这些函数引用 carla::road::MapBuilder::GetLaneNext().

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

◆ GetPrevs()

std::vector< Road * > carla::road::Road::GetPrevs ( ) const

在文件 Road.cpp62 行定义.

引用了 _prevs.

◆ GetStartSection()

LaneSection * carla::road::Road::GetStartSection ( LaneId id)

Get the start section (from road coordinates s) given a lane id

在文件 Road.cpp154 行定义.

引用了 _lane_sections.

被这些函数引用 carla::road::MapBuilder::GetEdgeLanePointer().

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

◆ GetSuccessor()

RoadId carla::road::Road::GetSuccessor ( ) const

在文件 Road.cpp50 行定义.

引用了 _successor.

被这些函数引用 carla::road::MapBuilder::GetLaneNext().

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

◆ IsJunction()

bool carla::road::Road::IsJunction ( ) const

在文件 Road.cpp42 行定义.

引用了 _is_junction.

被这些函数引用 carla::geom::MeshFactory::GenerateAllWithMaxLen(), carla::road::Lane::GetCornerPositions(), carla::road::Map::GetSignalsInDistance() , 以及 carla::road::Map::IsJunction().

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

◆ UpperBound()

double carla::road::Road::UpperBound ( double s) const
inline

Return the upper bound "s", i.e., the end distance of the lane section at s (clamped at road's length).

在文件 Road.h173 行定义.

引用了 _lane_sections , 以及 _length.

类成员变量说明

◆ _id

RoadId carla::road::Road::_id { 0 }
private

在文件 Road.h187 行定义.

被这些函数引用 GetId().

◆ _info

InformationSet carla::road::Road::_info
private

◆ _is_junction

bool carla::road::Road::_is_junction { false }
private

在文件 Road.h193 行定义.

被这些函数引用 IsJunction().

◆ _junction_id

JuncId carla::road::Road::_junction_id { -1 }
private

在文件 Road.h195 行定义.

被这些函数引用 GetJunctionId().

◆ _lane_sections

LaneSectionMap carla::road::Road::_lane_sections
private

◆ _length

double carla::road::Road::_length { 0.0 }
private

在文件 Road.h191 行定义.

被这些函数引用 GetDirectedPointIn(), GetDirectedPointInNoLaneOffset(), GetLength() , 以及 UpperBound().

◆ _map_data

MapData* carla::road::Road::_map_data { nullptr }
private

在文件 Road.h185 行定义.

被这些函数引用 carla::road::MapBuilder::AddRoad() , 以及 GetMap().

◆ _name

std::string carla::road::Road::_name
private

在文件 Road.h189 行定义.

被这些函数引用 GetName().

◆ _nexts

std::vector<Road *> carla::road::Road::_nexts
private

在文件 Road.h205 行定义.

被这些函数引用 GetNexts().

◆ _predecessor

RoadId carla::road::Road::_predecessor { 0 }
private

在文件 Road.h201 行定义.

被这些函数引用 GetPredecessor().

◆ _prevs

std::vector<Road *> carla::road::Road::_prevs
private

在文件 Road.h207 行定义.

被这些函数引用 GetPrevs().

◆ _successor

RoadId carla::road::Road::_successor { 0 }
private

在文件 Road.h199 行定义.

被这些函数引用 GetSuccessor().

◆ MapBuilder

friend carla::road::Road::MapBuilder
private

在文件 Road.h183 行定义.


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