Namespaces | Classes | Typedefs | Enumerations | Functions
lanelet::routing Namespace Reference

Namespaces

 internal
 
 tests
 

Classes

class  DebugMapBuilder
 
class  LaneletOrAreaPath
 Similar to LaneletPath, but can also contain areas. More...
 
struct  LaneletOrAreaVisitInformation
 This object carries the required information for the graph neighbourhood search. More...
 
class  LaneletPath
 A lanelet path represents a set of lanelets that can be reached in order by either driving straight or doing lane changes. More...
 
struct  LaneletRelation
 Represents the relation of a lanelet to another lanelet. More...
 
struct  LaneletVisitInformation
 This object carries the required information for the graph neighbourhood search. More...
 
struct  PossiblePathsParams
 Controls the behaviour of the different possible path algorithms in RoutingGraph. More...
 
class  Route
 The famous route object that marks a route from A to B. More...
 
class  RoutingCost
 Abstract class to define a framework for custom routing cost calculation modules. This interfaces can be implemented to allow routing cost calculation based on specific needs (e.g. road conditions). As of now, two modules are implemented which should satisfy basic needs: More...
 
class  RoutingCostDistance
 A basic distance-based routing cost module. Uses the 2D length and a fixed lane change cost to evaluate relations. More...
 
class  RoutingCostTravelTime
 A basic travel time-based routing cost module. Uses maximum allowed speed or the maximum speed of the participant (what every is lower) and a fixed lane chance cost. More...
 
class  RoutingGraph
 Main class of the routing module that holds routing information and can be queried. The RoutingGraph class is the central object of this module and is initialized with a LaneletMap, TrafficRules and RoutingCost. A routing graph with all interesting relations will be created for the traffic participant featured in the provided TrafficRules module. Routing costs will be calculated for each provided module. The routing graph can answer queries like "left", "following", "conflicting" lanelets, but also provide a shortest route or a Route. More...
 
class  RoutingGraphContainer
 Container to associate multiple routing graphs to allow queries on multiple graphs. More...
 

Typedefs

using LaneId = uint16_t
 
using LaneletOrAreaPaths = std::vector< LaneletOrAreaPath >
 
using LaneletOrAreaVisitFunction = std::function< bool(const LaneletOrAreaVisitInformation &)>
 
using LaneletPaths = std::vector< LaneletPath >
 
using LaneletRelations = std::vector< LaneletRelation >
 
using LaneletVisitFunction = std::function< bool(const LaneletVisitInformation &)>
 
using RelationUnderlyingType = std::underlying_type_t< RelationType >
 
using Routes = std::vector< Route >
 
using RouteUPtr = std::unique_ptr< Route >
 
using RoutingCostId = uint16_t
 
using RoutingCostPtr = std::shared_ptr< RoutingCost >
 
using RoutingCostPtrs = std::vector< RoutingCostPtr >
 
using RoutingCosts = std::vector< RoutingCost >
 
using RoutingCostUPtr = std::unique_ptr< RoutingCost >
 
using RoutingCostUPtrs = std::vector< RoutingCostUPtr >
 
using RoutingGraphConstPtr = std::shared_ptr< const RoutingGraph >
 
using RoutingGraphContainerUPtr = std::unique_ptr< RoutingGraphContainer >
 
using RoutingGraphPtr = std::shared_ptr< RoutingGraph >
 
using RoutingGraphUPtr = std::unique_ptr< RoutingGraph >
 

Enumerations

enum  RelationType : uint8_t {
  RelationType::None = 0, RelationType::Successor = 0b1, RelationType::Left = 0b10, RelationType::Right = 0b100,
  RelationType::AdjacentLeft = 0b1000, RelationType::AdjacentRight = 0b10000, RelationType::Conflicting = 0b100000, RelationType::Area = 0b1000000
}
 

Functions

RelationType allowedRelationsfromConfiguration (bool includeAdjacent, bool includeConflicting)
 Helper function to slim down getDebugLaneletMap. More...
 
constexpr RelationType allRelations ()
 
template<RelationType Expect>
void checkRelationIs (Route::Errors &errors, Id source, Id dest, RelationType sourceRel, RelationType targetRel)
 
