Eclipse SUMO - Simulation of Urban MObility
Loading...
Searching...
No Matches
SUMOVehicleClass.cpp File Reference
#include <config.h>
#include <string>
#include <map>
#include "SUMOVehicleClass.h"
#include <utils/common/StringUtils.h>
#include <utils/common/ToString.h>
#include <utils/common/MsgHandler.h>
#include <utils/common/StringTokenizer.h>
#include <utils/iodevices/OutputDevice.h>
#include <utils/xml/SUMOSAXAttributes.h>
Include dependency graph for SUMOVehicleClass.cpp:

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.
 
bool canParseVehicleShape (const std::string &shape)
 Checks whether the given string contains only known vehicle shape.
 
const double DEFAULT_BICYCLE_SPEED (20./3.6)
 
const std::string DEFAULT_BIKETYPE_ID ("DEFAULT_BIKETYPE")
 
const double DEFAULT_CONTAINER_TRANSHIP_SPEED (5./3.6)
 
const std::string DEFAULT_CONTAINERTYPE_ID ("DEFAULT_CONTAINERTYPE")
 
const double DEFAULT_PEDESTRIAN_SPEED (5./3.6)
 
const std::string DEFAULT_PEDTYPE_ID ("DEFAULT_PEDTYPE")
 
const std::string DEFAULT_RAILTYPE_ID ("DEFAULT_RAILTYPE")
 
const std::string DEFAULT_TAXITYPE_ID ("DEFAULT_TAXITYPE")
 
const double DEFAULT_VEH_HEIGHT (1.5)
 
const double DEFAULT_VEH_MASS (1500.)
 
const double DEFAULT_VEH_PROB (1.)
 
const double DEFAULT_VEH_SHUT_OFF_STOP (300.)
 
const double DEFAULT_VEH_WIDTH (1.8)
 
const std::string DEFAULT_VTYPE_ID ("DEFAULT_VEHTYPE")
 
const std::set< std::string > DEFAULT_VTYPES ({DEFAULT_VTYPE_ID, DEFAULT_PEDTYPE_ID, DEFAULT_BIKETYPE_ID, DEFAULT_CONTAINERTYPE_ID, DEFAULT_TAXITYPE_ID, DEFAULT_RAILTYPE_ID})
 
SVCPermissions extraDisallowed (SVCPermissions disallowed, const MMVersion &networkVersion)
 Interprets disallowed vehicles depending on network version.
 
double getDefaultVehicleLength (const SUMOVehicleClass vc)
 Returns the default vehicle length This put into a function so it can be used by NBVehicle.
 
SVCPermissions getVehicleClassCompoundID (const std::string &name)
 Returns the OR'ed id of the compound class given by its name.
 
SUMOVehicleClass getVehicleClassID (const std::string &name)
 Returns the class id of the abstract class given by its name.
 
const std::string & getVehicleClassNames (SVCPermissions permissions, bool expand)
 Returns the ids of the given classes, divided using a ' '.
 
const std::vector< std::string > & getVehicleClassNamesList (SVCPermissions permissions)
 Returns the ids of the given classes, divided using a ' '.
 
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 invertPermissions (SVCPermissions permissions)
 negate the given permissions and ensure that only relevant bits are set
 
bool isAirway (SVCPermissions permissions)
 Returns whether an edge with the given permissions is an airway edge.
 
bool isBikepath (SVCPermissions permissions)
 Returns whether an edge with the given permissions is a bicycle edge.
 
bool isForbidden (SVCPermissions permissions)
 Returns whether an edge with the given permissions is a forbidden edge.
 
bool isForVulnerableModes (SVCPermissions permissions)
 Returns whether an edge with the given permissions allows only vulnerable road users.
 
bool isRailway (SVCPermissions permissions)
 Returns whether an edge with the given permissions is a railway edge.
 
bool isSidewalk (SVCPermissions permissions)
 Returns whether an edge with the given permissions is a sidewalk.
 
bool isTram (SVCPermissions permissions)
 Returns whether an edge with the given permissions is a tram edge.
 
bool isWaterway (SVCPermissions permissions)
 Returns whether an edge with the given permissions is a waterway edge.
 
bool noVehicles (SVCPermissions permissions)
 Returns whether an edge with the given permissions forbids vehicles.
 
