Public Member Functions | Private Types | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
lanelet::routing::internal::RoutingGraphBuilder Class Reference

#include <RoutingGraphBuilder.h>

Public Member Functions

RoutingGraphUPtr build (const LaneletMapLayers &laneletMapLayers)
 
 RoutingGraphBuilder (const traffic_rules::TrafficRules &trafficRules, const RoutingCostPtrs &routingCosts, const RoutingGraph::Configuration &config)
 

Private Types

using PointsLaneletMap = std::multimap< IdPair, ConstLanelet >
 
using PointsLaneletMapIt = PointsLaneletMap::iterator
 
using PointsLaneletMapResult = std::pair< PointsLaneletMapIt, PointsLaneletMapIt >
 

Private Member Functions

void addAreaEdge (const ConstArea &area, const AreaLayer &passableAreas)
 
void addAreaEdge (const ConstArea &area, const LaneletLayer &passableLanelets)
 
void addAreasToGraph (ConstAreas &areas)
 
void addConflictingEdge (const ConstLanelet &ll, const LaneletLayer &passableLanelets)
 
void addEdges (const ConstAreas &areas, const LaneletLayer &passableLanelets, const AreaLayer &passableAreas)
 
void addEdges (const ConstLanelets &lanelets, const LaneletLayer &passableLanelets)
 
void addFollowingEdges (const ConstLanelet &ll)
 
void addLaneChangeEdges (LaneChangeLaneletsCollector &laneChanges, const RelationType &relation)
 
void addLaneletsToGraph (ConstLanelets &llts)
 
void addPointsToSearchIndex (const ConstLanelet &ll)
 Adds the first and last points of a lanelet to the search index. More...
 
void addSidewayEdge (LaneChangeLaneletsCollector &laneChangeLanelets, const ConstLanelet &ll, const ConstLineString3d &bound, const RelationType &relation)
 
void appendBidirectionalLanelets (ConstLanelets &llts)
 
void assignCosts (const ConstLaneletOrArea &from, const ConstLaneletOrArea &to, const RelationType &relation)
 Assigns routing costs of each routing cost module to a relation between two lanelets. More...
 
void assignLaneChangeCosts (ConstLanelets froms, ConstLanelets tos, const RelationType &relation)
 
bool hasEdge (const ConstLanelet &from, const ConstLanelet &to)
 
Optional< double > participantHeight () const
 Helper function to read the participant height from the configuration. More...
 

Static Private Member Functions

static ConstAreas getPassableAreas (const AreaLayer &areas, const traffic_rules::TrafficRules &trafficRules)
 
static ConstLanelets getPassableLanelets (const LaneletLayer &lanelets, const traffic_rules::TrafficRules &trafficRules)
 

Private Attributes

std::set< IdbothWaysLaneletIds_
 
const RoutingGraph::Configurationconfig_
 
std::unique_ptr< RoutingGraphGraphgraph_
 
PointsLaneletMap pointsToLanelets_
 A map of tuples (first or last left and right boundary points) to lanelets. More...
 
const RoutingCostPtrsroutingCosts_
 
const traffic_rules::TrafficRulestrafficRules_
 

Detailed Description

Definition at line 15 of file RoutingGraphBuilder.h.

Member Typedef Documentation

◆ PointsLaneletMap

Definition at line 23 of file RoutingGraphBuilder.h.

◆ PointsLaneletMapIt

using lanelet::routing::internal::RoutingGraphBuilder::PointsLaneletMapIt = PointsLaneletMap::iterator
private

Definition at line 24 of file RoutingGraphBuilder.h.

◆ PointsLaneletMapResult

Definition at line 25 of file RoutingGraphBuilder.h.

Constructor & Destructor Documentation

◆ RoutingGraphBuilder()

lanelet::routing::internal::RoutingGraphBuilder::RoutingGraphBuilder ( const traffic_rules::TrafficRules trafficRules,
const RoutingCostPtrs routingCosts,
const RoutingGraph::Configuration config 
)

Definition at line 87 of file RoutingGraphBuilder.cpp.

Member Function Documentation

◆ addAreaEdge() [1/2]

void lanelet::routing::internal::RoutingGraphBuilder::addAreaEdge ( const ConstArea area,
const AreaLayer passableAreas 
)
private

Definition at line 299 of file RoutingGraphBuilder.cpp.

◆ addAreaEdge() [2/2]

void lanelet::routing::internal::RoutingGraphBuilder::addAreaEdge ( const ConstArea area,
const LaneletLayer passableLanelets 
)
private

Definition at line 268 of file RoutingGraphBuilder.cpp.

◆ addAreasToGraph()

void lanelet::routing::internal::RoutingGraphBuilder::addAreasToGraph ( ConstAreas areas)
private

Definition at line 142 of file RoutingGraphBuilder.cpp.

◆ addConflictingEdge()

void lanelet::routing::internal::RoutingGraphBuilder::addConflictingEdge ( const ConstLanelet ll,
const LaneletLayer passableLanelets 
)
private

Definition at line 216 of file RoutingGraphBuilder.cpp.

◆ addEdges() [1/2]

void lanelet::routing::internal::RoutingGraphBuilder::addEdges ( const ConstAreas areas,
const LaneletLayer passableLanelets,
const AreaLayer passableAreas 
)
private