LineString3d createLineString (const Point2d &from, const Point2d &to, RelationType relation, double routingCost)
 
RoutingCostPtrs defaultRoutingCosts ()
 Returns routing cost objects for initialization of routing graph with reasonable default values (for vehicles) More...
 
BasicPolygon3d getEnclosingPolygon3d (const LaneletOrAreaPath &path)
 
bool operator!= (const LaneletRelation &rhs, const LaneletRelation &lhs)
 
constexpr RelationType operator& (RelationType r1, RelationType r2)
 
constexpr RelationType operator&= (RelationType &r1, RelationType r2)
 
std::ostream & operator<< (std::ostream &os, const RelationType &r)
 
bool operator== (const LaneletRelation &lhs, const LaneletRelation &rhs)
 
std::istream & operator>> (std::istream &is, const RelationType &)
 
constexpr RelationType operator| (RelationType r1, RelationType r2)
 
constexpr RelationType operator|= (RelationType &r1, RelationType r2)
 
constexpr RelationType operator~ (RelationType r)
 
std::string relationToColor (RelationType type)
 
std::string relationToString (RelationType type)
 

Typedef Documentation

◆ LaneId

using lanelet::routing::LaneId = typedef uint16_t

Definition at line 23 of file Forward.h.

◆ LaneletOrAreaPaths

Definition at line 49 of file Forward.h.

◆ LaneletOrAreaVisitFunction

Definition at line 31 of file Types.h.

◆ LaneletPaths

using lanelet::routing::LaneletPaths = typedef std::vector<LaneletPath>

Definition at line 47 of file Forward.h.

◆ LaneletRelations

Definition at line 34 of file Forward.h.

◆ LaneletVisitFunction

using lanelet::routing::LaneletVisitFunction = typedef std::function<bool(const LaneletVisitInformation&)>

Definition at line 30 of file Types.h.

◆ RelationUnderlyingType

using lanelet::routing::RelationUnderlyingType = typedef std::underlying_type_t<RelationType>

Definition at line 67 of file Forward.h.

◆ Routes

using lanelet::routing::Routes = typedef std::vector<Route>

Definition at line 37 of file Forward.h.

◆ RouteUPtr

using lanelet::routing::RouteUPtr = typedef std::unique_ptr<Route>

Definition at line 36 of file Forward.h.

◆ RoutingCostId

using lanelet::routing::RoutingCostId = typedef uint16_t

Definition at line 44 of file Forward.h.

◆ RoutingCostPtr

using lanelet::routing::RoutingCostPtr = typedef std::shared_ptr<RoutingCost>

Definition at line 39 of file Forward.h.

◆ RoutingCostPtrs

using lanelet::routing::RoutingCostPtrs = typedef std::vector<RoutingCostPtr>

Definition at line 43 of file Forward.h.

◆ RoutingCosts

using lanelet::routing::RoutingCosts = typedef std::vector<RoutingCost>

Definition at line 41 of file Forward.h.

◆ RoutingCostUPtr

using lanelet::routing::RoutingCostUPtr = typedef std::unique_ptr<RoutingCost>

Definition at line 40 of file Forward.h.

◆ RoutingCostUPtrs

Definition at line 42 of file Forward.h.

◆ RoutingGraphConstPtr

using lanelet::routing::RoutingGraphConstPtr = typedef std::shared_ptr<const RoutingGraph>

Definition at line 27 of file Forward.h.

◆ RoutingGraphContainerUPtr

Definition at line 30 of file Forward.h.

◆ RoutingGraphPtr

using lanelet::routing::RoutingGraphPtr = typedef std::shared_ptr<RoutingGraph>

Definition at line 25 of file Forward.h.

◆ RoutingGraphUPtr

using lanelet::routing::RoutingGraphUPtr = typedef std::unique_ptr<RoutingGraph>

Definition at line 26 of file Forward.h.

Enumeration Type Documentation

◆ RelationType

enum lanelet::routing::RelationType : uint8_t
strong

This enum expresses the types of relations lanelet2 distiguishes internally. Between two lanelets a and b (in this order), exactly one of these relation exists.