SVCPermissions parseVehicleClasses (const std::string &allowedS)
 Parses the given definition of allowed vehicle classes into the given containers Deprecated classes go into a separate container.
 
SVCPermissions parseVehicleClasses (const std::string &allowedS, const std::string &disallowedS, const MMVersion &networkVersion)
 Encodes the given vector of allowed and disallowed classes into a bitset.
 
SVCPermissions parseVehicleClasses (const std::vector< std::string > &allowedS)
 Encodes the given vector of allowed class into a bitset Unlike the methods which parse a string it gives immediately a warning output on deprecated vehicle classes.
 
void writePermissions (OutputDevice &into, SVCPermissions permissions)
 writes allowed disallowed attributes if needed;
 
void writePreferences (OutputDevice &into, SVCPermissions preferred)
 writes allowed disallowed attributes if needed;
 

Variables

std::set< std::string > deprecatedVehicleClassesSeen
 
const SUMOEmissionClass EMISSION_CLASS_UNSPECIFIED = -1
 emission class not specified
 
static std::map< SVCPermissions, std::string > getVehicleClassNamesCached
 
const int NUM_VCLASSES = SumoVehicleClassStrings.size() - 8
 
static std::map< std::string, SVCPermissionsparseVehicleClassesCached
 
const SUMOVehicleClass SUMOVehicleClass_MAX = SVC_CUSTOM2
 
static StringBijection< SUMOVehicleClass >::Entry sumoVehicleClassStringInitializer []
 
StringBijection< SUMOVehicleClassSumoVehicleClassStrings (sumoVehicleClassStringInitializer, SVC_CUSTOM2, false)
 
static StringBijection< SUMOVehicleShape >::Entry sumoVehicleShapeStringInitializer []
 
StringBijection< SUMOVehicleShapeSumoVehicleShapeStrings (sumoVehicleShapeStringInitializer, SUMOVehicleShape::UNKNOWN, false)
 
const SVCPermissions SVC_UNSPECIFIED = -1
 permissions not specified
 
const SVCPermissions SVCAll = 2 * (long long int)SUMOVehicleClass_MAX - 1
 all VClasses are allowed
 
static std::string VehicleClassNameAll = "all"
 
static std::map< SVCPermissions, std::vector< std::string > > vehicleClassNamesListCached
 

Detailed Description

Author
Daniel Krajzewicz
Jakob Erdmann
Michael Behrisch
Walter Bamberger
Laura Bieker-Walz
Date
2006-01-24

Definition in file SUMOVehicleClass.cpp.

Function Documentation

◆ canParseVehicleClasses()

bool canParseVehicleClasses ( const std::string &  classes)

Checks whether the given string contains only known vehicle classes.

Definition at line 379 of file SUMOVehicleClass.cpp.

References StringTokenizer::hasNext(), StringTokenizer::next(), parseVehicleClassesCached, SumoVehicleClassStrings, and VehicleClassNameAll.

Referenced by GNEClosingLaneReroute::isValid(), GNEClosingReroute::isValid(), GNEVType::isValid(), GNEConnection::isValid(), GNEEdge::isValid(), GNEEdgeType::isValid(), GNELane::isValid(), and GNELaneType::isValid().

Here is the caller graph for this function:

◆ canParseVehicleShape()

bool canParseVehicleShape ( const std::string &  shape)

Checks whether the given string contains only known vehicle shape.

Definition at line 494 of file SUMOVehicleClass.cpp.

References SumoVehicleShapeStrings.

Referenced by GNEVType::isValid().

Here is the caller graph for this function:

◆ DEFAULT_BICYCLE_SPEED()

const double DEFAULT_BICYCLE_SPEED ( 20./3.  6)

◆ DEFAULT_BIKETYPE_ID()

const std::string DEFAULT_BIKETYPE_ID ( "DEFAULT_BIKETYPE"  )

◆ DEFAULT_CONTAINER_TRANSHIP_SPEED()

const double DEFAULT_CONTAINER_TRANSHIP_SPEED ( 5./3.  6)

◆ DEFAULT_CONTAINERTYPE_ID()

const std::string DEFAULT_CONTAINERTYPE_ID ( "DEFAULT_CONTAINERTYPE"  )

◆ DEFAULT_PEDESTRIAN_SPEED()

