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

#include <MapBuilder.h>

+ carla::road::MapBuilder 的协作图:

Public 成员函数

void AddConnection (const JuncId junction_id, const ConId connection_id, const RoadId incoming_road, const RoadId connecting_road)
 
void AddDependencyToSignal (const SignId signal_id, const std::string dependency_id, const std::string dependency_type)
 
void AddJunction (const JuncId id, const std::string name)
 
void AddJunctionController (const JuncId junction_id, std::set< ContId > &&controllers)
 
void AddLaneLink (const JuncId junction_id, const ConId connection_id, const LaneId from, const LaneId to)
 
carla::road::RoadAddRoad (const RoadId road_id, const std::string name, const double length, const JuncId junction_id, const RoadId predecessor, const RoadId successor)
 
void AddRoadElevationProfile (Road *road, const double s, const double a, const double b, const double c, const double d)
 
void AddRoadGeometryArc (carla::road::Road *road, const double s, const double x, const double y, const double hdg, const double length, const double curvature)
 
void AddRoadGeometryLine (carla::road::Road *road, const double s, const double x, const double y, const double hdg, const double length)
 
void AddRoadGeometryParamPoly3 (carla::road::Road *road, const double s, const double x, const double y, const double hdg, const double length, const double aU, const double bU, const double cU, const double dU, const double aV, const double bV, const double cV, const double dV, const std::string p_range)
 
void AddRoadGeometryPoly3 (carla::road::Road *road, const double s, const double x, const double y, const double hdg, const double length, const double a, const double b, const double c, const double d)
 
void AddRoadGeometrySpiral (carla::road::Road *road, const double s, const double x, const double y, const double hdg, const double length, const double curvStart, const double curvEnd)
 
void AddRoadObjectCrosswalk (Road *road, const std::string name, const double s, const double t, const double zOffset, const double hdg, const double pitch, const double roll, const std::string orientation, const double width, const double length, const std::vector< road::element::CrosswalkPoint > points)
 
carla::road::LaneSectionAddRoadSection (carla::road::Road *road, const SectionId id, const double s)
 
void AddRoadSection (const RoadId road_id, const SectionId section_index, const double s, const double a, const double b, const double c, const double d)
 
carla::road::LaneAddRoadSectionLane (carla::road::LaneSection *section, const LaneId lane_id, const uint32_t lane_type, const bool lane_level, const LaneId predecessor, const LaneId successor)
 
element::RoadInfoSignalAddSignal (Road *road, const SignId signal_id, const double s, const double t, const std::string name, const std::string dynamic, const std::string orientation, const double zOffset, const std::string country, const std::string type, const std::string subtype, const double value, const std::string unit, const double height, const double width, const std::string text, const double hOffset, const double pitch, const double roll)
 
void AddSignalPositionInertial (const SignId signal_id, const double x, const double y, const double z, const double hdg, const double pitch, const double roll)
 
void AddSignalPositionRoad (const SignId signal_id, const RoadId road_id, const double s, const double t, const double zOffset, const double hOffset, const double pitch, const double roll)
 
element::RoadInfoSignalAddSignalReference (Road *road, const SignId signal_id, const double s_position, const double t_position, const std::string signal_reference_orientation)
 
void AddValidityToSignalReference (element::RoadInfoSignal *signal_reference, const LaneId from_lane, const LaneId to_lane)
 
boost::optional< MapBuild ()
 
void CreateController (const ContId controller_id, const std::string controller_name, const uint32_t controller_sequence, const std::set< road::SignId > &&signals)
 
void CreateLaneAccess (Lane *lane, const double s, const std::string restriction)
 
void CreateLaneBorder (Lane *lane, const double s, const double a, const double b, const double c, const double d)
 
void CreateLaneHeight (Lane *lane, const double s, const double inner, const double outer)
 
void CreateLaneMaterial (Lane *lane, const double s, const std::string surface, const double friction, const double roughness)
 
void CreateLaneRule (Lane *lane, const double s, const std::string value)
 
void CreateLaneSpeed (Lane *lane, const double s, const double max, const std::string unit)
 
