79 void setDefaults(
int defaultNumLanes,
double defaultLaneWidth,
80 double defaultSpeed,
int defaultPriority,
94 void insert(
const std::string&
id,
int numLanes,
95 double maxSpeed,
int prio,
97 double width,
bool oneWayIsDefault,
99 double bikeLaneWidth);
112 bool knows(
const std::string& type)
const;
160 double getSpeed(
const std::string& type)
const;
214 double getWidth(
const std::string& type)
const;
240 numLanes(1), speed((double) 13.9),
priority(-1),
243 width(
NBEdge::UNSPECIFIED_WIDTH),
244 sidewalkWidth(
NBEdge::UNSPECIFIED_WIDTH),
245 bikeLaneWidth(
NBEdge::UNSPECIFIED_WIDTH) {
251 double _sideWalkWidth,
252 double _bikeLaneWidth) :
253 numLanes(_numLanes), speed(_speed),
priority(_priority),
254 permissions(_permissions),
256 sidewalkWidth(_sideWalkWidth),
257 bikeLaneWidth(_bikeLaneWidth) {
302 typedef std::map<std::string, TypeDefinition>
TypesCont;
void insert(const std::string &id, int numLanes, double maxSpeed, int prio, SVCPermissions permissions, double width, bool oneWayIsDefault, double sidewalkWidth, double bikeLaneWidth)
Adds a type into the list.
std::set< SumoXMLAttr > attrs
The attributes which have been set.
int numLanes
The number of lanes of an edge.
bool wasSet(const std::string &type, const SumoXMLAttr attr) const
Returns whether an attribute of a type was set.
std::map< std::string, TypeDefinition > TypesCont
A container of types, accessed by the string id.
SUMOVehicleClass
Definition of vehicle classes to differ between different lane usage and authority types...
NBTypeCont & operator=(const NBTypeCont &s)
invalid assignment operator
const TypeDefinition & getType(const std::string &name) const
Retrieve the name or the default type.
double getWidth(const std::string &type) const
Returns the lane width for the given type [m].
int SVCPermissions
bitset where each bit declares whether a certain SVC may use this edge/lane
The representation of a single edge during network building.
TypeDefinition(int _numLanes, double _speed, int _priority, double _width, SVCPermissions _permissions, bool _oneWay, double _sideWalkWidth, double _bikeLaneWidth)
Constructor.
bool getIsOneWay(const std::string &type) const
Returns whether edges are one-way per default for the given type.
bool markAsSet(const std::string &id, const SumoXMLAttr attr)
Marks an attribute of a type as set.
SumoXMLAttr
Numbers representing SUMO-XML - attributes.
bool oneWay
Whether one-way traffic is mostly common for this type (mostly unused)
bool addRestriction(const std::string &id, const SUMOVehicleClass svc, const double speed)
Adds a restriction to a type.
TypeDefinition()
Constructor.
void setDefaults(int defaultNumLanes, double defaultLaneWidth, double defaultSpeed, int defaultPriority, SVCPermissions defaultPermissions)
Sets the default values.
int getNumLanes(const std::string &type) const
Returns the number of lanes for the given type.
int getPriority(const std::string &type) const
Returns the priority for the given type.
double width
The width of lanes of edges of this type [m].
bool knows(const std::string &type) const
Returns whether the named type is in the container.
void writeTypes(OutputDevice &into) const
writes all types a s XML
bool markAsToDiscard(const std::string &id)
Marks a type as to be discarded.
double getSidewalkWidth(const std::string &type) const
Returns the lane width for a sidewalk to be added [m].
int size() const
Returns the number of known types.
TypeDefinition myDefaultType
The default type.
double speed
The maximal velocity on an edge in m/s.
bool getShallBeDiscarded(const std::string &type) const
Returns the information whether edges of this type shall be discarded.
bool copyRestrictionsAndAttrs(const std::string &fromId, const std::string &toId)
Copy restrictions to a type.
std::map< SUMOVehicleClass, double > restrictions
The vehicle class specific speed restrictions.
Static storage of an output device and its base (abstract) implementation.
double getSpeed(const std::string &type) const
Returns the maximal velocity for the given type [m/s].
SVCPermissions getPermissions(const std::string &type) const
Returns allowed vehicle classes for the given type.
int priority
The priority of an edge.
SVCPermissions permissions
List of vehicle types that are allowed on this edge.
TypesCont myTypes
The container of types.
const SVCPermissions SVC_UNSPECIFIED
permissions not specified
bool discard
Whether edges of this type shall be discarded.
A storage for available types of edges.
double getBikeLaneWidth(const std::string &type) const
Returns the lane width for a bike lane to be added [m].