const double DEFAULT_PEDESTRIAN_SPEED ( 5./3.  6)

◆ DEFAULT_PEDTYPE_ID()

const std::string DEFAULT_PEDTYPE_ID ( "DEFAULT_PEDTYPE"  )

◆ DEFAULT_RAILTYPE_ID()

const std::string DEFAULT_RAILTYPE_ID ( "DEFAULT_RAILTYPE"  )

◆ DEFAULT_TAXITYPE_ID()

const std::string DEFAULT_TAXITYPE_ID ( "DEFAULT_TAXITYPE"  )

◆ DEFAULT_VEH_HEIGHT()

const double DEFAULT_VEH_HEIGHT ( 1.  5)

◆ DEFAULT_VEH_MASS()

const double DEFAULT_VEH_MASS ( 1500.  )

◆ DEFAULT_VEH_PROB()

const double DEFAULT_VEH_PROB ( 1.  )

◆ DEFAULT_VEH_SHUT_OFF_STOP()

const double DEFAULT_VEH_SHUT_OFF_STOP ( 300.  )

◆ DEFAULT_VEH_WIDTH()

const double DEFAULT_VEH_WIDTH ( 1.  8)

◆ DEFAULT_VTYPE_ID()

const std::string DEFAULT_VTYPE_ID ( "DEFAULT_VEHTYPE"  )

◆ DEFAULT_VTYPES()

◆ extraDisallowed()

SVCPermissions extraDisallowed ( SVCPermissions  disallowed,
const MMVersion networkVersion 
)

Interprets disallowed vehicles depending on network version.

Parameters
[in]disallowedThe values found in the disallow attribute
[in]networkVersionThe version of the network from which the disallow value was loaded
Returns
The (possibly) extended set of disallowed classes

Definition at line 412 of file SUMOVehicleClass.cpp.

References SVC_CABLE_CAR, SVC_RAIL_FAST, SVC_RAIL_URBAN, and SVC_SUBWAY.

Referenced by NIImporter_OpenStreetMap::applyLaneUse(), and parseVehicleClasses().

Here is the caller graph for this function:

◆ getDefaultVehicleLength()

double getDefaultVehicleLength ( const SUMOVehicleClass  vc = SVC_IGNORING)

Returns the default vehicle length This put into a function so it can be used by NBVehicle.

Parameters
[in]vcthe vehicle class
Returns
the default length in m

Definition at line 553 of file SUMOVehicleClass.cpp.

References SVC_AIRCRAFT, SVC_BICYCLE, SVC_BUS, SVC_COACH, SVC_CONTAINER, SVC_DELIVERY, SVC_DRONE, SVC_EMERGENCY, SVC_MOPED, SVC_MOTORCYCLE, SVC_PEDESTRIAN, SVC_RAIL, SVC_RAIL_ELECTRIC, SVC_RAIL_FAST, SVC_RAIL_URBAN, SVC_SCOOTER, SVC_SHIP, SVC_SUBWAY, SVC_TRAILER, SVC_TRAM, SVC_TRUCK, and SVC_WHEELCHAIR.

◆ getVehicleClassCompoundID()

SVCPermissions 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 333 of file SUMOVehicleClass.cpp.

References SumoVehicleClassStrings, and SVC_IGNORING.

◆ getVehicleClassID()

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 324 of file SUMOVehicleClass.cpp.

References SumoVehicleClassStrings.

Referenced by NIXMLPTHandler::addPTLine(), NIXMLTypesHandler::myStartElement(), NLHandler::myStartElement(), RONetHandler::myStartElement(), SUMOVehicleParserHelper::parseVehicleClass(), parseVehicleClasses(), parseVehicleClasses(), RODFNet::RODFNet(), GNEVType::setAttribute(), and GNEAttributesEditorRow::showValueComboBox().

Here is the caller graph for this function:

◆ getVehicleClassNames()

const std::string & getVehicleClassNames ( SVCPermissions  permissions,
bool  expand = false 
)

◆ getVehicleClassNamesList()

const std::vector< std::string > & getVehicleClassNamesList ( SVCPermissions  permissions)

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

Parameters
[in]thepermissions to encode
Returns
The string representation of these classes as a vector

Definition at line 305 of file SUMOVehicleClass.cpp.

References SumoVehicleClassStrings, SVC_IGNORING, and vehicleClassNamesListCached.

