Line data Source code
1 : /****************************************************************************/
2 : // Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.dev/sumo
3 : // Copyright (C) 2017-2024 German Aerospace Center (DLR) and others.
4 : // This program and the accompanying materials are made available under the
5 : // terms of the Eclipse Public License 2.0 which is available at
6 : // https://www.eclipse.org/legal/epl-2.0/
7 : // This Source Code may also be made available under the following Secondary
8 : // Licenses when the conditions for such availability set forth in the Eclipse
9 : // Public License 2.0 are satisfied: GNU General Public License, version 2
10 : // or later which is available at
11 : // https://www.gnu.org/licenses/old-licenses/gpl-2.0-standalone.html
12 : // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-or-later
13 : /****************************************************************************/
14 : /// @file BusStop.cpp
15 : /// @author Angelo Banse
16 : /// @date 10.11.2020
17 : ///
18 : // C++ TraCI client API implementation
19 : /****************************************************************************/
20 : #include <config.h>
21 :
22 : #define LIBTRACI 1
23 : #include <libsumo/TraCIConstants.h>
24 : #include <libsumo/BusStop.h>
25 : #include "Connection.h"
26 : #include "Domain.h"
27 :
28 :
29 : namespace libtraci {
30 :
31 : typedef Domain<libsumo::CMD_GET_BUSSTOP_VARIABLE, libsumo::CMD_SET_BUSSTOP_VARIABLE> Dom;
32 :
33 :
34 : // ===========================================================================
35 : // static member definitions
36 : // ===========================================================================
37 : std::vector<std::string>
38 53 : BusStop::getIDList() {
39 105 : return Dom::getStringVector(libsumo::TRACI_ID_LIST, "");
40 : }
41 :
42 : int
43 2 : BusStop::getIDCount() {
44 4 : return Dom::getInt(libsumo::ID_COUNT, "");
45 : }
46 :
47 :
48 : std::string
49 2 : BusStop::getLaneID(const std::string& stopID) {
50 2 : return Dom::getString(libsumo::VAR_LANE_ID, stopID);
51 : }
52 :
53 : double
54 2 : BusStop::getStartPos(const std::string& stopID) {
55 2 : return Dom::getDouble(libsumo::VAR_POSITION, stopID);
56 : }
57 :
58 : double
59 2 : BusStop::getEndPos(const std::string& stopID) {
60 2 : return Dom::getDouble(libsumo::VAR_LANEPOSITION, stopID);
61 : }
62 :
63 : std::string
64 2 : BusStop::getName(const std::string& stopID) {
65 2 : return Dom::getString(libsumo::VAR_NAME, stopID);
66 : }
67 :
68 : int
69 20 : BusStop::getVehicleCount(const std::string& stopID) {
70 20 : return Dom::getInt(libsumo::VAR_STOP_STARTING_VEHICLES_NUMBER, stopID);
71 : }
72 :
73 : std::vector<std::string>
74 20 : BusStop::getVehicleIDs(const std::string& stopID) {
75 20 : return Dom::getStringVector(libsumo::VAR_STOP_STARTING_VEHICLES_IDS, stopID);
76 : }
77 :
78 : int
79 20 : BusStop::getPersonCount(const std::string& stopID) {
80 20 : return Dom::getInt(libsumo::VAR_BUS_STOP_WAITING, stopID);
81 : }
82 :
83 : std::vector<std::string>
84 20 : BusStop::getPersonIDs(const std::string& stopID) {
85 20 : return Dom::getStringVector(libsumo::VAR_BUS_STOP_WAITING_IDS, stopID);
86 : }
87 :
88 :
89 102 : LIBTRACI_SUBSCRIPTION_IMPLEMENTATION(BusStop, BUSSTOP)
90 0 : LIBTRACI_PARAMETER_IMPLEMENTATION(BusStop, BUSSTOP)
91 :
92 :
93 : }
94 :
95 :
96 : /****************************************************************************/
|