void CreateLaneVisibility (Lane *lane, const double s, const double forward, const double back, const double left, const double right)
 
void CreateLaneWidth (Lane *lane, const double s, const double a, const double b, const double c, const double d)
 
void CreateRoadMark (Lane *lane, const int road_mark_id, const double s, const std::string type, const std::string weight, const std::string color, const std::string material, const double width, const std::string lane_change, const double height, const std::string type_name, const double type_width)
 
void CreateRoadMarkTypeLine (Lane *lane, const int road_mark_id, const double length, const double space, const double tOffset, const double s, const std::string rule, const double width)
 
void CreateRoadSpeed (Road *road, const double s, const std::string type, const double max, const std::string unit)
 
void CreateSectionOffset (Road *road, const double s, const double a, const double b, const double c, const double d)
 
LaneGetLane (const RoadId road_id, const LaneId lane_id, const double s)
 
RoadGetRoad (const RoadId road_id)
 
void SetGeoReference (const geom::GeoLocation &geo_reference)
 
void SetRoadLaneLink (const RoadId road_id, const SectionId section_index, const LaneId lane_id, const Lane::LaneType lane_type, const bool lane_level, const LaneId predecessor, const LaneId successor)
 

Private 成员函数

void CheckSignalsOnRoads (Map &map)
 Checks signals overlapping driving lanes and emits a warning
 
void ComputeJunctionRoadConflicts (Map &map)
 Compute the conflicts of the roads (intersecting roads)
 
geom::Transform ComputeSignalTransform (std::unique_ptr< Signal > &signal, MapData &data)
 
void CreateJunctionBoundingBoxes (Map &map)
 Create the bounding boxes of each junction
 
void CreatePointersBetweenRoadSegments ()
 Create the pointers between RoadSegments based on the ids.
 
void GenerateDefaultValiditiesForSignalReferences ()
 Generates a default validity field for signal references with missing validity record in OpenDRIVE
 
LaneGetEdgeLanePointer (RoadId road_id, bool from_start, LaneId lane_id)
 Return the pointer to a lane object.
 
std::vector< std::pair< RoadId, LaneId > > GetJunctionLanes (JuncId junction_id, RoadId road_id, LaneId lane_id)
 
std::vector< Lane * > GetLaneNext (RoadId road_id, SectionId section_id, LaneId lane_id)
 Return a list of pointers to all lanes from a lane (using road and junction info).
 
void RemoveZeroLaneValiditySignalReferences ()
 Removes signal references with lane validity equal to [0,0] as they have no effect on any road
 
void SolveControllerAndJuntionReferences ()
 Solve the references between Controllers and Juntions
 
void SolveSignalReferencesAndTransforms ()
 Solves the signal references in the road
 

Private 属性

MapData _map_data
 
std::unordered_map< Lane *, std::vector< std::unique_ptr< element::RoadInfo > > > _temp_lane_info_container
 
std::unordered_map< Road *, std::vector< std::unique_ptr< element::RoadInfo > > > _temp_road_info_container
 Map to temporary store all the road and lane infos until the map is built, so they can be added all together.
 
std::unordered_map< SignId, std::unique_ptr< Signal > > _temp_signal_container
 
std::vector< element::RoadInfoSignal * > _temp_signal_reference_container
 

详细描述

在文件 MapBuilder.h20 行定义.

成员函数说明

◆ AddConnection()

void carla::road::MapBuilder::AddConnection ( const JuncId junction_id,
const ConId connection_id,
const RoadId incoming_road,
const RoadId connecting_road )

在文件 MapBuilder.cpp570 行定义.

引用了 _map_data, DEBUG_ASSERT, carla::road::Junction::GetConnections() , 以及 carla::road::MapData::GetJunction().

被这些函数引用 carla::opendrive::parser::JunctionParser::Parse().

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

◆ AddDependencyToSignal()

void carla::road::MapBuilder::AddDependencyToSignal ( const SignId signal_id,
const std::string dependency_id,
const std::string dependency_type )

