#include <Lane.h>
Public 类型 | |
enum class | LaneType : int32_t { None = 0x1 , Driving = 0x1 << 1 , Stop = 0x1 << 2 , Shoulder = 0x1 << 3 , Biking = 0x1 << 4 , Sidewalk = 0x1 << 5 , Border = 0x1 << 6 , Restricted = 0x1 << 7 , Parking = 0x1 << 8 , Bidirectional = 0x1 << 9 , Median = 0x1 << 10 , Special1 = 0x1 << 11 , Special2 = 0x1 << 12 , Special3 = 0x1 << 13 , RoadWorks = 0x1 << 14 , Tram = 0x1 << 15 , Rail = 0x1 << 16 , Entry = 0x1 << 17 , Exit = 0x1 << 18 , OffRamp = 0x1 << 19 , OnRamp = 0x1 << 20 , Any = -2 } |
Can be used as flags 更多... | |
Public 成员函数 | |
geom::Transform | ComputeTransform (const double s) const |
std::pair< geom::Vector3D, geom::Vector3D > | GetCornerPositions (const double s, const float extra_width=0.f) const |
Computes the location of the edges given a s | |
double | GetDistance () const |
LaneId | GetId () const |
template<typename T > | |
const T * | GetInfo (const double s) const |
template<typename T > | |
std::vector< const T * > | GetInfos () const |
const LaneSection * | GetLaneSection () const |
double | GetLength () const |
bool | GetLevel () const |
const std::vector< Lane * > & | GetNextLanes () const |
LaneId | GetPredecessor () const |
const std::vector< Lane * > & | GetPreviousLanes () const |
Road * | GetRoad () const |
LaneId | GetSuccessor () const |
LaneType | GetType () const |
double | GetWidth (const double s) const |
Returns the total lane width given a s | |
bool | IsStraight () const |
Checks whether the geometry is straight or not | |
Lane ()=default | |
Lane (LaneSection *lane_section, LaneId id, std::vector< std::unique_ptr< element::RoadInfo > > &&info) | |
Private 属性 | |
LaneId | _id = 0 |
InformationSet | _info |
LaneSection * | _lane_section = nullptr |
bool | _level = false |
std::vector< Lane * > | _next_lanes |
LaneId | _predecessor = 0 |
std::vector< Lane * > | _prev_lanes |
LaneId | _successor = 0 |
LaneType | _type = LaneType::None |
friend | MapBuilder |
额外继承的成员函数 | |
Private 成员函数 继承自 carla::MovableNonCopyable | |
MovableNonCopyable ()=default | |
MovableNonCopyable (const MovableNonCopyable &)=delete | |
MovableNonCopyable (MovableNonCopyable &&)=default | |
MovableNonCopyable & | operator= (const MovableNonCopyable &)=delete |
MovableNonCopyable & | operator= (MovableNonCopyable &&)=default |
|
strong |
|
default |
|
inline |
引用了 DEBUG_ASSERT.
geom::Transform carla::road::Lane::ComputeTransform | ( | const double | s | ) | const |
引用了 carla::road::element::DirectedPoint::ApplyLateralOffset(), carla::road::ComputeTotalLaneWidth(), DEBUG_ASSERT, carla::road::Road::GetDirectedPointIn(), GetId(), carla::road::Road::GetInfo(), GetLaneSection(), GetLength(), GetRoad(), carla::road::element::DirectedPoint::location, carla::MakeListView(), carla::geom::Rotation::pitch, carla::road::element::DirectedPoint::pitch, RELEASE_ASSERT, carla::road::element::DirectedPoint::tangent, carla::geom::Math::ToDegrees(), carla::geom::Vector3D::y , 以及 carla::geom::Rotation::yaw.
被这些函数引用 carla::road::Map::ComputeTransform(), carla::road::Map::FilterRoadsByPosition() , 以及 carla::road::Map::GetTreesTransform().
std::pair< geom::Vector3D, geom::Vector3D > carla::road::Lane::GetCornerPositions | ( | const double | s, |
const float | extra_width = 0.f ) const |
Computes the location of the edges given a s
@TODO: use the OpenDRIVE 5.3.7.2.1.1.9 Lane Height Record
引用了 carla::road::element::DirectedPoint::ApplyLateralOffset(), carla::road::ComputeTotalLaneWidth(), DEBUG_ASSERT, Driving, carla::road::Road::GetDirectedPointIn(), GetId(), GetLaneSection(), GetRoad(), GetType(), GetWidth(), carla::road::Road::IsJunction(), carla::road::element::DirectedPoint::location, carla::MakeListView(), RELEASE_ASSERT, Sidewalk, carla::geom::Vector3D::y , 以及 carla::geom::Vector3D::z.
被这些函数引用 carla::geom::MeshFactory::ComputeEdgesForLanemark(), carla::geom::MeshFactory::Generate(), carla::geom::MeshFactory::GenerateLeftWall(), carla::geom::MeshFactory::GenerateRightWall(), carla::geom::MeshFactory::GenerateSidewalk(), carla::geom::MeshFactory::GenerateTesselated() , 以及 carla::road::Map::GetTreesTransform().
double carla::road::Lane::GetDistance | ( | ) | const |
引用了 _lane_section, DEBUG_ASSERT , 以及 carla::road::LaneSection::GetDistance().
被这些函数引用 carla::road::Map::FilterRoadsByPosition(), carla::geom::MeshFactory::Generate(), carla::geom::MeshFactory::Generate(), carla::geom::MeshFactory::GenerateLeftWall(), carla::geom::MeshFactory::GenerateRightWall(), carla::geom::MeshFactory::GenerateSidewalk(), carla::geom::MeshFactory::GenerateSidewalk(), carla::geom::MeshFactory::GenerateTesselated(), carla::geom::MeshFactory::GenerateTesselated(), get_total_road_marks(), carla::road::GetDistanceAtEndOfLane(), carla::road::GetDistanceAtStartOfLane(), GetLength(), carla::road::GetRemainingLength(), carla::road::Map::GetTreesTransform() , 以及 IsStraight().
LaneId carla::road::Lane::GetId | ( | ) | const |
引用了 _id.
被这些函数引用 ComputeTransform(), carla::geom::MeshFactory::Generate(), carla::geom::MeshFactory::GenerateLeftWall(), carla::geom::MeshFactory::GenerateRightWall(), carla::geom::MeshFactory::GenerateSidewalk(), carla::geom::MeshFactory::GenerateTesselated(), GetCornerPositions(), carla::road::GetDistanceAtEndOfLane(), carla::road::GetDistanceAtStartOfLane(), carla::road::GetRemainingLength() , 以及 carla::opendrive::parser::ParseLanes().
|
inline |
引用了 _info, _lane_section, DEBUG_ASSERT , 以及 carla::road::InformationSet::GetInfo().
被这些函数引用 carla::geom::MeshFactory::GenerateLaneMarksForCenterLine(), carla::geom::MeshFactory::GenerateLaneMarksForNotCenterLine(), get_total_road_marks(), carla::road::Map::GetTreesTransform() , 以及 carla::road::Map::GetWaypoint().
|
inline |
const LaneSection * carla::road::Lane::GetLaneSection | ( | ) | const |
double carla::road::Lane::GetLength | ( | ) | const |
引用了 DEBUG_ASSERT, GetDistance() , 以及 GetRoad().
被这些函数引用 ComputeTransform(), carla::geom::MeshFactory::Generate(), carla::geom::MeshFactory::Generate(), carla::geom::MeshFactory::GenerateLeftWall(), carla::geom::MeshFactory::GenerateRightWall(), carla::geom::MeshFactory::GenerateSidewalk(), carla::geom::MeshFactory::GenerateSidewalk(), carla::geom::MeshFactory::GenerateTesselated(), carla::geom::MeshFactory::GenerateTesselated(), carla::road::GetDistanceAtEndOfLane(), carla::road::GetDistanceAtStartOfLane(), carla::road::GetRemainingLength(), GetWidth() , 以及 IsStraight().
|
inline |
|
inline |
|
inline |
Road * carla::road::Lane::GetRoad | ( | ) | const |
引用了 _lane_section, DEBUG_ASSERT , 以及 carla::road::LaneSection::GetRoad().
被这些函数引用 ComputeTransform(), GetCornerPositions(), GetLength(), GetWidth(), IsStraight() , 以及 carla::opendrive::parser::ParseLanes().
|
inline |
Lane::LaneType carla::road::Lane::GetType | ( | ) | const |
引用了 _type.
被这些函数引用 carla::geom::MeshFactory::Generate(), carla::geom::MeshFactory::GenerateLeftWall(), carla::geom::MeshFactory::GenerateRightWall(), carla::geom::MeshFactory::GenerateSidewalk(), carla::geom::MeshFactory::GenerateTesselated(), GetCornerPositions() , 以及 carla::road::Map::GetLaneType().
double carla::road::Lane::GetWidth | ( | const double | s | ) | const |
Returns the total lane width given a s
引用了 GetLength(), GetRoad() , 以及 RELEASE_ASSERT.
被这些函数引用 GetCornerPositions() , 以及 carla::road::Map::GetTreesTransform().
bool carla::road::Lane::IsStraight | ( | ) | const |
Checks whether the geometry is straight or not
引用了 DEBUG_ASSERT, GetDistance(), carla::road::Road::GetInfo(), carla::road::Road::GetInfos(), GetLength(), GetRoad(), carla::road::element::LINE , 以及 RELEASE_ASSERT.
被这些函数引用 carla::road::Map::CreateRtree(), carla::geom::MeshFactory::Generate(), carla::geom::MeshFactory::GenerateLeftWall() , 以及 carla::geom::MeshFactory::GenerateRightWall().
|
private |
被这些函数引用 GetInfo() , 以及 GetInfos().
|
private |
被这些函数引用 GetDistance(), GetInfo(), GetInfos(), GetLaneSection() , 以及 GetRoad().
|
private |
被这些函数引用 GetLevel().
|
private |
被这些函数引用 GetNextLanes().
|
private |
被这些函数引用 GetPredecessor().
|
private |
被这些函数引用 GetPreviousLanes().
|
private |
被这些函数引用 GetSuccessor().
|
private |