Referenced by LIBSUMO_NAMESPACE::Lane::getAllowed(), LIBSUMO_NAMESPACE::Lane::getChangePermissions(), LIBSUMO_NAMESPACE::Lane::getDisallowed(), and getVehicleClassNames().

Here is the caller graph for this function:

◆ getVehicleShapeID()

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 484 of file SUMOVehicleClass.cpp.

References SumoVehicleShapeStrings.

Referenced by GNEVehicle::drawGL(), GNEVType::setAttribute(), and GNEVehicleTypeDialog::VTypeAttributes::VShapeRow::setVShapeLabelImage().

Here is the caller graph for this function:

◆ getVehicleShapeName()

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 500 of file SUMOVehicleClass.cpp.

References SumoVehicleShapeStrings.

Referenced by GNEVType::getAttribute(), GUIVehicle::getTypeParameterWindow(), GUIMEVehicle::getTypeParameterWindow(), GNEVType::overwriteVType(), and SUMOVTypeParameter::write().

Here is the caller graph for this function:

◆ invertPermissions()

◆ isAirway()

bool isAirway ( SVCPermissions  permissions)

Returns whether an edge with the given permissions is an airway edge.

Parameters
[in]permissionsThe permissions of the edge
Returns
Whether the edge is an airway edge

Definition at line 524 of file SUMOVehicleClass.cpp.

References SVC_AIRCRAFT, and SVC_DRONE.

Referenced by GUILane::drawGL(), and GUIJunctionWrapper::GUIJunctionWrapper().

Here is the caller graph for this function:

◆ isBikepath()

bool isBikepath ( SVCPermissions  permissions)

Returns whether an edge with the given permissions is a bicycle edge.

Parameters
[in]permissionsThe permissions of the edge
Returns
Whether the edge is a bicycle edge

Definition at line 513 of file SUMOVehicleClass.cpp.

References SVC_BICYCLE, and SVC_PASSENGER.

Referenced by NBEdge::getInternalLaneWidth().

Here is the caller graph for this function:

◆ isForbidden()

bool isForbidden ( SVCPermissions  permissions)

Returns whether an edge with the given permissions is a forbidden edge.

Parameters
[in]permissionsThe permissions of the edge
Returns
Whether the edge is forbidden

Definition at line 529 of file SUMOVehicleClass.cpp.

References SVCAll.

Referenced by NBOwnTLDef::allowUnrelated(), NBNode::ApproachingDivider::ApproachingDivider(), NBEdgeCont::checkGeometries(), NBEdge::divideOnEdges(), noVehicles(), NBOwnTLDef::patchStateForCrossings(), and NBEdge::recheckLanes().

Here is the caller graph for this function:

◆ isForVulnerableModes()

bool isForVulnerableModes ( SVCPermissions  permissions)

Returns whether an edge with the given permissions allows only vulnerable road users.

Parameters
[in]permissionsThe permissions of the edge
Returns
Whether the edge allows only a (non-empty) subset of SVC_PEDESTRIAN, SVC_WHEELCHAIR, SVC_BICYCLE, SVC_SCOOTER

Definition at line 541 of file SUMOVehicleClass.cpp.

References SVC_VULNERABLE.

Referenced by NBNodeCont::pruneClusterFringe().

Here is the caller graph for this function:

◆ isRailway()

bool isRailway ( SVCPermissions  permissions)

Returns whether an edge with the given permissions is a railway edge.

Parameters
[in]permissionsThe permissions of the edge
Returns
Whether the edge is a railway edge

Definition at line 505 of file SUMOVehicleClass.cpp.

References SVC_PASSENGER, and SVC_RAIL_CLASSES.