在文件 MapBuilder.cpp344 行定义.

引用了 _temp_signal_container.

被这些函数引用 carla::opendrive::parser::SignalParser::Parse().

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

◆ AddJunction()

void carla::road::MapBuilder::AddJunction ( const JuncId id,
const std::string name )

在文件 MapBuilder.cpp566 行定义.

引用了 _map_data , 以及 carla::road::MapData::GetJunctions().

被这些函数引用 carla::opendrive::parser::JunctionParser::Parse().

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

◆ AddJunctionController()

void carla::road::MapBuilder::AddJunctionController ( const JuncId junction_id,
std::set< ContId > && controllers )

在文件 MapBuilder.cpp589 行定义.

引用了 carla::road::Junction::_controllers, _map_data, DEBUG_ASSERT , 以及 carla::road::MapData::GetJunction().

被这些函数引用 carla::opendrive::parser::JunctionParser::Parse().

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

◆ AddLaneLink()

void carla::road::MapBuilder::AddLaneLink ( const JuncId junction_id,
const ConId connection_id,
const LaneId from,
const LaneId to )

在文件 MapBuilder.cpp580 行定义.

引用了 _map_data, carla::road::Junction::Connection::AddLaneLink(), DEBUG_ASSERT, carla::road::Junction::GetConnection() , 以及 carla::road::MapData::GetJunction().

被这些函数引用 carla::opendrive::parser::JunctionParser::Parse().

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

◆ AddRoad()

carla::road::Road * carla::road::MapBuilder::AddRoad ( const RoadId road_id,
const std::string name,
const double length,
const JuncId junction_id,
const RoadId predecessor,
const RoadId successor )

在文件 MapBuilder.cpp353 行定义.

引用了 _map_data, carla::road::Road::_map_data , 以及 carla::road::MapData::_roads.

被这些函数引用 carla::opendrive::parser::RoadParser::Parse().

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

◆ AddRoadElevationProfile()

void carla::road::MapBuilder::AddRoadElevationProfile ( Road * road,
const double s,
const double a,
const double b,
const double c,
const double d )

在文件 MapBuilder.cpp74 行定义.

引用了 _temp_road_info_container , 以及 DEBUG_ASSERT.

被这些函数引用 carla::opendrive::parser::ProfilesParser::Parse().

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

◆ AddRoadGeometryArc()

void carla::road::MapBuilder::AddRoadGeometryArc ( carla::road::Road * road,
const double s,
const double x,
const double y,
const double hdg,
const double length,
const double curvature )

在文件 MapBuilder.cpp451 行定义.

引用了 _temp_road_info_container , 以及 DEBUG_ASSERT.

被这些函数引用 carla::opendrive::parser::GeometryParser::Parse().

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

◆ AddRoadGeometryLine()

void carla::road::MapBuilder::AddRoadGeometryLine ( carla::road::Road * road,
const double s,
const double x,
const double y,
const double hdg,
const double length )

在文件 MapBuilder.cpp411 行定义.

引用了 _temp_road_info_container , 以及 DEBUG_ASSERT.

被这些函数引用 carla::opendrive::parser::GeometryParser::Parse().

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

◆ AddRoadGeometryParamPoly3()

void carla::road::MapBuilder::AddRoadGeometryParamPoly3 ( carla::road::Road * road,
const double s,
const double x,
const double y,
const double hdg,
const double length,
const double aU,
const double bU,
const double cU,
const double dU,
const double aV,
const double bV,
const double cV,
const double dV,
const std::string p_range )

在文件 MapBuilder.cpp523 行定义.

引用了 _temp_road_info_container , 以及 DEBUG_ASSERT.

被这些函数引用 carla::opendrive::parser::GeometryParser::Parse().

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

◆ AddRoadGeometryPoly3()

void carla::road::MapBuilder::AddRoadGeometryPoly3 ( carla::road::Road * road,
const double s,
const double x,
const double y,
const double hdg,
const double length,
const double a,
const double b,
const double c,
const double d )

在文件 MapBuilder.cpp496 行定义.

