SUMO - Simulation of Urban MObility
|
#include <config.h>
#include <string>
#include <map>
#include "SUMOVehicleClass.h"
#include <utils/common/TplConvert.h>
#include <utils/common/ToString.h>
#include <utils/common/MsgHandler.h>
#include <utils/common/StringTokenizer.h>
Go to the source code of this file.
Functions | |
bool | canParseVehicleClasses (const std::string &classes) |
Checks whether the given string contains only known vehicle classes. | |
const SUMOReal | DEFAULT_VEH_ACCEL (2.6) |
const SUMOVehicleClass | DEFAULT_VEH_CLASS (SVC_UNKNOWN) |
const SUMOReal | DEFAULT_VEH_DECEL (4.5) |
const SumoXMLTag | DEFAULT_VEH_FOLLOW_MODEL (SUMO_TAG_CF_KRAUSS) |
const SUMOReal | DEFAULT_VEH_HEIGHT (1.5) |
const std::string | DEFAULT_VEH_LANE_CHANGE_MODEL ("dkrajzew2008") |
const SUMOReal | DEFAULT_VEH_LENGTH (5.) |
const SUMOReal | DEFAULT_VEH_MAXSPEED (70.0) |
const SUMOReal | DEFAULT_VEH_MINGAP (2.5) |
const SUMOReal | DEFAULT_VEH_PROB (1.) |
const SUMOVehicleShape | DEFAULT_VEH_SHAPE (SVS_UNKNOWN) |
const SUMOReal | DEFAULT_VEH_SIGMA (0.5) |
const SUMOReal | DEFAULT_VEH_SPEEDDEV (0.) |
const SUMOReal | DEFAULT_VEH_SPEEDFACTOR (1.) |
const SUMOReal | DEFAULT_VEH_TAU (1.) |
const SUMOReal | DEFAULT_VEH_WIDTH (2.) |
const std::string | DEFAULT_VTYPE_ID ("DEFAULT_VEHTYPE") |
std::string | getAllowedVehicleClassNames (SVCPermissions permissions) |
Returns the ids of the given classes, divided using a ' '. | |
std::vector< std::string > | getAllowedVehicleClassNamesList (SVCPermissions permissions) |
Returns the ids of the given classes, divided using a ' '. | |
std::pair< std::string, bool > | getPermissionEncoding (SVCPermissions permissions) |
returns the shorter encoding of the given permissions (selects automatically wether to use allow or disallow attribute) | |
int | getVehicleClassCompoundID (const std::string &name) |
Returns the OR'ed id of the compound class given by its name. | |
std::string | getVehicleClassCompoundName (int id) |
SUMOVehicleClass | getVehicleClassID (const std::string &name) |
Returns the class id of the abstract class given by its name. | |
SUMOEmissionClass | getVehicleEmissionTypeID (const std::string &name) |
Returns the class id of the emission class given by its name. | |
std::string | getVehicleEmissionTypeName (SUMOEmissionClass id) |
Returns the class name of the emission class given by its id. | |
SUMOVehicleShape | getVehicleShapeID (const std::string &name) |
Returns the class id of the shape class given by its name. | |
std::string | getVehicleShapeName (SUMOVehicleShape id) |
Returns the class name of the shape class given by its id. | |
SVCPermissions | parseVehicleClasses (const std::string &allowedS) |
Parses the given definition of allowed vehicle classes into the given containers. | |
SVCPermissions | parseVehicleClasses (const std::string &allowedS, const std::string &disallowedS) |
Parses the given definition of allowed/disallowed vehicle classes into the given containers. | |
SVCPermissions | parseVehicleClasses (const std::vector< std::string > &allowedS) |
Encodes the given vector of allowed classs into a bitset. | |
Variables | |
const int | SUMOVehicleClass_MAX = SVC_PEDESTRIAN |
StringBijection < SUMOVehicleClass >::Entry | sumoVehicleClassStringInitializer [] |
StringBijection< SUMOVehicleClass > | SumoVehicleClassStrings (sumoVehicleClassStringInitializer, SVC_PEDESTRIAN) |
StringBijection < SUMOVehicleShape >::Entry | sumoVehicleShapeStringInitializer [] |
StringBijection< SUMOVehicleShape > | SumoVehicleShapeStrings (sumoVehicleShapeStringInitializer, SVS_UNKNOWN) |
const SVCPermissions | SVCFreeForAll = std::numeric_limits<SVCPermissions>::max() |
Definition in file SUMOVehicleClass.cpp.
bool canParseVehicleClasses | ( | const std::string & | classes | ) |
Checks whether the given string contains only known vehicle classes.
Definition at line 223 of file SUMOVehicleClass.cpp.
References StringTokenizer::hasNext(), StringTokenizer::next(), and SumoVehicleClassStrings.
const SUMOReal DEFAULT_VEH_ACCEL | ( | 2. | 6 | ) |
const SUMOVehicleClass DEFAULT_VEH_CLASS | ( | SVC_UNKNOWN | ) |
const SUMOReal DEFAULT_VEH_DECEL | ( | 4. | 5 | ) |
const SUMOReal DEFAULT_VEH_HEIGHT | ( | 1. | 5 | ) |
const std::string DEFAULT_VEH_LANE_CHANGE_MODEL | ( | "dkrajzew2008" | ) |
const SUMOReal DEFAULT_VEH_LENGTH | ( | 5. | ) |
const SUMOReal DEFAULT_VEH_MAXSPEED | ( | 70. | 0 | ) |
const SUMOReal DEFAULT_VEH_MINGAP | ( | 2. | 5 | ) |
const SUMOReal DEFAULT_VEH_PROB | ( | 1. | ) |
const SUMOVehicleShape DEFAULT_VEH_SHAPE | ( | SVS_UNKNOWN | ) |
const SUMOReal DEFAULT_VEH_SIGMA | ( | 0. | 5 | ) |
const SUMOReal DEFAULT_VEH_SPEEDDEV | ( | 0. | ) |
const SUMOReal DEFAULT_VEH_SPEEDFACTOR | ( | 1. | ) |
const SUMOReal DEFAULT_VEH_TAU | ( | 1. | ) |
const SUMOReal DEFAULT_VEH_WIDTH | ( | 2. | ) |
const std::string DEFAULT_VTYPE_ID | ( | "DEFAULT_VEHTYPE" | ) |
std::string getAllowedVehicleClassNames | ( | SVCPermissions | permissions | ) |
Returns the ids of the given classes, divided using a ' '.
[in] | the | permissions to encode |
Definition at line 138 of file SUMOVehicleClass.cpp.
References getAllowedVehicleClassNamesList().
Referenced by getPermissionEncoding(), NWWriter_SUMO::writePermissions(), and NWWriter_SUMO::writePreferences().
std::vector<std::string> getAllowedVehicleClassNamesList | ( | SVCPermissions | permissions | ) |
Returns the ids of the given classes, divided using a ' '.
[in] | the | permissions to encode |
Definition at line 154 of file SUMOVehicleClass.cpp.
References SumoVehicleClassStrings, and SVC_UNKNOWN.
Referenced by getAllowedVehicleClassNames(), and TraCIServerAPI_Lane::processGet().
std::pair<std::string, bool> getPermissionEncoding | ( | SVCPermissions | permissions | ) |
returns the shorter encoding of the given permissions (selects automatically wether to use allow or disallow attribute)
Definition at line 169 of file SUMOVehicleClass.cpp.
References getAllowedVehicleClassNames(), SUMOVehicleClass_MAX, SumoVehicleClassStrings, and SVCFreeForAll.
Referenced by NWWriter_SUMO::writePermissions().
int getVehicleClassCompoundID | ( | const std::string & | name | ) |
Returns the OR'ed id of the compound class given by its name.
[in] | name | The name of the abstract vehicle class |
Definition at line 199 of file SUMOVehicleClass.cpp.
References SumoVehicleClassStrings, and SVC_UNKNOWN.
std::string getVehicleClassCompoundName | ( | int | id | ) |
Definition at line 121 of file SUMOVehicleClass.cpp.
References SumoVehicleClassStrings.
SUMOVehicleClass getVehicleClassID | ( | const std::string & | name | ) |
Returns the class id of the abstract class given by its name.
[in] | name | The name of the abstract vehicle class |
Definition at line 190 of file SUMOVehicleClass.cpp.
References SumoVehicleClassStrings.
Referenced by NBEdgeCont::applyOptions(), SUMOVehicleParserHelper::parseVehicleClass(), parseVehicleClasses(), and TraCIServerAPI_VehicleType::setVariable().
SUMOEmissionClass getVehicleEmissionTypeID | ( | const std::string & | name | ) |
Returns the class id of the emission class given by its name.
[in] | name | The name of the emission class |
Definition at line 276 of file SUMOVehicleClass.cpp.
References TplConvert< E >::_2int(), SVE_HDV_12_1, SVE_HDV_3_1, SVE_HDV_6_1, SVE_HDV_A0_12_1, SVE_HDV_A0_3_1, SVE_HDV_A0_6_1, SVE_P_LDV_14_1, SVE_P_LDV_7_1, SVE_P_LDV_A0_14_1, SVE_P_LDV_A0_7_1, SVE_UNKNOWN, and SVE_ZERO_EMISSIONS.
Referenced by SUMOVehicleParserHelper::parseEmissionClass(), and TraCIServerAPI_VehicleType::setVariable().
std::string getVehicleEmissionTypeName | ( | SUMOEmissionClass | id | ) |
Returns the class name of the emission class given by its id.
[in] | id | The id of the emission class |
Definition at line 310 of file SUMOVehicleClass.cpp.
References SVE_ZERO_EMISSIONS, and toString().
Referenced by TraCIServerAPI_VehicleType::getVariable(), and SUMOVTypeParameter::write().
SUMOVehicleShape getVehicleShapeID | ( | const std::string & | name | ) |
Returns the class id of the shape class given by its name.
[in] | name | The name of the shape class |
Definition at line 259 of file SUMOVehicleClass.cpp.
References SumoVehicleShapeStrings.
Referenced by TraCIServerAPI_VehicleType::setVariable().
std::string getVehicleShapeName | ( | SUMOVehicleShape | id | ) |
Returns the class name of the shape class given by its id.
[in] | id | The id of the shape class |
Definition at line 269 of file SUMOVehicleClass.cpp.
References SumoVehicleShapeStrings.
Referenced by TraCIServerAPI_VehicleType::getVariable(), and SUMOVTypeParameter::write().
SVCPermissions parseVehicleClasses | ( | const std::string & | allowedS | ) |
Parses the given definition of allowed vehicle classes into the given containers.
[in] | classNames | Space separated class names |
[out] | container | The set of vehicle classes to fill throws ProcessErrorr if parsing fails |
Definition at line 212 of file SUMOVehicleClass.cpp.
References getVehicleClassID(), StringTokenizer::hasNext(), and StringTokenizer::next().
Referenced by NIImporter_SUMO::_loadNetwork(), NIXMLEdgesHandler::addEdge(), NLHandler::addLane(), NIXMLEdgesHandler::addLane(), NIXMLTypesHandler::myStartElement(), RONetHandler::parseLane(), parseVehicleClasses(), TraCIServerAPI_Edge::processSet(), and TraCIServerAPI_Lane::processSet().
SVCPermissions parseVehicleClasses | ( | const std::string & | allowedS, |
const std::string & | disallowedS | ||
) |
Parses the given definition of allowed/disallowed vehicle classes into the given containers.
[in] | allowedS | Definition which classes are allowed |
[in] | disallowedS | Definition which classes are not allowedEncodes the given vector of allowed and disallowed classs into a bitset |
[in] | allowedS | Definition which classes are allowed |
[in] | disallowedS | Definition which classes are not allowed |
Definition at line 234 of file SUMOVehicleClass.cpp.
References parseVehicleClasses(), SVCFreeForAll, and WRITE_WARNING.
SVCPermissions parseVehicleClasses | ( | const std::vector< std::string > & | allowedS | ) |
Encodes the given vector of allowed classs into a bitset.
[in] | classesS | The names vector to parse |
Definition at line 249 of file SUMOVehicleClass.cpp.
References getVehicleClassID().
const int SUMOVehicleClass_MAX = SVC_PEDESTRIAN |
Definition at line 112 of file SUMOVehicleClass.cpp.
Referenced by getPermissionEncoding().
{ {"unknown", SVC_UNKNOWN}, {"private", SVC_PRIVATE}, {"public_transport", SVC_PUBLIC_TRANSPORT}, {"public_emergency", SVC_PUBLIC_EMERGENCY}, {"public_authority", SVC_PUBLIC_AUTHORITY}, {"public_army", SVC_PUBLIC_ARMY}, {"vip", SVC_VIP}, {"ignoring", SVC_IGNORING}, {"passenger", SVC_PASSENGER}, {"hov", SVC_HOV}, {"taxi", SVC_TAXI}, {"bus", SVC_BUS}, {"delivery", SVC_DELIVERY}, {"transport", SVC_TRANSPORT}, {"lightrail", SVC_LIGHTRAIL}, {"cityrail", SVC_CITYRAIL}, {"rail_slow", SVC_RAIL_SLOW}, {"rail_fast", SVC_RAIL_FAST}, {"motorcycle", SVC_MOTORCYCLE}, {"bicycle", SVC_BICYCLE}, {"pedestrian", SVC_PEDESTRIAN} }
Definition at line 51 of file SUMOVehicleClass.cpp.
{ {"pedestrian", SVS_PEDESTRIAN}, {"bicycle", SVS_BICYCLE}, {"motorcycle", SVS_MOTORCYCLE}, {"passenger", SVS_PASSENGER}, {"passenger/sedan", SVS_PASSENGER_SEDAN}, {"passenger/hatchback", SVS_PASSENGER_HATCHBACK}, {"passenger/wagon", SVS_PASSENGER_WAGON}, {"passenger/van", SVS_PASSENGER_VAN}, {"delivery", SVS_DELIVERY}, {"transport", SVS_TRANSPORT}, {"transport/semitrailer", SVS_TRANSPORT_SEMITRAILER}, {"transport/trailer", SVS_TRANSPORT_1TRAILER}, {"bus", SVS_BUS}, {"bus/city", SVS_BUS_CITY}, {"bus/flexible", SVS_BUS_CITY_FLEXIBLE}, {"bus/overland", SVS_BUS_OVERLAND}, {"bus/trolley", SVS_BUS_TROLLEY}, {"rail", SVS_RAIL}, {"rail/light", SVS_RAIL_LIGHT}, {"rail/city", SVS_RAIL_CITY}, {"rail/slow", SVS_RAIL_SLOW}, {"rail/fast", SVS_RAIL_FAST}, {"rail/cargo", SVS_RAIL_CARGO}, {"evehicle", SVS_E_VEHICLE}, {"ant", SVS_ANT}, {"", SVS_UNKNOWN} }
Definition at line 79 of file SUMOVehicleClass.cpp.
StringBijection<SUMOVehicleShape> SumoVehicleShapeStrings(sumoVehicleShapeStringInitializer, SVS_UNKNOWN) |
Referenced by getVehicleShapeID(), getVehicleShapeName(), and SUMOVehicleParserHelper::parseGuiShape().
const SVCPermissions SVCFreeForAll = std::numeric_limits<SVCPermissions>::max() |
Definition at line 113 of file SUMOVehicleClass.cpp.
Referenced by NBEdge::dismissVehicleClassInformation(), getPermissionEncoding(), NBEdge::hasRestrictions(), NBTypeCont::insert(), RONetHandler::parseLane(), parseVehicleClasses(), TraCIServerAPI_Lane::processGet(), MSEdge::rebuildAllowedLanes(), NWWriter_SUMO::writePermissions(), and NWWriter_SUMO::writePreferences().