SUMO - Simulation of Urban MObility
|
A storage for available types of edges. More...
#include <NBTypeCont.h>
Data Structures | |
struct | TypeDefinition |
Public Member Functions | |
bool | insert (const std::string &id, int noLanes, SUMOReal maxSpeed, int prio, SUMOReal width, SUMOVehicleClass vClasses=SVC_UNKNOWN, bool oneWayIsDefault=false) |
Adds a type into the list. This is a simplified convenience form of insert, if only one allowed vehicle class is necessary. | |
bool | insert (const std::string &id, int noLanes, SUMOReal maxSpeed, int prio, SVCPermissions permissions, SUMOReal width, bool oneWayIsDefault) |
Adds a type into the list. | |
bool | knows (const std::string &type) const |
Returns whether the named type is in the container. | |
bool | markAsToDiscard (const std::string &id) |
Marks a type as to be discarded. | |
NBTypeCont () | |
Constructor. | |
void | setDefaults (int defaultNoLanes, SUMOReal defaultSpeed, int defaultPriority) |
Sets the default values. | |
unsigned int | size () const |
Returns the number of known types. | |
~NBTypeCont () | |
Destructor. | |
Type-dependant Retrieval methods | |
int | getNumLanes (const std::string &type) const |
Returns the number of lanes for the given type. | |
SUMOReal | getSpeed (const std::string &type) const |
Returns the maximal velocity for the given type [m/s]. | |
int | getPriority (const std::string &type) const |
Returns the priority for the given type. | |
bool | getIsOneWay (const std::string &type) const |
Returns whether edges are one-way per default for the given type. | |
bool | getShallBeDiscarded (const std::string &type) const |
Returns the information whether edges of this type shall be discarded. | |
SVCPermissions | getPermissions (const std::string &type) const |
Returns allowed vehicle classes for the given type. | |
SUMOReal | getWidth (const std::string &type) const |
Returns the lane width for the given type [m/s]. |
Private Types | |
typedef std::map< std::string, TypeDefinition > | TypesCont |
A container of types, accessed by the string id. |
Private Member Functions | |
const TypeDefinition & | getType (const std::string &name) const |
Retrieve the name or the default type. | |
NBTypeCont (const NBTypeCont &s) | |
invalid copy constructor | |
NBTypeCont & | operator= (const NBTypeCont &s) |
invalid assignment operator |
Private Attributes | |
TypeDefinition | myDefaultType |
The default type. | |
TypesCont | myTypes |
The container of types. |
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 56 of file NBTypeCont.h.
|
private |
A container of types, accessed by the string id.
Definition at line 239 of file NBTypeCont.h.
|
inline |
Constructor.
Definition at line 59 of file NBTypeCont.h.
|
inline |
Destructor.
Definition at line 63 of file NBTypeCont.h.
|
private |
invalid copy constructor
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 116 of file NBTypeCont.cpp.
References getType(), and NBTypeCont::TypeDefinition::oneWay.
Referenced by NIImporter_OpenStreetMap::insertEdge().
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 98 of file NBTypeCont.cpp.
References getType(), and NBTypeCont::TypeDefinition::noLanes.
Referenced by NIXMLEdgesHandler::addEdge(), NGEdge::buildNBEdge(), NIImporter_OpenStreetMap::insertEdge(), NIImporter_ArcView::load(), NIXMLTypesHandler::myStartElement(), NIImporter_VISUM::parse_Edges(), 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 128 of file NBTypeCont.cpp.
References getType(), and NBTypeCont::TypeDefinition::permissions.
Referenced by NIXMLEdgesHandler::addEdge(), and NIImporter_OpenStreetMap::insertEdge().
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 110 of file NBTypeCont.cpp.
References getType(), and NBTypeCont::TypeDefinition::priority.
Referenced by NIXMLEdgesHandler::addEdge(), NGEdge::buildNBEdge(), NIImporter_OpenStreetMap::insertEdge(), NIImporter_OpenDrive::loadNetwork(), NIXMLTypesHandler::myStartElement(), NIImporter_VISUM::parse_Edges(), 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.
Definition at line 122 of file NBTypeCont.cpp.
References NBTypeCont::TypeDefinition::discard, and getType().
Referenced by NBEdgeCont::ignoreFilterMatch().
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 104 of file NBTypeCont.cpp.
References getType(), and NBTypeCont::TypeDefinition::speed.
Referenced by NIXMLEdgesHandler::addEdge(), NGEdge::buildNBEdge(), NIImporter_OpenStreetMap::insertEdge(), NIImporter_ArcView::load(), NIImporter_OpenDrive::loadNetwork(), NIXMLTypesHandler::myStartElement(), NIImporter_VISUM::parse_Edges(), 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 140 of file NBTypeCont.cpp.
References myDefaultType, and myTypes.
Referenced by getIsOneWay(), getNumLanes(), getPermissions(), getPriority(), getShallBeDiscarded(), getSpeed(), and getWidth().
SUMOReal NBTypeCont::getWidth | ( | const std::string & | type | ) | const |
Returns the lane width 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 width for |
Definition at line 134 of file NBTypeCont.cpp.
References getType(), and NBTypeCont::TypeDefinition::width.
Referenced by NIXMLEdgesHandler::addEdge(), NGEdge::buildNBEdge(), NIImporter_OpenStreetMap::insertEdge(), NIImporter_ArcView::load(), and NGNet::toNB().
bool NBTypeCont::insert | ( | const std::string & | id, |
int | noLanes, | ||
SUMOReal | maxSpeed, | ||
int | prio, | ||
SUMOReal | width, | ||
SUMOVehicleClass | vClasses = SVC_UNKNOWN , |
||
bool | oneWayIsDefault = false |
||
) |
Adds a type into the list. This is a simplified convenience form of insert, if only one allowed vehicle class is necessary.
[in] | id | The id of the type |
[in] | noLanes | 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] | width | The width of lanes of edgesof this type |
[in] | vClasses | The vehicle classes allowed on an edge of this type |
[in] | oneWayIsDefault | Whether edges of this type are one-way per default |
Definition at line 60 of file NBTypeCont.cpp.
References SVC_UNKNOWN, and SVCFreeForAll.
Referenced by NIImporter_OpenStreetMap::insertEdge(), NIImporter_OpenStreetMap::load(), NIXMLTypesHandler::myStartElement(), and NIImporter_VISUM::parse_Types().
bool NBTypeCont::insert | ( | const std::string & | id, |
int | noLanes, | ||
SUMOReal | maxSpeed, | ||
int | prio, | ||
SVCPermissions | permissions, | ||
SUMOReal | width, | ||
bool | oneWayIsDefault | ||
) |
Adds a type into the list.
[in] | id | The id of the type |
[in] | noLanes | 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 68 of file NBTypeCont.cpp.
References myTypes.
bool NBTypeCont::knows | ( | const std::string & | type | ) | const |
Returns whether the named type is in the container.
Definition at line 80 of file NBTypeCont.cpp.
References myTypes.
Referenced by NIXMLEdgesHandler::addEdge(), NBEdgeCont::ignoreFilterMatch(), and NIImporter_OpenStreetMap::insertEdge().
bool NBTypeCont::markAsToDiscard | ( | const std::string & | id | ) |
Marks a type as to be discarded.
[in] | id | The id of the type |
Definition at line 86 of file NBTypeCont.cpp.
References myTypes.
Referenced by NIXMLTypesHandler::myStartElement().
|
private |
invalid assignment operator
Sets the default values.
[in] | defaultNoLanes | 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 50 of file NBTypeCont.cpp.
References myDefaultType, NBTypeCont::TypeDefinition::noLanes, NBTypeCont::TypeDefinition::priority, and NBTypeCont::TypeDefinition::speed.
Referenced by NBNetBuilder::applyOptions().
|
inline |
Returns the number of known types.
Definition at line 107 of file NBTypeCont.h.
References myTypes.
Referenced by NILoader::load().
|
private |
The default type.
Definition at line 236 of file NBTypeCont.h.
Referenced by getType(), and setDefaults().
|
private |
The container of types.
Definition at line 242 of file NBTypeCont.h.
Referenced by getType(), insert(), knows(), markAsToDiscard(), and size().