Referenced by NIXMLPTHandler::addPTStop(), MSDevice_Tripinfo::addRideTransportData(), NBEdge::appendTurnaround(), NBRequest::bidiConflict(), NBEdge::buildInnerEdges(), NGEdge::buildNBEdge(), MSDriveWay::buildRoute(), MSDriveWay::checkCrossingFlanks(), NBEdgeCont::checkGeometries(), MSVehicle::cleanupFurtherLanes(), NBTrafficLightDefinition::collectAllLinks(), NBEdge::computeEdge2Edges(), MSVehicle::computeFurtherLanes(), NBNodeShapeComputer::computeNodeShapeDefault(), NBOwnTLDef::computeUnblockedWeightedStreamNumber(), NBPTLineCont::constructRoute(), GUILane::drawAsRailway(), MSVehicle::enterLaneAtLaneChange(), MSVehicle::enterLaneAtMove(), NIImporter_OpenStreetMap::extendRailwayDistances(), GNELane::getColorValue(), GUILane::getColorValue(), NWWriter_OpenDrive::getLaneType(), NBNode::getLinkState(), MSLane::getMaximumBrakeDist(), GUIVehicle::getParameterWindow(), RouterProvider< E, L, N, V >::getVehicleRouter(), NBRailwaySignalGuesser::guessByStops(), GUIJunctionWrapper::GUIJunctionWrapper(), MSLane::incorporateVehicle(), NIImporter_OpenStreetMap::insertEdge(), NIImporter_OpenStreetMap::interpretTransportType(), NBEdge::isBidiRail(), NBNode::isExplicitRailNoBidi(), MSBaseVehicle::isRail(), NBEdge::isRailDeadEnd(), MSVehicle::leaveLane(), NBNodeCont::pruneClusterFringe(), NBNodeCont::removeComponents(), NBEdge::removeInvalidConnections(), RORouteDef::repairCurrentRoute(), NBEdge::shiftPositionAtNode(), GNELane::DrawingConstants::update(), MSVehicle::updateBestLanes(), and MSVehicle::updateFurtherLanes().

Here is the caller graph for this function:

◆ isSidewalk()

bool isSidewalk ( SVCPermissions  permissions)

Returns whether an edge with the given permissions is a sidewalk.

Parameters
[in]permissionsThe permissions of the edge
Returns
Whether the edge is a sidewalk

Definition at line 535 of file SUMOVehicleClass.cpp.

References SVC_PEDESTRIAN, and SVCAll.

Referenced by NBEdgeCont::checkGeometries(), and noVehicles().

Here is the caller graph for this function:

◆ isTram()

bool isTram ( SVCPermissions  permissions)

Returns whether an edge with the given permissions is a tram edge.

Parameters
[in]permissionsThe permissions of the edge
Returns
Whether the edge is a tram edge

Definition at line 509 of file SUMOVehicleClass.cpp.

References SVC_PASSENGER, SVC_RAIL_CLASSES, and SVC_TRAM.

Referenced by NBEdgeCont::joinTramEdges().

Here is the caller graph for this function:

◆ isWaterway()

bool isWaterway ( SVCPermissions  permissions)

Returns whether an edge with the given permissions is a waterway edge.

Parameters
[in]permissionsThe permissions of the edge
Returns
Whether the edge is a waterway edge

Definition at line 519 of file SUMOVehicleClass.cpp.

References SVC_SHIP.

Referenced by NBNodeTypeComputer::computeNodeTypes(), GUILane::drawAsWaterway(), GNELane::drawAsWaterway(), GUILane::drawGL(), GUIJunctionWrapper::GUIJunctionWrapper(), and NBNodeCont::removeComponents().

Here is the caller graph for this function:

◆ noVehicles()

bool noVehicles ( SVCPermissions  permissions)

Returns whether an edge with the given permissions forbids vehicles.

Parameters
[in]permissionsThe permissions of the edge
Returns
Whether the edge is forbidden for vehicles

Definition at line 547 of file SUMOVehicleClass.cpp.

References isForbidden(), and isSidewalk().

Referenced by MSActuatedTrafficLightLogic::init(), MSDelayBasedTrafficLightLogic::init(), and NEMALogic::init().

Here is the caller graph for this function:

◆ parseVehicleClasses() [1/3]

SVCPermissions parseVehicleClasses ( const std::string &  allowedS)

Parses the given definition of allowed vehicle classes into the given containers Deprecated classes go into a separate container.

Parameters
[in]classNamesSpace separated class names
[out]containerThe set of vehicle classes to fill throws ProcessError if parsing fails

Definition at line 346 of file SUMOVehicleClass.cpp.

References deprecatedVehicleClassesSeen, getVehicleClassID(), gIgnoreUnknownVClass, StringTokenizer::hasNext(), StringTokenizer::next(), parseVehicleClassesCached, SumoVehicleClassStrings, SVCAll, TL, VehicleClassNameAll, WRITE_ERRORF, and WRITE_WARNINGF.

