CARLA
Classes | Enumerations | Functions | Variables
carla::road::element Namespace Reference

Classes

struct  CrosswalkPoint
 
struct  DirectedPoint
 
class  Geometry
 
class  GeometryArc
 
class  GeometryLine
 
class  GeometryParamPoly3
 
class  GeometryPoly3
 
class  GeometrySpiral
 
class  LaneCrossingCalculator
 
struct  LaneMarking
 
class  RoadInfo
 
class  RoadInfoCrosswalk
 
class  RoadInfoElevation
 
class  RoadInfoGeometry
 
class  RoadInfoIterator
 
class  RoadInfoLaneAccess
 This record defines access restrictions for certain types of road users. More...
 
class  RoadInfoLaneBorder
 Instead of describing lanes by their width entries and, thus, invariably depending on influences of inner lanes on outer lanes, it might be more convenient to just describe the outer border of each lane independent of any inner lanes’ parameters. More...
 
class  RoadInfoLaneHeight
 The surface of a lane may be offset from the plane defined by the reference line and the corresponding elevation and crossfall entries (e.g. More...
 
class  RoadInfoLaneMaterial
 
class  RoadInfoLaneOffset
 The lane offset record defines a lateral shift of the lane reference line(which is usually identical to the road reference line). More...
 
class  RoadInfoLaneRule
 This record defines rules that can be applied to lanes to describe additonal properties not covered by the other attributes. More...
 
class  RoadInfoLaneVisibility
 Each lane within a road cross section may be provided with several entries defining the visibility in four directions relative to the lane’s direction. More...
 
class  RoadInfoLaneWidth
 Lane Width RecordEach lane within a road’scross section can be provided with severalwidth entries. More...
 
class  RoadInfoMarkRecord
 Each lane within a road cross section can be provided with several road markentries. More...
 
class  RoadInfoMarkTypeLine
 
class  RoadInfoSignal
 
class  RoadInfoSpeed
 
class  RoadInfoVisitor
 
struct  Waypoint
 

Enumerations

enum  GeometryType : unsigned int {
  GeometryType::LINE, GeometryType::ARC, GeometryType::SPIRAL, GeometryType::POLY3,
  GeometryType::POLY3PARAM
}
 

Functions

static std::vector< LaneMarkingCrossingAtSameSection (const Map &map, const Waypoint *w0, const Waypoint *w1, const bool w0_is_offroad, const bool dest_is_at_right)
 Calculate the lane markings that need to be crossed from lane_id_origin to lane_id_destination. More...
 
static LaneMarking::Color GetColor (std::string str)
 
static LaneMarking::LaneChange GetLaneChange (RoadInfoMarkRecord::LaneChange lane_change)
 
static LaneMarking::Type GetType (std::string str)
 
static bool IsOffRoad (const Map &map, const geom::Location &location)
 
template<typename T , typename Container >
static auto MakeRoadInfoIterator (const Container &c)
 
template<typename T , typename IT >
static auto MakeRoadInfoIterator (IT begin, IT end)
 
bool operator!= (const Waypoint &lhs, const Waypoint &rhs)
 
bool operator== (const Waypoint &lhs, const Waypoint &rhs)
 
geom::Vector2D RotatebyAngle (double angle, double x, double y)
 

Variables

static constexpr uint32_t FLAGS
 

Enumeration Type Documentation

◆ GeometryType

enum carla::road::element::GeometryType : unsigned int
strong
Enumerator
LINE 
ARC 
SPIRAL 
POLY3 
POLY3PARAM 

Definition at line 18 of file Geometry.h.

Function Documentation

◆ CrossingAtSameSection()

static std::vector<LaneMarking> carla::road::element::CrossingAtSameSection ( const Map map,
const Waypoint w0,
const Waypoint w1,
const bool  w0_is_offroad,
const bool  dest_is_at_right 
)
static

Calculate the lane markings that need to be crossed from lane_id_origin to lane_id_destination.

Definition at line 30 of file LaneCrossingCalculator.cpp.

References carla::road::Map::GetMarkRecord().

Referenced by carla::road::element::LaneCrossingCalculator::Calculate().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetColor()

static LaneMarking::Color carla::road::element::GetColor ( std::string  str)
static

Definition at line 44 of file LaneMarking.cpp.

References carla::road::element::LaneMarking::Blue, carla::road::element::LaneMarking::Green, carla::road::element::LaneMarking::Other, carla::road::element::LaneMarking::Red, carla::road::element::LaneMarking::Standard, carla::StringUtil::ToLower(), carla::road::element::LaneMarking::White, and carla::road::element::LaneMarking::Yellow.

Referenced by TEST().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetLaneChange()

static LaneMarking::LaneChange carla::road::element::GetLaneChange ( RoadInfoMarkRecord::LaneChange  lane_change)
static

◆ GetType()

static LaneMarking::Type carla::road::element::GetType ( std::string  str)
static

◆ IsOffRoad()

static bool carla::road::element::IsOffRoad ( const Map map,
const geom::Location location 
)
static

Definition at line 56 of file LaneCrossingCalculator.cpp.

References carla::road::Map::GetWaypoint().

Referenced by carla::road::element::LaneCrossingCalculator::Calculate().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ MakeRoadInfoIterator() [1/2]

template<typename T , typename Container >
static auto carla::road::element::MakeRoadInfoIterator ( const Container &  c)
static

Definition at line 92 of file RoadInfoIterator.h.

◆ MakeRoadInfoIterator() [2/2]

template<typename T , typename IT >
static auto carla::road::element::MakeRoadInfoIterator ( IT  begin,
IT  end 
)
static

Definition at line 99 of file RoadInfoIterator.h.

◆ operator!=()

bool carla::road::element::operator!= ( const Waypoint lhs,
const Waypoint rhs 
)
inline

Definition at line 60 of file road/element/Waypoint.h.

References operator==().

+ Here is the call graph for this function:

◆ operator==()

bool carla::road::element::operator== ( const Waypoint lhs,
const Waypoint rhs 
)
inline

Definition at line 55 of file road/element/Waypoint.h.

Referenced by operator!=().

+ Here is the caller graph for this function:

◆ RotatebyAngle()

geom::Vector2D carla::road::element::RotatebyAngle ( double  angle,
double  x,
double  y 
)

Definition at line 61 of file Geometry.cpp.

Referenced by carla::road::element::GeometrySpiral::PosFromDist(), carla::road::element::GeometryPoly3::PosFromDist(), and carla::road::element::GeometryParamPoly3::PosFromDist().

+ Here is the caller graph for this function:

Variable Documentation

◆ FLAGS

constexpr uint32_t carla::road::element::FLAGS
static
Initial value:
=
static_cast<uint32_t>(Lane::LaneType::Driving) |
static_cast<uint32_t>(Lane::LaneType::Bidirectional) |
static_cast<uint32_t>(Lane::LaneType::Biking) |
static_cast<uint32_t>(Lane::LaneType::Parking)
Todo:
Temporary flags to search lanes where we can find road marks.

This needs to be expanded searching in shoulders too, but since shouders have a small width, they can cause problems while finding the nearest center of a lane given a location that are in a road, but very close to a shoulder.

Definition at line 22 of file LaneCrossingCalculator.cpp.