引用了 _temp_road_info_container , 以及 DEBUG_ASSERT.

被这些函数引用 carla::opendrive::parser::GeometryParser::Parse().

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

◆ AddRoadGeometrySpiral()

void carla::road::MapBuilder::AddRoadGeometrySpiral ( carla::road::Road * road,
const double s,
const double x,
const double y,
const double hdg,
const double length,
const double curvStart,
const double curvEnd )

在文件 MapBuilder.cpp472 行定义.

引用了 _temp_road_info_container , 以及 DEBUG_ASSERT.

被这些函数引用 carla::opendrive::parser::GeometryParser::Parse().

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

◆ AddRoadObjectCrosswalk()

void carla::road::MapBuilder::AddRoadObjectCrosswalk ( Road * road,
const std::string name,
const double s,
const double t,
const double zOffset,
const double hdg,
const double pitch,
const double roll,
const std::string orientation,
const double width,
const double length,
const std::vector< road::element::CrosswalkPoint > points )

在文件 MapBuilder.cpp86 行定义.

引用了 _temp_road_info_container , 以及 DEBUG_ASSERT.

被这些函数引用 carla::opendrive::parser::ObjectParser::Parse().

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

◆ AddRoadSection() [1/2]

carla::road::LaneSection * carla::road::MapBuilder::AddRoadSection ( carla::road::Road * road,
const SectionId id,
const double s )

在文件 MapBuilder.cpp378 行定义.

引用了 carla::road::Road::_lane_sections, carla::road::LaneSection::_road, DEBUG_ASSERT , 以及 carla::road::LaneSectionMap::Emplace().

被这些函数引用 carla::opendrive::parser::RoadParser::Parse().

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

◆ AddRoadSection() [2/2]

void carla::road::MapBuilder::AddRoadSection ( const RoadId road_id,
const SectionId section_index,
const double s,
const double a,
const double b,
const double c,
const double d )

◆ AddRoadSectionLane()

carla::road::Lane * carla::road::MapBuilder::AddRoadSectionLane ( carla::road::LaneSection * section,
const LaneId lane_id,
const uint32_t lane_type,
const bool lane_level,
const LaneId predecessor,
const LaneId successor )

在文件 MapBuilder.cpp388 行定义.

引用了 carla::road::LaneSection::_lanes , 以及 DEBUG_ASSERT.

被这些函数引用 carla::opendrive::parser::RoadParser::Parse().

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

◆ AddSignal()

element::RoadInfoSignal * carla::road::MapBuilder::AddSignal ( Road * road,
const SignId signal_id,
const double s,
const double t,
const std::string name,
const std::string dynamic,
const std::string orientation,
const double zOffset,
const std::string country,
const std::string type,
const std::string subtype,
const double value,
const std::string unit,
const double height,
const double width,
const std::string text,
const double hOffset,
const double pitch,
const double roll )

在文件 MapBuilder.cpp238 行定义.

引用了 _temp_signal_container, AddSignalReference() , 以及 carla::road::Road::GetId().

被这些函数引用 carla::opendrive::parser::ObjectParser::Parse() , 以及 carla::opendrive::parser::SignalParser::Parse().

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

◆ AddSignalPositionInertial()

void carla::road::MapBuilder::AddSignalPositionInertial ( const SignId signal_id,
const double x,
const double y,
const double z,
const double hdg,
const double pitch,
const double roll )

在文件 MapBuilder.cpp282 行定义.

引用了 _temp_signal_container , 以及 carla::geom::Math::ToDegrees().

被这些函数引用 carla::opendrive::parser::SignalParser::Parse().

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

◆ AddSignalPositionRoad()

void carla::road::MapBuilder::AddSignalPositionRoad ( const SignId signal_id,
const RoadId road_id,
const double s,
const double t,
const double zOffset,
const double hOffset,
const double pitch,
const double roll )

在文件 MapBuilder.cpp299 行定义.

引用了 _temp_signal_container.

◆ AddSignalReference()

