CARLA
 
载入中...
搜索中...
未找到
OpenDriveParser.cpp
浏览该文件的文档.
1// Copyright (c) 2017 Computer Vision Center (CVC) at the Universitat Autonoma
2// de Barcelona (UAB).
3//
4// This work is licensed under the terms of the MIT license.
5// For a copy, see <https://opensource.org/licenses/MIT>.
6
8
9#include "carla/Logging.h"
21
22#include <pugixml/pugixml.hpp>
23
24namespace carla {
25namespace opendrive {
26
27 boost::optional<road::Map> OpenDriveParser::Load(const std::string &opendrive) {
29 pugi::xml_parse_result parse_result = xml.load_string(opendrive.c_str());
30
31 if (parse_result == false) {
32 log_error("unable to parse the OpenDRIVE XML string");
33 return {};
34 }
35
36 carla::road::MapBuilder map_builder;
37
38 parser::GeoReferenceParser::Parse(xml, map_builder);
39 parser::RoadParser::Parse(xml, map_builder);
40 parser::JunctionParser::Parse(xml, map_builder);
41 parser::GeometryParser::Parse(xml, map_builder);
42 parser::LaneParser::Parse(xml, map_builder);
43 parser::ProfilesParser::Parse(xml, map_builder);
44 parser::TrafficGroupParser::Parse(xml, map_builder);
45 parser::SignalParser::Parse(xml, map_builder);
46 parser::ObjectParser::Parse(xml, map_builder);
47 parser::ControllerParser::Parse(xml, map_builder);
48
49 return map_builder.Build();
50 }
51
52} // namespace opendrive
53} // namespace carla
static boost::optional< road::Map > Load(const std::string &opendrive)
static void Parse(const pugi::xml_document &xml, carla::road::MapBuilder &map_builder)
static void Parse(const pugi::xml_document &xml, carla::road::MapBuilder &map_builder)
static void Parse(const pugi::xml_document &xml, carla::road::MapBuilder &map_builder)
static void Parse(const pugi::xml_document &xml, carla::road::MapBuilder &map_builder)
static void Parse(const pugi::xml_document &xml, carla::road::MapBuilder &map_builder)
static void Parse(const pugi::xml_document &xml, carla::road::MapBuilder &map_builder)
static void Parse(const pugi::xml_document &xml, carla::road::MapBuilder &map_builder)
static void Parse(const pugi::xml_document &xml, carla::road::MapBuilder &map_builder)
static void Parse(const pugi::xml_document &xml, carla::road::MapBuilder &map_builder)
static void Parse(const pugi::xml_document &xml, carla::road::MapBuilder &map_builder)
boost::optional< Map > Build()
xml_parse_result load_string(const char_t *contents, unsigned int options=parse_default)
Definition pugixml.cpp:7091
This file contains definitions of common data structures used in traffic manager.
Definition Carla.cpp:133
static void log_error(Args &&... args)
Definition Logging.h:110