49 return (
double) 1.0 / (double) 3.6;
51 return (
double) 200 / (double) 3.6;
53 return (
double) 120 / (double) 3.6;
55 return (
double) 100 / (double) 3.6;
57 return (
double) 80 / (double) 3.6;
59 return (
double) 70 / (double) 3.6;
61 return (
double) 50 / (double) 3.6;
63 return (
double) 30 / (double) 3.6;
65 return (
double) 5 / (double) 3.6;
67 throw ProcessError(
"Invalid speed code (edge '" +
id +
"').");
70 throw ProcessError(
"Non-numerical value for an edge's speed type occured (edge '" +
id +
"').");
81 }
else if (nolanes / 10 > 0) {
84 switch (nolanes % 10) {
89 if (speed > 78.0 / 3.6) {
96 throw ProcessError(
"Invalid lane number (edge '" +
id +
"').");
100 throw ProcessError(
"Non-numerical value for an edge's lane number occured (edge '" +
id +
"'.");
107 std::string classS =
"0000000000" + oclassS;
108 classS = classS.substr(classS.length() - 10);
110 if (classS[0] ==
'1') {
117 if (classS[1] ==
'1') {
121 if (classS[2] ==
'1') {
126 if (classS[3] ==
'1') {
130 if (classS[4] ==
'1') {
134 if (classS[5] ==
'1') {
139 if (classS[6] ==
'1') {
143 if (classS[7] ==
'1') {
148 if (classS[8] ==
'1') {
152 if (classS[9] ==
'1') {
160 std::string classS =
"0000000000" + oclassS;
161 classS = classS.substr(classS.length() - 12);
163 if (classS[0] ==
'1') {
170 if (classS[1] ==
'1') {
174 if (classS[2] ==
'1') {
178 if (classS[3] ==
'1') {
183 if (classS[4] ==
'1') {
187 if (classS[5] ==
'1') {
191 if (classS[6] ==
'1') {
196 if (classS[7] ==
'1') {
200 if (classS[8] ==
'1') {
205 if (classS[9] ==
'1') {
209 if (classS[10] ==
'1') {
213 if (classS[11] ==
'1') {
static double getSpeed(const std::string &id, const std::string &speedClassS)
Returns the speed evaluating the given Navteq-description.
The representation of a single edge during network building.
vehicle is a small delivery vehicle
static void addVehicleClasses(NBEdge &e, const std::string &classS)
Adds vehicle classes parsing the given list of allowed vehicles.
void setPermissions(SVCPermissions permissions, int lane=-1)
set allowed/disallowed classes for the given lane or for all lanes if -1 is given ...
const SVCPermissions SVCAll
all VClasses are allowed
vehicle is a large transport vehicle
vehicle is a passenger car (a "normal" car)
static void addVehicleClassesV6(NBEdge &e, const std::string &classS)
same as addVehicleClasses but for version 6+
static int _2int(const E *const data)
converts a char-type array into the integer value described by it
vehicle is a large transport vehicle
static int getLaneNumber(const std::string &id, const std::string &laneNoS, double speed)
Returns the lane number evaluating the given Navteq-description.
void allowVehicleClass(int lane, SUMOVehicleClass vclass)
set allowed class for the given lane or for all lanes if -1 is given
public emergency vehicles