41 double defaultLaneWidth,
56 double sidewalkWidth,
double bikeLaneWidth,
57 double widthResolution,
61 TypeDefinition newType(numLanes, maxSpeed, prio, width, permissions, oneWayIsDefault, sidewalkWidth, bikeLaneWidth, widthResolution, maxWidth, minWidth);
62 TypesCont::iterator old =
myTypes.find(
id);
64 newType.
restrictions.insert(old->second.restrictions.begin(), old->second.restrictions.end());
65 newType.
attrs.insert(old->second.attrs.begin(), old->second.attrs.end());
79 TypesCont::iterator i =
myTypes.find(
id);
83 (*i).second.discard =
true;
90 TypesCont::iterator i =
myTypes.find(
id);
94 (*i).second.attrs.insert(attr);
101 TypesCont::iterator i =
myTypes.find(
id);
105 (*i).second.restrictions[svc] = speed;
112 TypesCont::iterator from =
myTypes.find(fromId);
113 TypesCont::iterator to =
myTypes.find(toId);
117 to->second.restrictions.insert(from->second.restrictions.begin(), from->second.restrictions.end());
118 to->second.attrs.insert(from->second.attrs.begin(), from->second.attrs.end());
125 for (TypesCont::const_iterator i =
myTypes.begin(); i !=
myTypes.end(); ++i) {
156 for (std::map<SUMOVehicleClass, double>::const_iterator j = type.
restrictions.begin(); j != type.
restrictions.end(); ++j) {
247 TypesCont::const_iterator i =
myTypes.find(name);
void writePermissions(OutputDevice &into, SVCPermissions permissions)
writes allowed disallowed attributes if needed;
OutputDevice & writeAttr(const SumoXMLAttr attr, const T &val)
writes a named attribute
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.
SUMOVehicleClass
Definition of vehicle classes to differ between different lane usage and authority types...
int SVCPermissions
bitset where each bit declares whether a certain SVC may use this edge/lane
int getPriority(const std::string &type) const
Returns the priority for the given type.
double widthResolution
The resolution for interpreting custom (noisy) lane widths of this type [m].
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.
begin/end of the description of an edge restriction
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.
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 getMinWidth(const std::string &type) const
Returns the minimum edge/lane widths of the given type.
double width
The width of lanes of edges of this type [m].
double minWidth
The minimum width for lanes of this type [m].
bool markAsToDiscard(const std::string &id)
Marks a type as to be discarded.
double getMaxWidth(const std::string &type) const
Returns the maximum edge/lane widths of the given type.
const std::string & getVehicleClassNames(SVCPermissions permissions, bool expand)
Returns the ids of the given classes, divided using a ' '.
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.
bool closeTag(const std::string &comment="")
Closes the most recently opened tag and optionally adds a comment.
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.
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.
double getWidthResolution(const std::string &type) const
Returns the resolution for interpreting edge/lane widths of the given type.
double maxWidth
The maximum width for lanes of this type [m].
TypesCont myTypes
The container of types.
OutputDevice & openTag(const std::string &xmlElement)
Opens an XML tag.
void lf()
writes a line feed if applicable
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.
void writeTypes(OutputDevice &into) const
writes all types a s XML