Referenced by NIImporter_SUMO::_loadNetwork(), NIImporter_SUMO::addConnection(), NIXMLEdgesHandler::addEdge(), NIXMLEdgesHandler::addLane(), NLHandler::addLane(), TraCIServer::addSubscriptionFilter(), LIBSUMO_NAMESPACE::Vehicle::addSubscriptionFilterVClass(), NBEdgeCont::applyOptions(), NBNetBuilder::applyOptions(), NLEdgeControlBuilder::build(), MSVehicleType::check(), NBNetBuilder::compute(), MSTriggeredRerouter::myStartElement(), NIXMLTypesHandler::myStartElement(), RONetHandler::parseConnection(), RONetHandler::parseLane(), NIXMLConnectionsHandler::parseLaneBound(), AdditionalHandler::parseSumoBaseObject(), parseVehicleClasses(), LIBSUMO_NAMESPACE::Edge::setAllowed(), LIBSUMO_NAMESPACE::Edge::setAllowed(), LIBSUMO_NAMESPACE::Lane::setAllowed(), GNEClosingLaneReroute::setAttribute(), GNEClosingReroute::setAttribute(), GNEConnection::setAttribute(), GNEEdgeType::setAttribute(), GNELane::setAttribute(), GNELaneType::setAttribute(), LIBSUMO_NAMESPACE::Lane::setChangePermissions(), LIBSUMO_NAMESPACE::Edge::setDisallowed(), LIBSUMO_NAMESPACE::Edge::setDisallowed(), LIBSUMO_NAMESPACE::Lane::setDisallowed(), and StopOffset::StopOffset().

Here is the caller graph for this function:

◆ parseVehicleClasses() [2/3]

SVCPermissions parseVehicleClasses ( const std::string &  allowedS,
const std::string &  disallowedS,
const MMVersion networkVersion = NETWORK_VERSION 
)

Encodes the given vector of allowed and disallowed classes into a bitset.

Parameters
[in]allowedSDefinition which classes are allowed
[in]disallowedSDefinition which classes are not allowed

Definition at line 398 of file SUMOVehicleClass.cpp.

References extraDisallowed(), invertPermissions(), parseVehicleClasses(), SVCAll, TL, and WRITE_WARNING.

◆ parseVehicleClasses() [3/3]

SVCPermissions parseVehicleClasses ( const std::vector< std::string > &  allowedS)

Encodes the given vector of allowed class into a bitset Unlike the methods which parse a string it gives immediately a warning output on deprecated vehicle classes.

Parameters
[in]classesSThe names vector to parse

Definition at line 433 of file SUMOVehicleClass.cpp.

References getVehicleClassID(), SumoVehicleClassStrings, SVCAll, TL, VehicleClassNameAll, and WRITE_WARNINGF.

◆ writePermissions()

void writePermissions ( OutputDevice into,
SVCPermissions  permissions 
)

writes allowed disallowed attributes if needed;

Definition at line 451 of file SUMOVehicleClass.cpp.

References getVehicleClassNames(), NUM_VCLASSES, SUMO_ATTR_ALLOW, SUMO_ATTR_DISALLOW, SUMOVehicleClass_MAX, SVCAll, VehicleClassNameAll, and OutputDevice::writeAttr().

Referenced by NWWriter_SUMO::writeConnection(), NWWriter_XML::writeEdgesAndConnections(), NBTypeCont::writeEdgeTypes(), and NWWriter_SUMO::writeLane().

Here is the caller graph for this function:

◆ writePreferences()

void writePreferences ( OutputDevice into,
SVCPermissions  preferred 
)

writes allowed disallowed attributes if needed;

Definition at line 474 of file SUMOVehicleClass.cpp.

References getVehicleClassNames(), SUMO_ATTR_PREFER, SVCAll, and OutputDevice::writeAttr().

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

Here is the caller graph for this function:

Variable Documentation

◆ deprecatedVehicleClassesSeen

std::set<std::string> deprecatedVehicleClassesSeen

◆ EMISSION_CLASS_UNSPECIFIED

const SUMOEmissionClass EMISSION_CLASS_UNSPECIFIED = -1

emission class not specified

Definition at line 162 of file SUMOVehicleClass.cpp.

