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 OverheadWire.cpp
15 : /// @author Angelo Banse
16 : /// @date 11.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/OverheadWire.h>
25 : #include "Domain.h"
26 :
27 :
28 : namespace libtraci {
29 :
30 : typedef Domain<libsumo::CMD_GET_OVERHEADWIRE_VARIABLE, libsumo::CMD_SET_OVERHEADWIRE_VARIABLE> Dom;
31 :
32 :
33 : // ===========================================================================
34 : // static member definitions
35 : // ===========================================================================
36 : std::vector<std::string>
37 38 : OverheadWire::getIDList() {
38 75 : return Dom::getStringVector(libsumo::TRACI_ID_LIST, "");
39 : }
40 :
41 : int
42 1 : OverheadWire::getIDCount() {
43 2 : return Dom::getInt(libsumo::ID_COUNT, "");
44 : }
45 :
46 :
47 : std::string
48 2 : OverheadWire::getLaneID(const std::string& stopID) {
49 2 : return Dom::getString(libsumo::VAR_LANE_ID, stopID);
50 : }
51 :
52 :
53 : double
54 2 : OverheadWire::getStartPos(const std::string& stopID) {
55 2 : return Dom::getDouble(libsumo::VAR_POSITION, stopID);
56 : }
57 :
58 : double
59 2 : OverheadWire::getEndPos(const std::string& stopID) {
60 2 : return Dom::getDouble(libsumo::VAR_LANEPOSITION, stopID);
61 : }
62 :
63 : std::string
64 2 : OverheadWire::getName(const std::string& stopID) {
65 2 : return Dom::getString(libsumo::VAR_NAME, stopID);
66 : }
67 :
68 : int
69 20 : OverheadWire::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 : OverheadWire::getVehicleIDs(const std::string& stopID) {
75 20 : return Dom::getStringVector(libsumo::VAR_STOP_STARTING_VEHICLES_IDS, stopID);
76 : }
77 :
78 :
79 0 : LIBTRACI_SUBSCRIPTION_IMPLEMENTATION(OverheadWire, OVERHEADWIRE)
80 0 : LIBTRACI_PARAMETER_IMPLEMENTATION(OverheadWire, OVERHEADWIRE)
81 :
82 :
83 : }
84 :
85 :
86 : /****************************************************************************/
|