72 void setDefaults(
int defaultNumLanes,
double defaultLaneWidth,
73 double defaultSpeed,
int defaultPriority,
87 void insert(
const std::string&
id,
int numLanes,
88 double maxSpeed,
int prio,
90 double width,
bool oneWayIsDefault,
92 double bikeLaneWidth);
105 bool knows(
const std::string& type)
const;
153 double getSpeed(
const std::string& type)
const;
207 double getWidth(
const std::string& type)
const;
233 numLanes(1), speed((double) 13.89),
priority(-1),
236 width(
NBEdge::UNSPECIFIED_WIDTH),
237 sidewalkWidth(
NBEdge::UNSPECIFIED_WIDTH),
238 bikeLaneWidth(
NBEdge::UNSPECIFIED_WIDTH) {
244 double _sideWalkWidth,
245 double _bikeLaneWidth) :
246 numLanes(_numLanes), speed(_speed),
priority(_priority),
247 permissions(_permissions),
249 sidewalkWidth(_sideWalkWidth),
250 bikeLaneWidth(_bikeLaneWidth) {
295 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.
double getSpeed(const std::string &type) const
Returns the maximal velocity for the given type [m/s].
int numLanes
The number of lanes of an edge.
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
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.
int getPriority(const std::string &type) const
Returns the priority 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.
int getNumLanes(const std::string &type) const
Returns the number of lanes for the given type.
bool getShallBeDiscarded(const std::string &type) const
Returns the information whether edges of this type shall be discarded.
bool oneWay
Whether one-way traffic is mostly common for this type (mostly unused)
double getWidth(const std::string &type) const
Returns the lane width for the given type [m].
const TypeDefinition & getType(const std::string &name) const
Retrieve the name or the default type.
bool addRestriction(const std::string &id, const SUMOVehicleClass svc, const double speed)
Adds a restriction to a type.
TypeDefinition()
Constructor.
bool knows(const std::string &type) const
Returns whether the named type is in the container.
double getBikeLaneWidth(const std::string &type) const
Returns the lane width for a bike lane to be added [m].
double getSidewalkWidth(const std::string &type) const
Returns the lane width for a sidewalk to be added [m].
void setDefaults(int defaultNumLanes, double defaultLaneWidth, double defaultSpeed, int defaultPriority, SVCPermissions defaultPermissions)
Sets the default values.
double width
The width of lanes of edges of this type [m].
bool markAsToDiscard(const std::string &id)
Marks a type as to be discarded.
TypeDefinition myDefaultType
The default type.
double speed
The maximal velocity on an edge in m/s.
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.
int priority
The priority of an edge.
SVCPermissions permissions
List of vehicle types that are allowed on this edge.
bool getIsOneWay(const std::string &type) const
Returns whether edges are one-way per default for the given type.
TypesCont myTypes
The container of types.
int size() const
Returns the number of known types.
const SVCPermissions SVC_UNSPECIFIED
permissions not specified
bool wasSet(const std::string &type, const SumoXMLAttr attr) const
Returns whether an attribute of a type was set.
bool discard
Whether edges of this type shall be discarded.
SVCPermissions getPermissions(const std::string &type) const
Returns allowed vehicle classes for the given type.
A storage for available types of edges.
void writeTypes(OutputDevice &into) const
writes all types a s XML