![]() |
Eclipse 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 double 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, double maxSpeed, int prio, SVCPermissions permissions, double width, bool oneWayIsDefault, double sidewalkWidth, double bikeLaneWidth, double widthResolution, double maxWidth, double minWidth) |
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, double defaultLaneWidth, double defaultSpeed, int defaultPriority, SVCPermissions defaultPermissions) |
Sets the default values. More... | |
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... | |
double | 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... | |
double | getWidthResolution (const std::string &type) const |
Returns the resolution for interpreting edge/lane widths of the given type. More... | |
double | getMaxWidth (const std::string &type) const |
Returns the maximum edge/lane widths of the given type. More... | |
double | getMinWidth (const std::string &type) const |
Returns the minimum edge/lane widths of the given type. 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... | |
double | getWidth (const std::string &type) const |
Returns the lane width for the given type [m]. More... | |
double | getSidewalkWidth (const std::string &type) const |
Returns the lane width for a sidewalk to be added [m]. More... | |
double | 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 55 of file NBTypeCont.h.
|
private |
A container of types, accessed by the string id.
Definition at line 341 of file NBTypeCont.h.
|
inline |
Constructor.
Definition at line 58 of file NBTypeCont.h.
|
inline |
Destructor.
Definition at line 62 of file NBTypeCont.h.
|
private |
invalid copy constructor
bool NBTypeCont::addRestriction | ( | const std::string & | id, |
const SUMOVehicleClass | svc, | ||
const double | 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 100 of file NBTypeCont.cpp.
References myTypes.
Referenced by NIXMLTypesHandler::myStartElement().
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 111 of file NBTypeCont.cpp.
References myTypes.
Referenced by NIImporter_OpenStreetMap::usableType().
double 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 240 of file NBTypeCont.cpp.
References NBTypeCont::TypeDefinition::bikeLaneWidth, and getType().
Referenced by NIXMLEdgesHandler::addEdge(), NIImporter_OpenStreetMap::insertEdge(), NIXMLTypesHandler::myStartElement(), and NIImporter_OpenStreetMap::usableType().
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 190 of file NBTypeCont.cpp.
References getType(), and NBTypeCont::TypeDefinition::oneWay.
Referenced by NIImporter_OpenStreetMap::insertEdge(), NIImporter_ArcView::load(), NIXMLTypesHandler::myStartElement(), and NIImporter_OpenStreetMap::usableType().
double NBTypeCont::getMaxWidth | ( | const std::string & | type | ) | const |
Returns the maximum edge/lane widths of the given type.
If the named type is not known, the default is returned
[in] | type | The name of the type to return the maximum width for |
Definition at line 206 of file NBTypeCont.cpp.
References getType(), and NBTypeCont::TypeDefinition::maxWidth.
Referenced by NIXMLTypesHandler::myStartElement(), and NIImporter_OpenDrive::setLaneAttributes().
double NBTypeCont::getMinWidth | ( | const std::string & | type | ) | const |
Returns the minimum edge/lane widths of the given type.
If the named type is not known, the default is returned
[in] | type | The name of the type to return the maximum width for |
Definition at line 211 of file NBTypeCont.cpp.
References getType(), and NBTypeCont::TypeDefinition::minWidth.
Referenced by NIXMLTypesHandler::myStartElement().
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 172 of file NBTypeCont.cpp.
References getType(), and NBTypeCont::TypeDefinition::numLanes.
Referenced by NIXMLEdgesHandler::addEdge(), NGEdge::buildNBEdge(), NIImporter_OpenStreetMap::insertEdge(), NIImporter_ArcView::load(), NIXMLTypesHandler::myStartElement(), NIImporter_VISUM::parse_Edges(), and NIImporter_OpenStreetMap::usableType().
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 222 of file NBTypeCont.cpp.
References getType(), and NBTypeCont::TypeDefinition::permissions.
Referenced by NIXMLEdgesHandler::addEdge(), NIImporter_OpenStreetMap::extendRailwayDistances(), NIImporter_OpenDrive::findWidthSplit(), NIImporter_OpenStreetMap::insertEdge(), NIImporter_ArcView::load(), NIXMLTypesHandler::myStartElement(), NIImporter_VISUM::parse_Edges(), NIImporter_OpenDrive::setLaneAttributes(), and NIImporter_OpenStreetMap::usableType().
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 184 of file NBTypeCont.cpp.
References getType(), and NBTypeCont::TypeDefinition::priority.
Referenced by NIXMLEdgesHandler::addEdge(), NGEdge::buildNBEdge(), NIImporter_OpenStreetMap::insertEdge(), NIXMLTypesHandler::myStartElement(), NIImporter_VISUM::parse_Edges(), and NIImporter_OpenStreetMap::usableType().
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 196 of file NBTypeCont.cpp.
References NBTypeCont::TypeDefinition::discard, and getType().
Referenced by NIImporter_OpenDrive::OpenDriveLaneSection::buildLaneMapping(), NIImporter_OpenDrive::findWidthSplit(), NBEdgeCont::ignoreFilterMatch(), and NIImporter_OpenStreetMap::usableType().
double 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 234 of file NBTypeCont.cpp.
References getType(), and NBTypeCont::TypeDefinition::sidewalkWidth.
Referenced by NIXMLEdgesHandler::addEdge(), NIImporter_OpenStreetMap::insertEdge(), NIXMLTypesHandler::myStartElement(), and NIImporter_OpenStreetMap::usableType().
double 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 178 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(), NIImporter_OpenDrive::setLaneAttributes(), NGNet::toNB(), and NIImporter_OpenStreetMap::usableType().
|
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 246 of file NBTypeCont.cpp.
References myDefaultType, and myTypes.
Referenced by getBikeLaneWidth(), getIsOneWay(), getMaxWidth(), getMinWidth(), getNumLanes(), getPermissions(), getPriority(), getShallBeDiscarded(), getSidewalkWidth(), getSpeed(), getWidth(), getWidthResolution(), and wasSet().
double 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 228 of file NBTypeCont.cpp.
References getType(), and NBTypeCont::TypeDefinition::width.
Referenced by NIXMLEdgesHandler::addEdge(), NGEdge::buildNBEdge(), NIImporter_OpenStreetMap::insertEdge(), NIImporter_ArcView::load(), NIXMLTypesHandler::myStartElement(), NIImporter_OpenDrive::setLaneAttributes(), NGNet::toNB(), and NIImporter_OpenStreetMap::usableType().
double NBTypeCont::getWidthResolution | ( | const std::string & | type | ) | const |
Returns the resolution for interpreting edge/lane widths of the given type.
If the named type is not known, the default is returned
[in] | type | The name of the type to return the width resolution for |
Definition at line 201 of file NBTypeCont.cpp.
References getType(), and NBTypeCont::TypeDefinition::widthResolution.
Referenced by NIXMLTypesHandler::myStartElement(), and NIImporter_OpenDrive::setLaneAttributes().
void NBTypeCont::insert | ( | const std::string & | id, |
int | numLanes, | ||
double | maxSpeed, | ||
int | prio, | ||
SVCPermissions | permissions, | ||
double | width, | ||
bool | oneWayIsDefault, | ||
double | sidewalkWidth, | ||
double | bikeLaneWidth, | ||
double | widthResolution, | ||
double | maxWidth, | ||
double | minWidth | ||
) |
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 54 of file NBTypeCont.cpp.
References NBTypeCont::TypeDefinition::attrs, myTypes, and NBTypeCont::TypeDefinition::restrictions.
Referenced by NIXMLTypesHandler::myStartElement(), NIImporter_VISUM::parse_Types(), and NIImporter_OpenStreetMap::usableType().
bool NBTypeCont::knows | ( | const std::string & | type | ) | const |
Returns whether the named type is in the container.
Definition at line 72 of file NBTypeCont.cpp.
References myTypes.
Referenced by NIXMLEdgesHandler::addEdge(), NIImporter_OpenDrive::OpenDriveLaneSection::buildLaneMapping(), NIImporter_OpenDrive::findWidthSplit(), NBEdgeCont::ignoreFilterMatch(), NIImporter_ArcView::load(), NIXMLTypesHandler::myStartElement(), and NIImporter_OpenStreetMap::usableType().
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 89 of file NBTypeCont.cpp.
References myTypes.
Referenced by NIXMLTypesHandler::myStartElement(), and NIImporter_VISUM::parse_Types().
bool NBTypeCont::markAsToDiscard | ( | const std::string & | id | ) |
Marks a type as to be discarded.
[in] | id | The id of the type |
Definition at line 78 of file NBTypeCont.cpp.
References myTypes.
Referenced by NIXMLTypesHandler::myStartElement().
|
private |
invalid assignment operator
void NBTypeCont::setDefaults | ( | int | defaultNumLanes, |
double | defaultLaneWidth, | ||
double | defaultSpeed, | ||
int | defaultPriority, | ||
SVCPermissions | defaultPermissions | ||
) |
Sets the default values.
[in] | defaultNumLanes | The default number of lanes an edge has |
[in] | defaultLaneWidth | The default width of lanes |
[in] | defaultSpeed | The default speed allowed on an edge |
[in] | defaultPriority | The default priority of an edge |
[in] | defaultPermissions | The default permissions of an edge |
Definition at line 40 of file NBTypeCont.cpp.
References myDefaultType, NBTypeCont::TypeDefinition::numLanes, NBTypeCont::TypeDefinition::permissions, NBTypeCont::TypeDefinition::priority, NBTypeCont::TypeDefinition::speed, and NBTypeCont::TypeDefinition::width.
Referenced by NBNetBuilder::applyOptions().
|
inline |
Returns the number of known types.
Definition at line 100 of file NBTypeCont.h.
References myTypes.
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 216 of file NBTypeCont.cpp.
References NBTypeCont::TypeDefinition::attrs, and getType().
void NBTypeCont::writeTypes | ( | OutputDevice & | into | ) | const |
writes all types a s XML
Definition at line 124 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 NWWriter_SUMO::writeNetwork(), and NWWriter_XML::writeTypes().
|
private |
The default type.
Definition at line 338 of file NBTypeCont.h.
Referenced by getType(), and setDefaults().
|
private |
The container of types.
Definition at line 344 of file NBTypeCont.h.
Referenced by addRestriction(), copyRestrictionsAndAttrs(), getType(), insert(), knows(), markAsSet(), markAsToDiscard(), size(), and writeTypes().