element::RoadInfoSignal * carla::road::MapBuilder::AddSignalReference ( Road * road,
const SignId signal_id,
const double s_position,
const double t_position,
const std::string signal_reference_orientation )

在文件 MapBuilder.cpp318 行定义.

引用了 _temp_road_info_container, _temp_signal_reference_container, carla::geom::Math::Clamp(), carla::road::Road::GetId(), carla::road::Road::GetLength() , 以及 RELEASE_ASSERT.

被这些函数引用 AddSignal() , 以及 carla::opendrive::parser::SignalParser::Parse().

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

◆ AddValidityToSignalReference()

void carla::road::MapBuilder::AddValidityToSignalReference ( element::RoadInfoSignal * signal_reference,
const LaneId from_lane,
const LaneId to_lane )

在文件 MapBuilder.cpp337 行定义.

引用了 carla::road::element::RoadInfoSignal::_validities.

被这些函数引用 carla::opendrive::parser::AddValidity() , 以及 GenerateDefaultValiditiesForSignalReferences().

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

◆ Build()

boost::optional< Map > carla::road::MapBuilder::Build ( )

在文件 MapBuilder.cpp38 行定义.

引用了 _map_data, _temp_lane_info_container, _temp_road_info_container, CheckSignalsOnRoads(), ComputeJunctionRoadConflicts(), CreateJunctionBoundingBoxes(), CreatePointersBetweenRoadSegments(), DEBUG_ASSERT, RemoveZeroLaneValiditySignalReferences(), SolveControllerAndJuntionReferences() , 以及 SolveSignalReferencesAndTransforms().

被这些函数引用 carla::opendrive::OpenDriveParser::Load().

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

◆ CheckSignalsOnRoads()

void carla::road::MapBuilder::CheckSignalsOnRoads ( Map & map)
private

Checks signals overlapping driving lanes and emits a warning

在文件 MapBuilder.cpp1044 行定义.

引用了 carla::road::Map::_data, carla::road::MapData::_signals, carla::road::Map::ComputeTransform(), carla::road::Lane::Driving, carla::road::Map::GetClosestWaypointOnRoad(), carla::road::Map::GetLaneType(), carla::road::Map::GetLaneWidth(), carla::road::Map::GetLeft(), carla::road::Map::GetRight(), carla::log_debug(), carla::road::Lane::None , 以及 carla::road::Lane::Shoulder.

被这些函数引用 Build().

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

◆ ComputeJunctionRoadConflicts()

void carla::road::MapBuilder::ComputeJunctionRoadConflicts ( Map & map)
private

Compute the conflicts of the roads (intersecting roads)

在文件 MapBuilder.cpp939 行定义.

引用了 carla::road::Map::_data, carla::road::Map::ComputeJunctionConflicts() , 以及 carla::road::MapData::GetJunctions().

被这些函数引用 Build().

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

◆ ComputeSignalTransform()

geom::Transform carla::road::MapBuilder::ComputeSignalTransform ( std::unique_ptr< Signal > & signal,
MapData & data )
private

在文件 MapBuilder.cpp788 行定义.

引用了 carla::road::element::DirectedPoint::ApplyLateralOffset(), carla::road::Road::GetDirectedPointInNoLaneOffset(), carla::road::MapData::GetRoad(), carla::road::element::DirectedPoint::location, carla::road::element::DirectedPoint::tangent, carla::geom::Math::ToDegrees(), carla::geom::Vector3D::y , 以及 carla::geom::Vector3D::z.

被这些函数引用 SolveSignalReferencesAndTransforms().

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

◆ CreateController()

void carla::road::MapBuilder::CreateController ( const ContId controller_id,
const std::string controller_name,
const uint32_t controller_sequence,
const std::set< road::SignId > && signals )

在文件 MapBuilder.cpp911 行定义.

引用了 carla::road::MapData::_controllers, _map_data, carla::road::MapData::_signals , 以及 DEBUG_ASSERT.

被这些函数引用 carla::opendrive::parser::ControllerParser::Parse().

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

◆ CreateJunctionBoundingBoxes()

void carla::road::MapBuilder::CreateJunctionBoundingBoxes ( Map & map)
private

