59 #ifdef CHECK_MEMORY_LEAKS
61 #endif // CHECK_MEMORY_LEAKS
68 bool addVehiclesDirectly) :
71 myAddVehiclesDirectly(addVehiclesDirectly),
72 myCurrentVTypeDistribution(0),
73 myCurrentRouteDistribution(0) {
105 const std::string fromID = attrs.
get<std::string>(
SUMO_ATTR_FROM, pid.c_str(), ok);
108 throw ProcessError(
"The from edge '" + fromID +
"' within a ride of person '" + pid +
"' is not known.");
118 throw ProcessError(
"The start edge within for person '" + pid +
"' is not known.");
120 const std::string toID = attrs.
get<std::string>(
SUMO_ATTR_TO, pid.c_str(), ok);
123 throw ProcessError(
"The to edge '" + toID +
"' within a ride of person '" + pid +
"' is not known.");
235 while (st.hasNext()) {
236 std::string vtypeID = st.next();
315 const std::string
id = vehType->
getID();
318 throw ProcessError(
"Another vehicle type (or distribution) with the id '" +
id +
"' exists.");
400 std::vector<SUMOReal> probs;
411 size_t probIndex = 0;
413 std::string routeID = st.
next();
418 const SUMOReal prob = (probs.size() > probIndex ? probs[probIndex] : 1.0);
424 if (probs.size() > 0 && probIndex != probs.size()) {
596 std::string errorSuffix;
626 if (ok && stop.
lane !=
"") {
628 WRITE_ERROR(
"The lane '" + stop.
lane +
"' for a stop is not known" + errorSuffix);
632 WRITE_ERROR(
"A stop must be placed on a bus stop or a lane" + errorSuffix);
646 WRITE_WARNING(
"Deprecated attribute 'pos' in description of stop" + errorSuffix);
652 WRITE_ERROR(
"Invalid start or end position for stop on lane '" + stop.
lane +
"'" + errorSuffix);