◆ getVehicleClassNamesCached

std::map<SVCPermissions, std::string> getVehicleClassNamesCached
static

Definition at line 149 of file SUMOVehicleClass.cpp.

Referenced by getVehicleClassNames().

◆ NUM_VCLASSES

const int NUM_VCLASSES = SumoVehicleClassStrings.size() - 8

Definition at line 91 of file SUMOVehicleClass.cpp.

Referenced by writePermissions().

◆ parseVehicleClassesCached

std::map<std::string, SVCPermissions> parseVehicleClassesCached
static

Definition at line 148 of file SUMOVehicleClass.cpp.

Referenced by canParseVehicleClasses(), and parseVehicleClasses().

◆ SUMOVehicleClass_MAX

const SUMOVehicleClass SUMOVehicleClass_MAX = SVC_CUSTOM2

◆ sumoVehicleClassStringInitializer

StringBijection<SUMOVehicleClass>::Entry sumoVehicleClassStringInitializer[]
static

Definition at line 41 of file SUMOVehicleClass.cpp.

◆ SumoVehicleClassStrings

◆ sumoVehicleShapeStringInitializer

StringBijection<SUMOVehicleShape>::Entry sumoVehicleShapeStringInitializer[]
static

Definition at line 96 of file SUMOVehicleClass.cpp.

◆ SumoVehicleShapeStrings

◆ SVC_UNSPECIFIED

◆ SVCAll

const SVCPermissions SVCAll = 2 * (long long int)SUMOVehicleClass_MAX - 1

all VClasses are allowed

Definition at line 158 of file SUMOVehicleClass.cpp.

Referenced by IntermodalNetwork< E, L, N, V >::addCarEdges(), NLHandler::addLane(), NIImporter_OpenStreetMap::applyChangeProhibition(), NBEdge::applyTurnSigns(), NBEdge::buildInnerEdges(), NBNode::computeLanes2Lanes(), NIImporter_MATSim::EdgesHandler::computePermission(), NBEdge::dismissVehicleClassInformation(), LIBSUMO_NAMESPACE::Lane::getAllowed(), NWWriter_DlrNavteq::getAllowedTypes(), GNEEdgeType::getAttribute(), GNELaneType::getAttribute(), GNEEdge::getAttributeForSelection(), GNELane::getAttributeForSelection(), NBEdge::getFirstNonPedestrianNonBicycleLaneIndex(), NWWriter_OpenDrive::getLaneType(), MSEdge::getNumDrivingLanes(), getVehicleClassNames(), NBEdgeCont::guessRoundabouts(), NBEdge::hasPermissions(), NBRailwayTopologyAnalyzer::hasRailway(), MSEdge::initialize(), GUIVisualizationSettings::initNeteditDefaults(), GUIVisualizationSettings::initSumoGuiDefaults(), invertPermissions(), isForbidden(), isSidewalk(), MSTriggeredRerouter::myEndElement(), GNERerouterIntervalDialog::onCmdAddClosingLaneReroute(), GNERerouterIntervalDialog::onCmdAddClosingReroute(), RONetHandler::parseLane(), parseVehicleClasses(), parseVehicleClasses(), parseVehicleClasses(), NBEdge::prohibitsChanging(), MSEdge::rebuildAllowedLanes(), NBEdge::recheckLanes(), MSLane::resetPermissions(), ROEdge::ROEdge(), GNEEdgeType::setAttribute(), GNELaneType::setAttribute(), MSTriggeredRerouter::setPermissions(), MSTriggeredRerouter::triggerRouting(), NBEdge::updateChangeRestrictions(), GNEClosingLaneReroute::writeAdditional(), NWWriter_SUMO::writeConnection(), NWWriter_XML::writeEdgesAndConnections(), NWWriter_SUMO::writeInternalEdges(), NWWriter_SUMO::writeLane(), writePermissions(), writePreferences(), and NWWriter_DlrNavteq::writeProhibitedManoeuvres().

◆ VehicleClassNameAll

std::string VehicleClassNameAll = "all"
static

◆ vehicleClassNamesListCached

std::map<SVCPermissions, std::vector<std::string> > vehicleClassNamesListCached
static

Definition at line 147 of file SUMOVehicleClass.cpp.

Referenced by getVehicleClassNamesList().