Create the bounding boxes of each junction

在文件 MapBuilder.cpp843 行定义.

引用了 carla::road::Map::_data, carla::road::Lane::Any, carla::road::Map::ComputeTransform(), carla::road::Map::GetJunction(), carla::road::MapData::GetJunctions(), carla::road::Map::GetJunctionWaypoints(), carla::road::Map::GetNext() , 以及 carla::geom::Transform::location.

被这些函数引用 Build().

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

◆ CreateLaneAccess()

void carla::road::MapBuilder::CreateLaneAccess ( Lane * lane,
const double s,
const std::string restriction )

在文件 MapBuilder.cpp105 行定义.

引用了 _temp_lane_info_container , 以及 DEBUG_ASSERT.

被这些函数引用 carla::opendrive::parser::ParseLanes().

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

◆ CreateLaneBorder()

void carla::road::MapBuilder::CreateLaneBorder ( Lane * lane,
const double s,
const double a,
const double b,
const double c,
const double d )

在文件 MapBuilder.cpp113 行定义.

引用了 _temp_lane_info_container , 以及 DEBUG_ASSERT.

被这些函数引用 carla::opendrive::parser::ParseLanes().

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

◆ CreateLaneHeight()

void carla::road::MapBuilder::CreateLaneHeight ( Lane * lane,
const double s,
const double inner,
const double outer )

在文件 MapBuilder.cpp124 行定义.

引用了 _temp_lane_info_container , 以及 DEBUG_ASSERT.

被这些函数引用 carla::opendrive::parser::ParseLanes().

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

◆ CreateLaneMaterial()

void carla::road::MapBuilder::CreateLaneMaterial ( Lane * lane,
const double s,
const std::string surface,
const double friction,
const double roughness )

在文件 MapBuilder.cpp133 行定义.

引用了 _temp_lane_info_container , 以及 DEBUG_ASSERT.

被这些函数引用 carla::opendrive::parser::ParseLanes().

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

◆ CreateLaneRule()

void carla::road::MapBuilder::CreateLaneRule ( Lane * lane,
const double s,
const std::string value )

在文件 MapBuilder.cpp144 行定义.

引用了 _temp_lane_info_container , 以及 DEBUG_ASSERT.

被这些函数引用 carla::opendrive::parser::ParseLanes().

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

◆ CreateLaneSpeed()

void carla::road::MapBuilder::CreateLaneSpeed ( Lane * lane,
const double s,
const double max,
const std::string unit )

在文件 MapBuilder.cpp228 行定义.

引用了 _temp_lane_info_container , 以及 DEBUG_ASSERT.

被这些函数引用 carla::opendrive::parser::ParseLanes().

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

◆ CreateLaneVisibility()

void carla::road::MapBuilder::CreateLaneVisibility ( Lane * lane,
const double s,
const double forward,
const double back,
const double left,
const double right )

在文件 MapBuilder.cpp152 行定义.

引用了 _temp_lane_info_container , 以及 DEBUG_ASSERT.

被这些函数引用 carla::opendrive::parser::ParseLanes().

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

◆ CreateLaneWidth()

void carla::road::MapBuilder::CreateLaneWidth ( Lane * lane,
const double s,
const double a,
const double b,
const double c,
const double d )

在文件 MapBuilder.cpp164 行定义.

引用了 _temp_lane_info_container , 以及 DEBUG_ASSERT.

被这些函数引用 carla::opendrive::parser::ParseLanes().

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

◆ CreatePointersBetweenRoadSegments()

void carla::road::MapBuilder::CreatePointersBetweenRoadSegments ( void )
private

Create the pointers between RoadSegments based on the ids.

在文件 MapBuilder.cpp734 行定义.

引用了 _map_data, carla::road::MapData::_roads, DEBUG_ASSERT , 以及 GetLaneNext().

被这些函数引用 Build().

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

◆ CreateRoadMark()

