LCOV - code coverage report
Current view: top level - src/activitygen/city - AGBusLine.h (source / functions) Coverage Total Hit
Test: lcov.info Lines: 100.0 % 2 2
Test Date: 2024-11-22 15:46:21 Functions: 100.0 % 1 1

            Line data    Source code
       1              : /****************************************************************************/
       2              : // Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.dev/sumo
       3              : // Copyright (C) 2001-2024 German Aerospace Center (DLR) and others.
       4              : // activitygen module
       5              : // Copyright 2010 TUM (Technische Universitaet Muenchen, http://www.tum.de/)
       6              : // This program and the accompanying materials are made available under the
       7              : // terms of the Eclipse Public License 2.0 which is available at
       8              : // https://www.eclipse.org/legal/epl-2.0/
       9              : // This Source Code may also be made available under the following Secondary
      10              : // Licenses when the conditions for such availability set forth in the Eclipse
      11              : // Public License 2.0 are satisfied: GNU General Public License, version 2
      12              : // or later which is available at
      13              : // https://www.gnu.org/licenses/old-licenses/gpl-2.0-standalone.html
      14              : // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-or-later
      15              : /****************************************************************************/
      16              : /// @file    AGBusLine.h
      17              : /// @author  Piotr Woznica
      18              : /// @author  Daniel Krajzewicz
      19              : /// @author  Walter Bamberger
      20              : /// @date    July 2010
      21              : ///
      22              : // Bus line of the city: contains all the buses of this line
      23              : /****************************************************************************/
      24              : #pragma once
      25              : #include <config.h>
      26              : 
      27              : #include <iostream>
      28              : #include <string>
      29              : #include <list>
      30              : #include "AGBus.h"
      31              : #include "AGPosition.h"
      32              : #include "AGDataAndStatistics.h"
      33              : 
      34              : 
      35              : // ===========================================================================
      36              : // class definitions
      37              : // ===========================================================================
      38              : class AGBusLine {
      39              : public:
      40           11 :     AGBusLine(std::string lineNr) :
      41           22 :         lineNumber(lineNr) {};
      42              :     void setMaxTripTime(int time);
      43              :     void setBusNames();
      44              :     int nbrBuses();
      45              :     void locateStation(AGPosition pos);
      46              :     void locateRevStation(AGPosition pos);
      47              :     void generateBuses(int start, int stop, int rate);
      48              :     void printBuses();
      49              : 
      50              :     std::list<AGPosition> stations;
      51              :     std::list<AGPosition> revStations;
      52              :     std::list<AGBus> buses;
      53              :     std::list<AGBus> revBuses;
      54              : 
      55              : private:
      56              :     /**
      57              :      * @return: a name for a new Bus. unique for the city.
      58              :      */
      59              :     std::string createName();
      60              : 
      61              :     /**
      62              :      * @param time: time of departure of the bus in one direction (current time)
      63              :      * @return: time at which it will be ready for going in the opposite direction
      64              :      */
      65              :     int getReady(int time);
      66              : 
      67              :     std::string lineNumber;
      68              :     int maxTripTime;
      69              :     int busNbr;
      70              : };
        

Generated by: LCOV version 2.0-1