61 typedef std::map<std::string, std::pair<std::set<int>, std::set<LinkDirection> > >
SignalLanes;
68 int edgeID,
int fromNodeID,
int toNodeID,
70 const double straightThresh,
73 const std::vector<std::string>& crossings);
77 const NBEdge* inEdge,
int nodeID,
78 int edgeID,
int inEdgeID,
int outEdgeID,
80 const std::vector<NBEdge::Connection>& parallel,
81 const bool isOuterEdge,
82 const double straightThresh,
83 const std::string& centerMark,
127 static int s2x(
int sumoIndex,
int numLanes);
long long int SVCPermissions
bitset where each bit declares whether a certain SVC may use this edge/lane
Storage for edges, including some functionality operating on multiple edges.
The representation of a single edge during network building.
Instance responsible for building networks.
Exporter writing networks using the openDRIVE format.
static PositionVector getInnerLaneBorder(const NBEdge *edge, int laneIndex=-1, double widthOffset=0)
get the lane border that is closer to the reference line (center line of the edge)
static void writeRoadObjectPOI(OutputDevice &device, const NBEdge *e, const PositionVector &roadShape, const PointOfInterest *poi)
static void mapmatchRoadObjects(const ShapeContainer &shc, const NBEdgeCont &ec)
map pois and polygons to the closes edge
static void addPedestrianConnection(const NBEdge *inEdge, const NBEdge *outEdge, std::vector< NBEdge::Connection > ¶llel)
static void writeNormalEdge(OutputDevice &device, const NBEdge *e, int edgeID, int fromNodeID, int toNodeID, const bool origNames, const double straightThresh, const ShapeContainer &shc, SignalLanes &signalLanes, const std::vector< std::string > &crossings)
write normal edge to device
static void checkLaneGeometries(const NBEdge *e)
check if the lane geometries are compatible with OpenDRIVE assumptions (colinear stop line)
static std::vector< TrafficSign > parseTrafficSign(const std::string &trafficSign, PointOfInterest *poi)
std::map< std::string, std::pair< std::set< int >, std::set< LinkDirection > > > SignalLanes
signalID -> (lanes, dirs)
static double getRoadSideOffset(const NBEdge *e)
static void writeEmptyCenterLane(OutputDevice &device, const std::string &mark, double markWidth)
static void writeSignals(OutputDevice &device, const NBEdge *e, double length, SignalLanes &signalLanes, const ShapeContainer &shc)
write signal record for traffic light
static void writeRoadObjects(OutputDevice &device, const NBEdge *e, const ShapeContainer &shc, const std::vector< std::string > &crossings)
write road objects referenced as edge parameters
static bool lefthand
whether a lefthand network is being written
static void writeRoadObjectPoly(OutputDevice &device, const NBEdge *e, const PositionVector &roadShape, const SUMOPolygon *p)
static void writeElevationProfile(const PositionVector &shape, OutputDevice &device, const OutputDevice_String &elevationDevice)
static std::string getDividerType(const NBEdge *e)
retrieve divider type
static std::string getLaneType(SVCPermissions permissions)
static bool writeGeomSmooth(const PositionVector &shape, double speed, OutputDevice &device, OutputDevice &elevationDevice, double straightThresh, double &length)
static int s2x(int sumoIndex, int numLanes)
convert sumo lane index to xodr lane index
static void writeNetwork(const OptionsCont &oc, NBNetBuilder &nb)
Writes the network into a openDRIVE-file.
static int getID(const std::string &origID, StringBijection< int > &map, int &lastID)
static double writeGeomPP3(OutputDevice &device, OutputDevice &elevationDevice, PositionVector init, double length, double offset=0)
write geometry as a single bezier curve (paramPoly3)
static int writeInternalEdge(OutputDevice &device, OutputDevice &junctionDevice, const NBEdge *inEdge, int nodeID, int edgeID, int inEdgeID, int outEdgeID, int connectionID, const std::vector< NBEdge::Connection > ¶llel, const bool isOuterEdge, const double straightThresh, const std::string ¢erMark, SignalLanes &signalLanes)
write internal edge to device, return next connectionID
static TrafficSign parseTrafficSignId(const std::string &trafficSign)
static PositionVector getOuterLaneBorder(const NBEdge *edge, int laneIndex=-1)
get the lane border that is further away from the reference line (center line of the edge)
static double writeGeomLines(const PositionVector &shape, OutputDevice &device, OutputDevice &elevationDevice, double offset=0)
write geometry as sequence of lines (sumo style)
A storage for options typed value containers)
An output device that encapsulates an ofstream.
Static storage of an output device and its base (abstract) implementation.
Storage for geometrical objects.