Note
The relation between b and a is different than between a and b. There is also no obvious symmetry. When a is left of b, b can be either right or adjacent right to b.
Enumerator
None 

No relation.

Successor 

A (the only) direct, reachable successor. Not merging and not diverging.

Left 

(the only) directly adjacent, reachable left neighbour

Right 

(the only) directly adjacent, reachable right neighbour

AdjacentLeft 

directly adjacent, unreachable left neighbor

AdjacentRight 

directly adjacent, unreachable right neighbor

Conflicting 

Unreachable but with overlapping shape.

Area 

Adjacent to a reachable area.

Definition at line 56 of file Forward.h.

Function Documentation

◆ allowedRelationsfromConfiguration()

RelationType lanelet::routing::allowedRelationsfromConfiguration ( bool  includeAdjacent,
bool  includeConflicting 
)

Helper function to slim down getDebugLaneletMap.

Definition at line 761 of file RoutingGraph.cpp.

◆ allRelations()

constexpr RelationType lanelet::routing::allRelations ( )
constexpr

Definition at line 69 of file Forward.h.

◆ checkRelationIs()

template<RelationType Expect>
void lanelet::routing::checkRelationIs ( Route::Errors errors,
Id  source,
Id  dest,
RelationType  sourceRel,
RelationType  targetRel 
)

Definition at line 355 of file Route.cpp.

◆ createLineString()

LineString3d lanelet::routing::createLineString ( const Point2d from,
const Point2d to,
RelationType  relation,
double  routingCost 
)

Definition at line 774 of file RoutingGraph.cpp.

◆ defaultRoutingCosts()

RoutingCostPtrs lanelet::routing::defaultRoutingCosts ( )
inline

Returns routing cost objects for initialization of routing graph with reasonable default values (for vehicles)

Definition at line 122 of file RoutingCost.h.

◆ getEnclosingPolygon3d()

BasicPolygon3d lanelet::routing::getEnclosingPolygon3d ( const LaneletOrAreaPath path)

finds the Polygon containing all Lanelets and Areas in Path. All points on the polygon will be identical to points of primitives in path.

Parameters
pathPath to merge
Returns
Polygon containing all Lanelets and Areas in Path

Definition at line 338 of file LaneletPath.cpp.

◆ operator!=()

bool lanelet::routing::operator!= ( const LaneletRelation rhs,
const LaneletRelation lhs 
)
inline

Definition at line 41 of file Types.h.

◆ operator&()

constexpr RelationType lanelet::routing::operator& ( RelationType  r1,
RelationType  r2 
)
constexpr

Definition at line 73 of file Forward.h.

◆ operator&=()

constexpr RelationType lanelet::routing::operator&= ( RelationType r1,
RelationType  r2 
)
constexpr

Definition at line 76 of file Forward.h.

◆ operator<<()

std::ostream& lanelet::routing::operator<< ( std::ostream &  os,
const RelationType r 
)
inline

Definition at line 17 of file RoutingGraphVisualization.h.

◆ operator==()

bool lanelet::routing::operator== ( const LaneletRelation lhs,
const LaneletRelation rhs 
)
inline

Definition at line 38 of file Types.h.

◆ operator>>()

std::istream& lanelet::routing::operator>> ( std::istream &  is,
const RelationType  
)
inline

Definition at line 18 of file RoutingGraphVisualization.h.

◆ operator|()

constexpr RelationType lanelet::routing::operator| ( RelationType  r1,
RelationType  r2 
)
constexpr

Definition at line 77 of file Forward.h.

◆ operator|=()

constexpr RelationType lanelet::routing::operator|= ( RelationType r1,
RelationType  r2 
)
constexpr

Definition at line 80 of file Forward.h.

◆ operator~()

constexpr RelationType lanelet::routing::operator~ ( RelationType  r)
constexpr

Definition at line 72 of file Forward.h.

◆ relationToColor()

std::string lanelet::routing::relationToColor ( RelationType  type)
inline

Definition at line 105 of file Forward.h.

◆ relationToString()

std::string lanelet::routing::relationToString ( RelationType  type)
inline

Definition at line 83 of file Forward.h.



lanelet2_routing
Author(s): Matthias Mayr
autogenerated on Sun Oct 27 2024 02:27:49