void carla::road::MapBuilder::CreateRoadMark ( Lane * lane,
const int road_mark_id,
const double s,
const std::string type,
const std::string weight,
const std::string color,
const std::string material,
const double width,
const std::string lane_change,
const double height,
const std::string type_name,
const double type_width )

在文件 MapBuilder.cpp175 行定义.

引用了 _temp_lane_info_container, DEBUG_ASSERT , 以及 carla::StringUtil::ToLower().

被这些函数引用 carla::opendrive::parser::ParseLanes().

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

◆ CreateRoadMarkTypeLine()

void carla::road::MapBuilder::CreateRoadMarkTypeLine ( Lane * lane,
const int road_mark_id,
const double length,
const double space,
const double tOffset,
const double s,
const std::string rule,
const double width )

在文件 MapBuilder.cpp207 行定义.

引用了 _temp_lane_info_container , 以及 DEBUG_ASSERT.

被这些函数引用 carla::opendrive::parser::ParseLanes().

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

◆ CreateRoadSpeed()

void carla::road::MapBuilder::CreateRoadSpeed ( Road * road,
const double s,
const std::string type,
const double max,
const std::string unit )

在文件 MapBuilder.cpp430 行定义.

引用了 _temp_road_info_container , 以及 DEBUG_ASSERT.

被这些函数引用 carla::opendrive::parser::RoadParser::Parse().

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

◆ CreateSectionOffset()

void carla::road::MapBuilder::CreateSectionOffset ( Road * road,
const double s,
const double a,
const double b,
const double c,
const double d )

在文件 MapBuilder.cpp440 行定义.

引用了 _temp_road_info_container , 以及 DEBUG_ASSERT.

被这些函数引用 carla::opendrive::parser::RoadParser::Parse().

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

◆ GenerateDefaultValiditiesForSignalReferences()

void carla::road::MapBuilder::GenerateDefaultValiditiesForSignalReferences ( )
private

Generates a default validity field for signal references with missing validity record in OpenDRIVE

在文件 MapBuilder.cpp946 行定义.

引用了 _temp_signal_reference_container, AddValidityToSignalReference(), carla::road::Both, carla::road::Road::GetLanesByDistance(), GetRoad(), carla::road::Negative , 以及 carla::road::Positive.

被这些函数引用 SolveSignalReferencesAndTransforms().

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

◆ GetEdgeLanePointer()

Lane * carla::road::MapBuilder::GetEdgeLanePointer ( RoadId road_id,
bool from_start,
LaneId lane_id )
private

Return the pointer to a lane object.

在文件 MapBuilder.cpp609 行定义.

引用了 _map_data, carla::road::MapData::ContainsRoad(), DEBUG_ASSERT, carla::road::Road::GetEndSection(), carla::road::LaneSection::GetLane(), carla::road::MapData::GetRoad() , 以及 carla::road::Road::GetStartSection().

被这些函数引用 GetLaneNext().

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

◆ GetJunctionLanes()

std::vector< std::pair< RoadId, LaneId > > carla::road::MapBuilder::GetJunctionLanes ( JuncId junction_id,
RoadId road_id,
LaneId lane_id )
private

在文件 MapBuilder.cpp697 行定义.

引用了 carla::road::Junction::_connections, _map_data , 以及 carla::road::MapData::GetJunction().

被这些函数引用 GetLaneNext().

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

◆ GetLane()

Lane * carla::road::MapBuilder::GetLane ( const RoadId road_id,
const LaneId lane_id,
const double s )

在文件 MapBuilder.cpp596 行定义.

引用了 _map_data, carla::road::Road::GetLaneByDistance() , 以及 carla::road::MapData::GetRoad().

被这些函数引用 carla::opendrive::parser::ParseLanes().

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

◆ GetLaneNext()

std::vector< Lane * > carla::road::MapBuilder::GetLaneNext ( RoadId road_id,
SectionId section_id,
LaneId lane_id )
private

Return a list of pointers to all lanes from a lane (using road and junction info).

待办事项
Is it correct to use a road id as section id? (NS: I just added this cast to avoid compiler warnings).

在文件 MapBuilder.cpp631 行定义.

