44 #ifdef CHECK_MEMORY_LEAKS
46 #endif // CHECK_MEMORY_LEAKS
65 "' has to be given in the definition of flow '" +
id +
"'.");
70 "' has to be given in the definition of flow '" +
id +
"'.");
75 "' has to be given in the definition of flow '" +
id +
"'.");
84 "' are allowed in flow '" +
id +
"'.");
92 "' is needed in flow '" +
id +
"'.");
107 #ifdef HAVE_SUBSECOND_TIMESTEPS
116 if (ok && vph <= 0) {
118 throw ProcessError(
"Invalid repetition rate in the definition of flow '" +
id +
"'.");
120 if (ok && vph != 0) {
128 throw ProcessError(
"Invalid repetition probability in the definition of flow '" +
id +
"'.");
132 ret->
depart = beginDefault;
136 if (ok && ret->
depart < 0) {
138 throw ProcessError(
"Negative begin time in the definition of flow '" +
id +
"'.");
147 if (ok && end <= ret->depart) {
149 throw ProcessError(
"Flow '" +
id +
"' ends before or at its begin time.");
155 WRITE_WARNING(
"Flow '" +
id +
"' has 0 vehicles; will skip it.");
159 throw ProcessError(
"Negative repetition number in the definition of flow '" +
id +
"'.");
172 throw ProcessError(
"Invalid repetition rate in the definition of flow '" +
id +
"'.");
191 bool optionalID,
bool skipDepart) {
193 std::string id, errorMsg;
402 WRITE_ERROR(
"Unknown lane change model '" + lcmS +
"' when parsing vtype '" + vtype->
id +
"'");
424 CFAttrMap::const_iterator cf_it;
425 for (cf_it = allowedAttrs.begin(); cf_it != allowedAttrs.end(); cf_it++) {
426 if (cf_it->first == element) {
430 if (cf_it == allowedAttrs.end()) {
434 WRITE_ERROR(
"Unknown cfmodel when parsing vtype '" + into.
id +
"'");
443 for (std::set<SumoXMLAttr>::const_iterator it = cf_it->second.begin(); it != cf_it->second.end(); it++) {
448 +
" in car following model '" +
toString(into.
cfModel) +
"' lower than simulation step size may cause collisions");
462 std::set<SumoXMLAttr> krausParams;
471 std::set<SumoXMLAttr> smartSKParams;
483 std::set<SumoXMLAttr> daniel1Params;
495 std::set<SumoXMLAttr> pwagParams;
504 std::set<SumoXMLAttr> idmParams;
512 std::set<SumoXMLAttr> idmmParams;
521 std::set<SumoXMLAttr> bkernerParams;
529 std::set<SumoXMLAttr> wiedemannParams;
542 const std::string&
id) {
552 if (realName != vclassS) {
553 WRITE_WARNING(
"The vehicle class '" + vclassS +
"' for " + attrs.
getObjectType() +
" '" +
id +
"' is deprecated, use '" + realName +
"' instead.");
583 if (realName != vclassS) {
584 WRITE_WARNING(
"The shape '" + vclassS +
"' for " + attrs.
getObjectType() +
" '" +
id +
"' is deprecated, use '" + realName +
"' instead.");