Definition at line 164 of file RoutingGraphBuilder.cpp.

◆ addEdges() [2/2]

void lanelet::routing::internal::RoutingGraphBuilder::addEdges ( const ConstLanelets lanelets,
const LaneletLayer passableLanelets 
)
private

Definition at line 148 of file RoutingGraphBuilder.cpp.

◆ addFollowingEdges()

void lanelet::routing::internal::RoutingGraphBuilder::addFollowingEdges ( const ConstLanelet ll)
private

Definition at line 172 of file RoutingGraphBuilder.cpp.

◆ addLaneChangeEdges()

void lanelet::routing::internal::RoutingGraphBuilder::addLaneChangeEdges ( LaneChangeLaneletsCollector laneChanges,
const RelationType relation 
)
private

Definition at line 243 of file RoutingGraphBuilder.cpp.

◆ addLaneletsToGraph()

void lanelet::routing::internal::RoutingGraphBuilder::addLaneletsToGraph ( ConstLanelets llts)
private

Definition at line 135 of file RoutingGraphBuilder.cpp.

◆ addPointsToSearchIndex()

void lanelet::routing::internal::RoutingGraphBuilder::addPointsToSearchIndex ( const ConstLanelet ll)
private

Adds the first and last points of a lanelet to the search index.

Definition at line 325 of file RoutingGraphBuilder.cpp.

◆ addSidewayEdge()

void lanelet::routing::internal::RoutingGraphBuilder::addSidewayEdge ( LaneChangeLaneletsCollector laneChangeLanelets,
const ConstLanelet ll,
const ConstLineString3d bound,
const RelationType relation 
)
private

Definition at line 198 of file RoutingGraphBuilder.cpp.

◆ appendBidirectionalLanelets()

void lanelet::routing::internal::RoutingGraphBuilder::appendBidirectionalLanelets ( ConstLanelets llts)
private

Definition at line 124 of file RoutingGraphBuilder.cpp.

◆ assignCosts()

void lanelet::routing::internal::RoutingGraphBuilder::assignCosts ( const ConstLaneletOrArea from,
const ConstLaneletOrArea to,
const RelationType relation 
)
private

Assigns routing costs of each routing cost module to a relation between two lanelets.

Parameters
fromStart lanelet
toGoal lanelet
relationRelation between the two lanelets

Definition at line 358 of file RoutingGraphBuilder.cpp.

◆ assignLaneChangeCosts()

void lanelet::routing::internal::RoutingGraphBuilder::assignLaneChangeCosts ( ConstLanelets  froms,
ConstLanelets  tos,
const RelationType relation 
)
private

Definition at line 341 of file RoutingGraphBuilder.cpp.

◆ build()

RoutingGraphUPtr lanelet::routing::internal::RoutingGraphBuilder::build ( const LaneletMapLayers laneletMapLayers)

Definition at line 94 of file RoutingGraphBuilder.cpp.

◆ getPassableAreas()

ConstAreas lanelet::routing::internal::RoutingGraphBuilder::getPassableAreas ( const AreaLayer areas,
const traffic_rules::TrafficRules trafficRules 
)
staticprivate

Definition at line 115 of file RoutingGraphBuilder.cpp.

◆ getPassableLanelets()

ConstLanelets lanelet::routing::internal::RoutingGraphBuilder::getPassableLanelets ( const LaneletLayer lanelets,
const traffic_rules::TrafficRules trafficRules 
)
staticprivate

Definition at line 106 of file RoutingGraphBuilder.cpp.

◆ hasEdge()

bool lanelet::routing::internal::RoutingGraphBuilder::hasEdge ( const ConstLanelet from,
const ConstLanelet to 
)
private

Definition at line 337 of file RoutingGraphBuilder.cpp.

◆ participantHeight()

Optional< double > lanelet::routing::internal::RoutingGraphBuilder::participantHeight ( ) const
private

Helper function to read the participant height from the configuration.

Definition at line 317 of file RoutingGraphBuilder.cpp.

Member Data Documentation

◆ bothWaysLaneletIds_

std::set<Id> lanelet::routing::internal::RoutingGraphBuilder::bothWaysLaneletIds_
private

Definition at line 58 of file RoutingGraphBuilder.h.

◆ config_

const RoutingGraph::Configuration& lanelet::routing::internal::RoutingGraphBuilder::config_
private

Definition at line 61 of file RoutingGraphBuilder.h.

◆ graph_

std::unique_ptr<RoutingGraphGraph> lanelet::routing::internal::RoutingGraphBuilder::graph_
private

Definition at line 56 of file RoutingGraphBuilder.h.

◆ pointsToLanelets_

PointsLaneletMap lanelet::routing::internal::RoutingGraphBuilder::pointsToLanelets_
private

A map of tuples (first or last left and right boundary points) to lanelets.

Definition at line 57 of file RoutingGraphBuilder.h.

◆ routingCosts_

const RoutingCostPtrs& lanelet::routing::internal::RoutingGraphBuilder::routingCosts_
private

Definition at line 60 of file RoutingGraphBuilder.h.

◆ trafficRules_

const traffic_rules::TrafficRules& lanelet::routing::internal::RoutingGraphBuilder::trafficRules_
private

Definition at line 59 of file RoutingGraphBuilder.h.


The documentation for this class was generated from the following files:


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