引用了 carla::road::Road::_lane_sections, _map_data, carla::road::MapData::ContainsRoad(), DEBUG_ASSERT, carla::road::LaneSectionMap::GetById(), carla::road::LaneSection::GetDistance(), GetEdgeLanePointer(), GetJunctionLanes(), carla::road::LaneSection::GetLane(), carla::road::Road::GetNextLane(), carla::road::Lane::GetPredecessor(), carla::road::Road::GetPredecessor(), carla::road::Road::GetPrevLane(), carla::road::MapData::GetRoad(), carla::road::Lane::GetSuccessor() , 以及 carla::road::Road::GetSuccessor().

被这些函数引用 CreatePointersBetweenRoadSegments().

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

◆ GetRoad()

Road * carla::road::MapBuilder::GetRoad ( const RoadId road_id)

在文件 MapBuilder.cpp603 行定义.

引用了 _map_data , 以及 carla::road::MapData::GetRoad().

被这些函数引用 GenerateDefaultValiditiesForSignalReferences(), carla::opendrive::parser::GeometryParser::Parse(), carla::opendrive::parser::ObjectParser::Parse(), carla::opendrive::parser::ProfilesParser::Parse(), carla::opendrive::parser::SignalParser::Parse() , 以及 RemoveZeroLaneValiditySignalReferences().

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

◆ RemoveZeroLaneValiditySignalReferences()

void carla::road::MapBuilder::RemoveZeroLaneValiditySignalReferences ( )
private

Removes signal references with lane validity equal to [0,0] as they have no effect on any road

在文件 MapBuilder.cpp1013 行定义.

引用了 _temp_road_info_container, _temp_signal_reference_container , 以及 GetRoad().

被这些函数引用 Build().

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

◆ SetGeoReference()

void carla::road::MapBuilder::SetGeoReference ( const geom::GeoLocation & geo_reference)
inline

在文件 MapBuilder.h361 行定义.

引用了 carla::road::MapData::_geo_reference , 以及 _map_data.

被这些函数引用 carla::opendrive::parser::GeoReferenceParser::Parse().

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

◆ SetRoadLaneLink()

void carla::road::MapBuilder::SetRoadLaneLink ( const RoadId road_id,
const SectionId section_index,
const LaneId lane_id,
const Lane::LaneType lane_type,
const bool lane_level,
const LaneId predecessor,
const LaneId successor )

◆ SolveControllerAndJuntionReferences()

void carla::road::MapBuilder::SolveControllerAndJuntionReferences ( )
private

Solve the references between Controllers and Juntions

在文件 MapBuilder.cpp824 行定义.

引用了 carla::road::MapData::_controllers, carla::road::MapData::_junctions, _map_data , 以及 carla::road::MapData::_signals.

被这些函数引用 Build().

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

◆ SolveSignalReferencesAndTransforms()

void carla::road::MapBuilder::SolveSignalReferencesAndTransforms ( )
private

Solves the signal references in the road

在文件 MapBuilder.cpp800 行定义.

引用了 _map_data, carla::road::MapData::_signals, _temp_signal_container, _temp_signal_reference_container, ComputeSignalTransform(), GenerateDefaultValiditiesForSignalReferences() , 以及 carla::road::SignalType::IsTrafficLight().

被这些函数引用 Build().

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

类成员变量说明

◆ _map_data

MapData carla::road::MapBuilder::_map_data
private

◆ _temp_lane_info_container

std::unordered_map<Lane *, std::vector<std::unique_ptr<element::RoadInfo> > > carla::road::MapBuilder::_temp_lane_info_container
private

◆ _temp_road_info_container

std::unordered_map<Road *, std::vector<std::unique_ptr<element::RoadInfo> > > carla::road::MapBuilder::_temp_road_info_container
private

◆ _temp_signal_container

std::unordered_map<SignId, std::unique_ptr<Signal> > carla::road::MapBuilder::_temp_signal_container
private

◆ _temp_signal_reference_container

std::vector<element::RoadInfoSignal*> carla::road::MapBuilder::_temp_signal_reference_container
private

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