include
lanelet2_validation
Issue.h
Go to the documentation of this file.
1
#pragma once
2
#include <
lanelet2_core/Forward.h
>
3
4
#include <sstream>
5
#include <vector>
6
7
namespace
lanelet
{
8
namespace
validation {
9
enum class
Severity
{
Error
,
Warning
,
Info
};
10
enum class
Primitive
{
Point
,
LineString
,
Polygon
,
Lanelet
,
Area
,
RegulatoryElement
,
Primitive
};
11
12
inline
const
char
*
toString
(
Severity
severity) {
13
switch
(severity) {
14
case
Severity::Error
:
15
return
"Error"
;
16
case
Severity::Warning
:
17
return
"Warning"
;
18
case
Severity::Info
:
19
return
"info"
;
20
}
21
return
""
;
22
}
23
24
inline
const
char
*
toString
(
Primitive
primitive) {
25
switch
(primitive) {
26
case
Primitive::Point
:
27
return
"point"
;
28
case
Primitive::LineString
:
29
return
"linestring"
;
30
case
Primitive::Polygon
:
31
return
"polygon"
;
32
case
Primitive::Lanelet
:
33
return
"lanelet"
;
34
case
Primitive::Area
:
35
return
"area"
;
36
case
Primitive::RegulatoryElement
:
37
return
"regulatory element"
;
38
case
Primitive::Primitive
:
39
return
"primitive"
;
40
}
41
return
""
;
42
}
43
44
struct
Issue
{
45
Issue
() =
default
;
46
Issue
(
Severity
severity
, std::string
message
) :
severity
{
severity
},
message
{std::move(
message
)} {}
47
Issue
(
Severity
severity
,
Primitive
primitive
,
Id
id
, std::string
message
)
48
:
severity
{
severity
},
primitive
{
primitive
},
id
{
id
},
message
{std::move(
message
)} {}
49
std::string
buildReport
()
const
{
50
std::stringstream ss;
51
ss <<
toString
(
severity
) <<
": "
;
52
if
(
id
!=
InvalId
) {
53
ss <<
toString
(
primitive
) <<
" "
<< std::to_string(
id
) <<
" "
;
54
}
55
ss <<
message
;
56
return
ss.str();
57
}
58
59
Severity
severity
{
Severity::Error
};
60
Primitive
primitive
{
Primitive::Point
};
61
Id
id
{
InvalId
};
62
std::string
message
;
63
};
64
65
using
Issues
= std::vector<Issue>;
66
67
}
// namespace validation
68
}
// namespace lanelet
lanelet::InvalId
constexpr Id InvalId
lanelet::validation::Primitive::RegulatoryElement
@ RegulatoryElement
lanelet
lanelet::validation::Issue::message
std::string message
Message to be displayed.
Definition:
Issue.h:62
lanelet::validation::Primitive::LineString
@ LineString
lanelet::validation::Issue::buildReport
std::string buildReport() const
Definition:
Issue.h:49
lanelet::Id
int64_t Id
lanelet::validation::Primitive::Point
@ Point
lanelet::validation::Issue::Issue
Issue(Severity severity, std::string message)
Definition:
Issue.h:46
Forward.h
lanelet::validation::Issues
std::vector< Issue > Issues
Definition:
Issue.h:65
lanelet::validation::Primitive::Lanelet
@ Lanelet
lanelet::validation::Issue::Issue
Issue(Severity severity, Primitive primitive, Id id, std::string message)
Definition:
Issue.h:47
lanelet::validation::Severity::Info
@ Info
lanelet::validation::Issue::Issue
Issue()=default
lanelet::validation::Severity::Warning
@ Warning
lanelet::validation::Primitive::Primitive
@ Primitive
lanelet::validation::Severity::Error
@ Error
lanelet::validation::Severity
Severity
Definition:
Issue.h:9
lanelet::validation::Primitive
Primitive
Definition:
Issue.h:10
lanelet::validation::Issue::severity
Severity severity
Severity class of issue.
Definition:
Issue.h:59
lanelet::validation::Primitive::Polygon
@ Polygon
lanelet::validation::Issue
Definition:
Issue.h:44
lanelet::validation::Issue::primitive
Primitive primitive
Type of primitive that caused the issue.
Definition:
Issue.h:60
lanelet::validation::Primitive::Area
@ Area
lanelet::validation::toString
const char * toString(Severity severity)
Definition:
Issue.h:12
lanelet2_validation
Author(s): Fabian Poggenhans
autogenerated on Thu Mar 6 2025 03:26:17