![]() |
SUMO - Simulation of Urban MObility
|
A storage for available types of edges. More...
#include <NBTypeCont.h>
Data Structures | |
struct | TypeDefinition |
Public Member Functions | |
bool | addRestriction (const std::string &id, const SUMOVehicleClass svc, const SUMOReal speed) |
Adds a restriction to a type. More... | |
bool | copyRestrictionsAndAttrs (const std::string &fromId, const std::string &toId) |
Copy restrictions to a type. More... | |
void | insert (const std::string &id, int numLanes, SUMOReal maxSpeed, int prio, SVCPermissions permissions, SUMOReal width, bool oneWayIsDefault, SUMOReal sidewalkWidth, SUMOReal bikeLaneWidth) |
Adds a type into the list. More... | |
bool | knows (const std::string &type) const |
Returns whether the named type is in the container. More... | |
bool | markAsSet (const std::string &id, const SumoXMLAttr attr) |
Marks an attribute of a type as set. More... | |
bool | markAsToDiscard (const std::string &id) |
Marks a type as to be discarded. More... | |
NBTypeCont () | |
Constructor. More... | |
void | setDefaults (int defaultNumLanes, SUMOReal defaultSpeed, int defaultPriority) |
Sets the default values. More... | |
unsigned int | size () const |
Returns the number of known types. More... | |
void | writeTypes (OutputDevice &into) const |
writes all types a s XML More... | |
~NBTypeCont () | |
Destructor. More... | |
Type-dependant Retrieval methods | |
int | getNumLanes (const std::string &type) const |
Returns the number of lanes for the given type. More... | |
SUMOReal | getSpeed (const std::string &type) const |
Returns the maximal velocity for the given type [m/s]. More... | |
int | getPriority (const std::string &type) const |
Returns the priority for the given type. More... | |
bool | getIsOneWay (const std::string &type) const |
Returns whether edges are one-way per default for the given type. More... | |
bool | getShallBeDiscarded (const std::string &type) const |
Returns the information whether edges of this type shall be discarded. More... | |
bool | wasSet (const std::string &type, const SumoXMLAttr attr) const |
Returns whether an attribute of a type was set. More... | |
SVCPermissions | getPermissions (const std::string &type) const |
Returns allowed vehicle classes for the given type. More... | |
SUMOReal | getWidth (const std::string &type) const |
Returns the lane width for the given type [m]. More... | |
SUMOReal | getSidewalkWidth (const std::string &type) const |
Returns the lane width for a sidewalk to be added [m]. More... | |
SUMOReal | getBikeLaneWidth (const std::string &type) const |
Returns the lane width for a bike lane to be added [m]. More... | |
Private Types | |
typedef std::map< std::string, TypeDefinition > | TypesCont |
A container of types, accessed by the string id. More... | |
Private Member Functions | |
const TypeDefinition & | getType (const std::string &name) const |
Retrieve the name or the default type. More... | |
NBTypeCont (const NBTypeCont &s) | |
invalid copy constructor More... | |
NBTypeCont & | operator= (const NBTypeCont &s) |
invalid assignment operator More... | |
Private Attributes | |
TypeDefinition | myDefaultType |
The default type. More... | |
TypesCont | myTypes |
The container of types. More... | |
A storage for available types of edges.
NBTypeCont stores properties of edge-types of edges. Additionally, a default type is stored which is used if no type information is given.
This structure also contains a structure for determining node types using edge speeds.
Definition at line 62 of file NBTypeCont.h.
|
private |
A container of types, accessed by the string id.
Definition at line 299 of file NBTypeCont.h.
|
inline |
Constructor.
Definition at line 65 of file NBTypeCont.h.
|
inline |
Destructor.
Definition at line 69 of file NBTypeCont.h.
References insert(), setDefaults(), and SUMOReal.
|
private |
invalid copy constructor
bool NBTypeCont::addRestriction | ( | const std::string & | id, |
const SUMOVehicleClass | svc, | ||
const SUMOReal | speed | ||
) |
Adds a restriction to a type.
[in] | id | The id of the type |
[in] | svc | The vehicle class the restriction refers to |
[in] | speed | The restricted speed |
Definition at line 103 of file NBTypeCont.cpp.
References myTypes.
Referenced by NIXMLTypesHandler::myStartElement(), and size().
bool NBTypeCont::copyRestrictionsAndAttrs | ( | const std::string & | fromId, |
const std::string & | toId | ||
) |
Copy restrictions to a type.
[in] | fromId | The id of the source type |
[in] | toId | The id of the destination type |
Definition at line 114 of file NBTypeCont.cpp.
References myTypes.
Referenced by NIImporter_OpenStreetMap::insertEdge(), and size().
SUMOReal NBTypeCont::getBikeLaneWidth | ( | const std::string & | type | ) | const |
Returns the lane width for a bike lane to be added [m].
If the named type is not known, the default is returned
[in] | type | The name of the type to return the width for |
Definition at line 229 of file NBTypeCont.cpp.
References NBTypeCont::TypeDefinition::bikeLaneWidth, and getType().
Referenced by NIXMLEdgesHandler::addEdge(), NIImporter_OpenStreetMap::insertEdge(), NIXMLTypesHandler::myStartElement(), and size().
bool NBTypeCont::getIsOneWay | ( | const std::string & | type | ) | const |
Returns whether edges are one-way per default for the given type.
If the named type is not known, the default is returned
[in] | type | The name of the type to return the one-way information for |
Definition at line 193 of file NBTypeCont.cpp.
References getType(), and NBTypeCont::TypeDefinition::oneWay.
Referenced by NIImporter_OpenStreetMap::insertEdge(), NIXMLTypesHandler::myStartElement(), and size().
int NBTypeCont::getNumLanes | ( | const std::string & | type | ) | const |
Returns the number of lanes for the given type.
If the named type is not known, the default is returned
[in] | type | The name of the type to return the lane number for |
Definition at line 175 of file NBTypeCont.cpp.
References getType(), NBTypeCont::TypeDefinition::numLanes, and SUMOReal.
Referenced by NIXMLEdgesHandler::addEdge(), NGEdge::buildNBEdge(), NIImporter_OpenStreetMap::insertEdge(), NIImporter_ArcView::load(), NIXMLTypesHandler::myStartElement(), NIImporter_VISUM::parse_Edges(), size(), and NGNet::toNB().
SVCPermissions NBTypeCont::getPermissions | ( | const std::string & | type | ) | const |
Returns allowed vehicle classes for the given type.
If the named type is not known, the default is returned
[in] | type | The name of the type to return the list of allowed vehicles classes for |
Definition at line 211 of file NBTypeCont.cpp.
References getType(), NBTypeCont::TypeDefinition::permissions, and SUMOReal.
Referenced by NIXMLEdgesHandler::addEdge(), NIImporter_OpenStreetMap::insertEdge(), NIImporter_OpenDrive::loadNetwork(), NIXMLTypesHandler::myStartElement(), and size().
int NBTypeCont::getPriority | ( | const std::string & | type | ) | const |
Returns the priority for the given type.
If the named type is not known, the default is returned
[in] | type | The name of the type to return the priority for |
Definition at line 187 of file NBTypeCont.cpp.
References getType(), and NBTypeCont::TypeDefinition::priority.
Referenced by NIXMLEdgesHandler::addEdge(), NGEdge::buildNBEdge(), NIImporter_OpenStreetMap::insertEdge(), NIImporter_ArcView::load(), NIXMLTypesHandler::myStartElement(), NIImporter_VISUM::parse_Edges(), size(), and NGNet::toNB().
bool NBTypeCont::getShallBeDiscarded | ( | const std::string & | type | ) | const |
Returns the information whether edges of this type shall be discarded.
Returns false if the type is not known.
[in] | type | The id of the type |
Definition at line 199 of file NBTypeCont.cpp.
References NBTypeCont::TypeDefinition::discard, and getType().
Referenced by NIImporter_OpenDrive::OpenDriveLaneSection::buildLaneMapping(), NBEdgeCont::ignoreFilterMatch(), NIImporter_OpenStreetMap::insertEdge(), and size().
SUMOReal NBTypeCont::getSidewalkWidth | ( | const std::string & | type | ) | const |
Returns the lane width for a sidewalk to be added [m].
If the named type is not known, the default is returned
[in] | type | The name of the type to return the width for |
Definition at line 223 of file NBTypeCont.cpp.
References getType(), NBTypeCont::TypeDefinition::sidewalkWidth, and SUMOReal.
Referenced by NIXMLEdgesHandler::addEdge(), NIImporter_OpenStreetMap::insertEdge(), NIXMLTypesHandler::myStartElement(), and size().
SUMOReal NBTypeCont::getSpeed | ( | const std::string & | type | ) | const |
Returns the maximal velocity for the given type [m/s].
If the named type is not known, the default is returned
[in] | type | The name of the type to return the speed for |
Definition at line 181 of file NBTypeCont.cpp.
References getType(), and NBTypeCont::TypeDefinition::speed.
Referenced by NIXMLEdgesHandler::addEdge(), NGEdge::buildNBEdge(), NIImporter_OpenDrive::OpenDriveLaneSection::buildSpeedChanges(), NIImporter_OpenStreetMap::insertEdge(), NIImporter_ArcView::load(), NIImporter_OpenDrive::loadNetwork(), NIXMLTypesHandler::myStartElement(), NIImporter_VISUM::parse_Edges(), size(), and NGNet::toNB().
|
private |
Retrieve the name or the default type.
If no name is given, the default type is returned
[in] | name | The name of the type to retrieve |
Definition at line 235 of file NBTypeCont.cpp.
References myDefaultType, and myTypes.
Referenced by getBikeLaneWidth(), getIsOneWay(), getNumLanes(), getPermissions(), getPriority(), getShallBeDiscarded(), getSidewalkWidth(), getSpeed(), getWidth(), and wasSet().
SUMOReal NBTypeCont::getWidth | ( | const std::string & | type | ) | const |
Returns the lane width for the given type [m].
If the named type is not known, the default is returned
[in] | type | The name of the type to return the width for |
Definition at line 217 of file NBTypeCont.cpp.
References getType(), SUMOReal, and NBTypeCont::TypeDefinition::width.
Referenced by NIXMLEdgesHandler::addEdge(), NGEdge::buildNBEdge(), NIImporter_OpenStreetMap::insertEdge(), NIImporter_ArcView::load(), NIImporter_OpenDrive::loadNetwork(), NIXMLTypesHandler::myStartElement(), size(), and NGNet::toNB().
void NBTypeCont::insert | ( | const std::string & | id, |
int | numLanes, | ||
SUMOReal | maxSpeed, | ||
int | prio, | ||
SVCPermissions | permissions, | ||
SUMOReal | width, | ||
bool | oneWayIsDefault, | ||
SUMOReal | sidewalkWidth, | ||
SUMOReal | bikeLaneWidth | ||
) |
Adds a type into the list.
[in] | id | The id of the type |
[in] | numLanes | The number of lanes an edge of this type has |
[in] | maxSpeed | The speed allowed on an edge of this type |
[in] | prio | The priority of an edge of this type |
[in] | permissions | The encoding of vehicle classes allowed on an edge of this type |
[in] | width | The width of lanes of edgesof this type |
[in] | oneWayIsDefault | Whether edges of this type are one-way per default |
Definition at line 61 of file NBTypeCont.cpp.
References NBTypeCont::TypeDefinition::attrs, myTypes, and NBTypeCont::TypeDefinition::restrictions.
Referenced by NIImporter_OpenStreetMap::insertEdge(), NIXMLTypesHandler::myStartElement(), NIImporter_VISUM::parse_Types(), and ~NBTypeCont().
bool NBTypeCont::knows | ( | const std::string & | type | ) | const |
Returns whether the named type is in the container.
Definition at line 75 of file NBTypeCont.cpp.
References myTypes.
Referenced by NIXMLEdgesHandler::addEdge(), NIImporter_OpenDrive::OpenDriveLaneSection::buildLaneMapping(), NBEdgeCont::ignoreFilterMatch(), NIImporter_OpenStreetMap::insertEdge(), NIXMLTypesHandler::myStartElement(), and size().
bool NBTypeCont::markAsSet | ( | const std::string & | id, |
const SumoXMLAttr | attr | ||
) |
Marks an attribute of a type as set.
[in] | id | The id of the type |
[in] | attr | The id of the attribute |
Definition at line 92 of file NBTypeCont.cpp.
References myTypes.
Referenced by NIXMLTypesHandler::myStartElement(), NIImporter_VISUM::parse_Types(), and size().
bool NBTypeCont::markAsToDiscard | ( | const std::string & | id | ) |
Marks a type as to be discarded.
[in] | id | The id of the type |
Definition at line 81 of file NBTypeCont.cpp.
References myTypes.
Referenced by NIXMLTypesHandler::myStartElement(), and size().
|
private |
invalid assignment operator
void NBTypeCont::setDefaults | ( | int | defaultNumLanes, |
SUMOReal | defaultSpeed, | ||
int | defaultPriority | ||
) |
Sets the default values.
[in] | defaultNumLanes | The default number of lanes an edge has |
[in] | defaultSpeed | The default speed allowed on an edge |
[in] | defaultPriority | The default priority of an edge |
Definition at line 51 of file NBTypeCont.cpp.
References myDefaultType, NBTypeCont::TypeDefinition::numLanes, NBTypeCont::TypeDefinition::priority, and NBTypeCont::TypeDefinition::speed.
Referenced by NBNetBuilder::applyOptions(), and ~NBTypeCont().
|
inline |
Returns the number of known types.
Definition at line 101 of file NBTypeCont.h.
References addRestriction(), copyRestrictionsAndAttrs(), getBikeLaneWidth(), getIsOneWay(), getNumLanes(), getPermissions(), getPriority(), getShallBeDiscarded(), getSidewalkWidth(), getSpeed(), getWidth(), knows(), markAsSet(), markAsToDiscard(), myTypes, SUMOReal, wasSet(), and writeTypes().
Referenced by NILoader::load(), and NWWriter_XML::writeNetwork().
bool NBTypeCont::wasSet | ( | const std::string & | type, |
const SumoXMLAttr | attr | ||
) | const |
Returns whether an attribute of a type was set.
[in] | type | The id of the type |
[in] | attr | The id of the attribute |
Definition at line 205 of file NBTypeCont.cpp.
References NBTypeCont::TypeDefinition::attrs, and getType().
Referenced by size().
void NBTypeCont::writeTypes | ( | OutputDevice & | into | ) | const |
writes all types a s XML
Definition at line 127 of file NBTypeCont.cpp.
References NBTypeCont::TypeDefinition::attrs, NBTypeCont::TypeDefinition::bikeLaneWidth, OutputDevice::closeTag(), NBTypeCont::TypeDefinition::discard, getVehicleClassNames(), OutputDevice::lf(), myTypes, NBTypeCont::TypeDefinition::numLanes, NBTypeCont::TypeDefinition::oneWay, OutputDevice::openTag(), NBTypeCont::TypeDefinition::permissions, NBTypeCont::TypeDefinition::priority, NBTypeCont::TypeDefinition::restrictions, NBTypeCont::TypeDefinition::sidewalkWidth, NBTypeCont::TypeDefinition::speed, SUMO_ATTR_ALLOW, SUMO_ATTR_BIKELANEWIDTH, SUMO_ATTR_DISALLOW, SUMO_ATTR_DISCARD, SUMO_ATTR_ID, SUMO_ATTR_NUMLANES, SUMO_ATTR_ONEWAY, SUMO_ATTR_PRIORITY, SUMO_ATTR_SIDEWALKWIDTH, SUMO_ATTR_SPEED, SUMO_ATTR_VCLASS, SUMO_ATTR_WIDTH, SUMO_TAG_RESTRICTION, SUMO_TAG_TYPE, NBTypeCont::TypeDefinition::width, OutputDevice::writeAttr(), and writePermissions().
Referenced by size(), NWWriter_SUMO::writeNetwork(), and NWWriter_XML::writeTypes().
|
private |
The default type.
Definition at line 296 of file NBTypeCont.h.
Referenced by getType(), and setDefaults().
|
private |
The container of types.
Definition at line 302 of file NBTypeCont.h.
Referenced by addRestriction(), copyRestrictionsAndAttrs(), getType(), insert(), knows(), markAsSet(), markAsToDiscard(), size(), and writeTypes().