Program Listing for File Validation.h
↰ Return to documentation for file (include/lanelet2_validation/Validation.h)
#pragma once
#include <lanelet2_io/Projection.h>
#include <lanelet2_traffic_rules/TrafficRulesFactory.h>
#include "lanelet2_validation/Issue.h"
namespace lanelet {
namespace validation {
using Strings = std::vector<std::string>;
struct DetectedIssues {
DetectedIssues() = default;
DetectedIssues(std::string checkName, Issues issues) : checkName{std::move(checkName)}, issues{std::move(issues)} {}
Issues errors() const;
Issues warnings() const;
std::string checkName;
Issues issues;
};
struct ValidationConfig {
std::string checksFilter;
std::string location{Locations::Germany};
Strings participants{Participants::Vehicle};
GPSPoint origin;
};
struct IssueReport {
Strings warnings;
Strings errors;
};
IssueReport buildReport(std::vector<DetectedIssues> issues);
Strings availabeChecks(const std::string& filterString);
std::vector<DetectedIssues> validateMap(LaneletMap& map, const ValidationConfig& config);
std::vector<DetectedIssues> validateMap(const std::string& mapFilename, const ValidationConfig& config);
} // namespace validation
} // namespace lanelet