SUMO - Simulation of Urban MObility

SUMOVehicleClass.cpp File Reference

#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

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_GUIWIDTH (2.)
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 std::string DEFAULT_VTYPE_ID ("DEFAULT_VEHTYPE")
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.
std::string getVehicleClassNames (const SUMOVehicleClasses &ids)
 Returns the ids of the given classes, divided using a ' '.
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.
void parseVehicleClasses (const std::string &classNames, SUMOVehicleClasses &container)
 Parses the given definition of allowed/disallowed vehicle classes into the given containers.
void parseVehicleClasses (const std::vector< std::string > &classesS, SUMOVehicleClasses &classes)
 Parses the given vector of class names into their enum-representation.
void parseVehicleClasses (const std::string &allowedS, const std::string &disallowedS, SUMOVehicleClasses &allowed, SUMOVehicleClasses &disallowed)
 Parses the given definition of allowed/disallowed vehicle classes into the given containers.

Variables

StringBijection
< SUMOVehicleClass >::Entry 
sumoVehicleClassStringInitializer []
StringBijection< SUMOVehicleClass > SumoVehicleClassStrings (sumoVehicleClassStringInitializer, SVC_PEDESTRIAN)
StringBijection
< SUMOVehicleShape >::Entry 
sumoVehicleShapeStringInitializer []
StringBijection< SUMOVehicleShape > SumoVehicleShapeStrings (sumoVehicleShapeStringInitializer, SVS_UNKNOWN)

Detailed Description

Author:
Daniel Krajzewicz
Jakob Erdmann
Michael Behrisch
Walter Bamberger
Date:
2006-01-24
Version:
Id:
SUMOVehicleClass.cpp 11671 2012-01-07 20:14:30Z behrisch

Definition in file SUMOVehicleClass.cpp.


Function Documentation

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_GUIWIDTH ( 2.  )
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 std::string DEFAULT_VTYPE_ID ( "DEFAULT_VEHTYPE"  )
int getVehicleClassCompoundID ( const std::string &  name)

Returns the OR'ed id of the compound class given by its name.

Parameters:
[in]nameThe name of the abstract vehicle class
Returns:
The OR'ed combination of base enum values

Definition at line 160 of file SUMOVehicleClass.cpp.

References SumoVehicleClassStrings, and SVC_UNKNOWN.

std::string getVehicleClassCompoundName ( int  id)

Definition at line 119 of file SUMOVehicleClass.cpp.

References SumoVehicleClassStrings.

SUMOVehicleClass getVehicleClassID ( const std::string &  name)

Returns the class id of the abstract class given by its name.

Parameters:
[in]nameThe name of the abstract vehicle class
Returns:
The internal representation of this class. Name must not be a compound name

Definition at line 151 of file SUMOVehicleClass.cpp.

References SumoVehicleClassStrings.

Referenced by NIXMLEdgesHandler::addLane(), NBEdgeCont::applyOptions(), SUMOVehicleParserHelper::parseVehicleClass(), parseVehicleClasses(), and TraCIServerAPI_VehicleType::setVariable().

std::string getVehicleClassNames ( const SUMOVehicleClasses &  ids)

Returns the ids of the given classes, divided using a ' '.

Parameters:
[in]idsThe ids to encode
Returns:
The string representation of these classes

Definition at line 136 of file SUMOVehicleClass.cpp.

References toString().

Referenced by NIXMLEdgesHandler::addEdge(), NWWriter_XML::writeEdgesAndConnections(), and NWWriter_SUMO::writeLane().

SUMOEmissionClass getVehicleEmissionTypeID ( const std::string &  name)

Returns the class id of the emission class given by its name.

Parameters:
[in]nameThe name of the emission class
Returns:
The internal representation of this class

Definition at line 220 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.

Parameters:
[in]idThe id of the emission class
Returns:
The string representation of this class

Definition at line 254 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.

Parameters:
[in]nameThe name of the shape class
Returns:
The internal representation of this class

Definition at line 203 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.

Parameters:
[in]idThe id of the shape class
Returns:
The string representation of this class

Definition at line 213 of file SUMOVehicleClass.cpp.

References SumoVehicleShapeStrings.

Referenced by TraCIServerAPI_VehicleType::getVariable(), and SUMOVTypeParameter::write().

void parseVehicleClasses ( const std::string &  classNames,
SUMOVehicleClasses &  container 
)

Parses the given definition of allowed/disallowed vehicle classes into the given containers.

Parameters:
[in]classNamesSpace separated class names
[out]containerThe set of vehicle classes to fill

Definition at line 173 of file SUMOVehicleClass.cpp.

References getVehicleClassID(), StringTokenizer::hasNext(), and StringTokenizer::next().

Referenced by NIImporter_SUMO::_loadNetwork(), NIXMLEdgesHandler::addEdge(), NLHandler::addLane(), NIXMLTypesHandler::myStartElement(), RONetHandler::parseLane(), parseVehicleClasses(), TraCIServerAPI_Lane::processSet(), and TraCIServerAPI_Edge::processSet().

void parseVehicleClasses ( const std::vector< std::string > &  classesS,
SUMOVehicleClasses &  classes 
)

Parses the given vector of class names into their enum-representation.

Parameters:
[in]classesSThe names vector to parse
[out]classesThe parsed classes

Definition at line 194 of file SUMOVehicleClass.cpp.

References getVehicleClassID().

void parseVehicleClasses ( const std::string &  allowedS,
const std::string &  disallowedS,
SUMOVehicleClasses &  allowed,
SUMOVehicleClasses &  disallowed 
)

Parses the given definition of allowed/disallowed vehicle classes into the given containers.

Parameters:
[in]allowedSDefinition which classes are allowed
[in]disallowedSDefinition which classes are not allowed
[out]allowedThe set of allowed vehicle classes to fill
[out]disallowedThe set of disallowed vehicle classes to fill

Definition at line 184 of file SUMOVehicleClass.cpp.

References parseVehicleClasses().


Variable Documentation

Initial value:
 {
    {"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.

Initial value:
 {
    {"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.

 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Friends Defines