bool SimulationInputOutputHelper::parseLine(ParseContext& context)
{
    bool result = false;
    if (context.lineNumber == 1)
    {
        result = parseFirstLine(context);
    }
    else if (context.lineNumber <= context.stationsCount + 1)
    {
        Station station;
        result = parseStation(context.line, station, context.stationId);
        if (result)
        {
            context.simulationInstance.stations.append(station);
        }
    }
    else
    {
        Connection connection;
        result = parseConnection(context.line, connection);
        if (result)
        {
            context.simulationInstance.connections.append(connection);
        }
    }

    return result;
}
Exemplo n.º 2
0
void
AGActivityGenHandler::myStartElement(int element, const SUMOSAXAttributes& attrs) {
    try {
        switch (element) {
        case AGEN_TAG_GENERAL:
            parseGeneralCityInfo(attrs);
            break;
        case AGEN_TAG_STREET:
            parseStreets(attrs);
            break;
        case AGEN_TAG_WORKHOURS:
            parseWorkHours();
            break;
        case AGEN_TAG_OPENING:
            parseOpeningHour(attrs);
            break;
        case AGEN_TAG_CLOSING:
            parseClosingHour(attrs);
            break;
        case AGEN_TAG_SCHOOLS:
            parseSchools();
            break;
        case AGEN_TAG_SCHOOL:
            parseSchool(attrs);
            break;
        case AGEN_TAG_BUSSTATION:
            parseBusStation(attrs);
            break;
        case AGEN_TAG_BUSLINE:
            parseBusLine(attrs);
            break;
        case AGEN_TAG_STATIONS:
            parseStations();
            break;
        case AGEN_TAG_REV_STATIONS:
            parseRevStations();
            break;
        case AGEN_TAG_STATION:
            parseStation(attrs);
            break;
        case AGEN_TAG_FREQUENCY:
            parseFrequency(attrs);
            break;
        case AGEN_TAG_POPULATION:
            parsePopulation();
            break;
        /*case AGEN_TAG_CHILD_ACOMP:
            parseChildrenAccompaniment();
            break;*/
        case AGEN_TAG_BRACKET:
            parseBracket(attrs);
            break;
        case AGEN_TAG_PARAM:
            parseParameters(attrs);
            break;
        case AGEN_TAG_ENTRANCE:
            parseCityGates(attrs);
            break;
        default:
            break;
        }
    } catch (const std::exception& e) {
        throw ProcessError(e.what());
    }
}