LCOV - code coverage report
Current view: top level - src/libsumo - VehicleType.h (source / functions) Coverage Total Hit
Test: lcov.info Lines: 0.0 % 1 0
Test Date: 2025-11-13 15:38:19 Functions: - 0 0

            Line data    Source code
       1              : /****************************************************************************/
       2              : // Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.dev/sumo
       3              : // Copyright (C) 2017-2025 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    VehicleType.h
      15              : /// @author  Gregor Laemmel
      16              : /// @date    04.04.2017
      17              : ///
      18              : // C++ TraCI client API implementation
      19              : /****************************************************************************/
      20              : 
      21              : #pragma once
      22              : #include <string>
      23              : #include <libsumo/TraCIDefs.h>
      24              : #include <libsumo/TraCIConstants.h>
      25              : 
      26              : 
      27              : #define LIBSUMO_VEHICLE_TYPE_GETTER \
      28              : static double getLength(const std::string& typeID); \
      29              : static double getMaxSpeed(const std::string& typeID); \
      30              : static std::string getVehicleClass(const std::string& typeID); \
      31              : static double getSpeedFactor(const std::string& typeID); \
      32              : static double getAccel(const std::string& typeID); \
      33              : static double getDecel(const std::string& typeID); \
      34              : static double getEmergencyDecel(const std::string& typeID); \
      35              : static double getApparentDecel(const std::string& typeID); \
      36              : static double getImperfection(const std::string& typeID); \
      37              : static double getTau(const std::string& typeID); \
      38              : static std::string getEmissionClass(const std::string& typeID); \
      39              : static std::string getShapeClass(const std::string& typeID); \
      40              : static double getMinGap(const std::string& typeID); \
      41              : static double getWidth(const std::string& typeID); \
      42              : static double getHeight(const std::string& typeID); \
      43              : static double getMass(const std::string& typeID); \
      44              : static libsumo::TraCIColor getColor(const std::string& typeID); \
      45              : static double getMinGapLat(const std::string& typeID); \
      46              : static double getMaxSpeedLat(const std::string& typeID); \
      47              : static std::string getLateralAlignment(const std::string& typeID); \
      48              : static int getPersonCapacity(const std::string& typeID); \
      49              : static double getActionStepLength(const std::string& typeID); \
      50              : \
      51              : static double getSpeedDeviation(const std::string& typeID); \
      52              : static double getBoardingDuration(const std::string& typeID); \
      53              : static double getImpatience(const std::string& typeID); \
      54              : 
      55              : 
      56              : #define LIBSUMO_VEHICLE_TYPE_SETTER \
      57              : static void setLength(const std::string& typeID, double length); \
      58              : static void setMaxSpeed(const std::string& typeID, double speed); \
      59              : static void setVehicleClass(const std::string& typeID, const std::string& clazz); \
      60              : static void setSpeedFactor(const std::string& typeID, double factor); \
      61              : static void setAccel(const std::string& typeID, double accel); \
      62              : static void setDecel(const std::string& typeID, double decel); \
      63              : static void setEmergencyDecel(const std::string& typeID, double decel); \
      64              : static void setApparentDecel(const std::string& typeID, double decel); \
      65              : static void setImperfection(const std::string& typeID, double imperfection); \
      66              : static void setTau(const std::string& typeID, double tau); \
      67              : static void setEmissionClass(const std::string& typeID, const std::string& clazz); \
      68              : static void setShapeClass(const std::string& typeID, const std::string& shapeClass); \
      69              : static void setWidth(const std::string& typeID, double width); \
      70              : static void setHeight(const std::string& typeID, double height); \
      71              : static void setMass(const std::string& typeID, double mass); \
      72              : static void setColor(const std::string& typeID, const libsumo::TraCIColor& color); \
      73              : static void setMinGap(const std::string& typeID, double minGap); \
      74              : static void setMinGapLat(const std::string& typeID, double minGapLat); \
      75              : static void setMaxSpeedLat(const std::string& typeID, double speed); \
      76              : static void setLateralAlignment(const std::string& typeID, const std::string& latAlignment); \
      77              : static void setActionStepLength(const std::string& typeID, double actionStepLength, bool resetActionOffset=true); \
      78              : static void setBoardingDuration(const std::string& typeID, double boardingDuration); \
      79              : static void setImpatience(const std::string& typeID, double impatience); \
      80              : 
      81              : // ===========================================================================
      82              : // class declarations
      83              : // ===========================================================================
      84              : #ifndef LIBTRACI
      85              : class MSVehicleType;
      86              : #endif
      87              : 
      88              : 
      89              : // ===========================================================================
      90              : // class definitions
      91              : // ===========================================================================
      92              : /**
      93              : * @class VehicleType
      94              : * @brief C++ TraCI client API implementation
      95              : */
      96              : namespace LIBSUMO_NAMESPACE {
      97              : class VehicleType {
      98              : public:
      99              :     LIBSUMO_VEHICLE_TYPE_GETTER
     100              :     LIBSUMO_ID_PARAMETER_API
     101              : 
     102              :     LIBSUMO_VEHICLE_TYPE_SETTER
     103              :     static void copy(const std::string& origTypeID, const std::string& newTypeID);
     104              : 
     105              :     static void setSpeedDeviation(const std::string& typeID, double deviation);
     106              :     static double getScale(const std::string& typeID);
     107              :     static void setScale(const std::string& typeID, double value);
     108              : 
     109            0 :     LIBSUMO_SUBSCRIPTION_API
     110              : 
     111              : #ifndef LIBTRACI
     112              : #ifndef SWIG
     113              :     static MSVehicleType* getVType(std::string id);
     114              : 
     115              :     static std::shared_ptr<VariableWrapper> makeWrapper();
     116              : 
     117              :     static bool handleVariable(const std::string& objID, const int variable, VariableWrapper* wrapper, tcpip::Storage* paramData);
     118              : 
     119              :     static bool handleVariableWithID(const std::string& objID, const std::string& typeID, const int variable, VariableWrapper* wrapper, tcpip::Storage* paramData);
     120              : 
     121              : private:
     122              :     static SubscriptionResults mySubscriptionResults;
     123              :     static ContextSubscriptionResults myContextSubscriptionResults;
     124              : 
     125              : #endif
     126              : #endif
     127              : 
     128              : private:
     129              :     /// @brief invalidated standard constructor
     130              :     VehicleType() = delete;
     131              : };
     132              : 
     133              : 
     134              : }
        

Generated by: LCOV version 2.0-1