Eclipse SUMO - Simulation of Urban MObility
NIImporter_OpenDrive.h
Go to the documentation of this file.
1 /****************************************************************************/
2 // Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.org/sumo
3 // Copyright (C) 2001-2019 German Aerospace Center (DLR) and others.
4 // This program and the accompanying materials
5 // are made available under the terms of the Eclipse Public License v2.0
6 // which accompanies this distribution, and is available at
7 // http://www.eclipse.org/legal/epl-v20.html
8 // SPDX-License-Identifier: EPL-2.0
9 /****************************************************************************/
17 // Importer for networks stored in openDrive format
18 /****************************************************************************/
19 #ifndef NIImporter_OpenDrive_h
20 #define NIImporter_OpenDrive_h
21 
22 
23 // ===========================================================================
24 // included modules
25 // ===========================================================================
26 #include <config.h>
27 
28 #include <string>
29 #include <map>
32 
33 
34 // ===========================================================================
35 // class declarations
36 // ===========================================================================
37 class NBNetBuilder;
38 class NBEdge;
39 class OptionsCont;
40 class NBNode;
41 class NBNodeCont;
42 
43 
44 #define UNSET_CONNECTION 100000
45 
46 // ===========================================================================
47 // class definitions
48 // ===========================================================================
55 public:
71  static void loadNetwork(const OptionsCont& oc, NBNetBuilder& nb);
72 
73 
74 protected:
75 
111  };
112 
113 
168  OPENDRIVE_ATTR_UNIT // xodr v1.4
169  };
170 
171 
174  enum LinkType {
177  };
178 
179 
182  enum ElementType {
186  };
187 
188 
195  };
196 
206  };
207 
208 
209 
214  struct OpenDriveLink {
219  OpenDriveLink(LinkType linkTypeArg, const std::string& elementIDArg)
220  : linkType(linkTypeArg), elementID(elementIDArg),
222 
224  std::string elementID;
227  };
228 
229 
242  OpenDriveGeometry(double lengthArg, double sArg, double xArg, double yArg, double hdgArg)
243  : length(lengthArg), s(sArg), x(xArg), y(yArg), hdg(hdgArg),
245 
246  double length;
247  double s;
248  double x;
249  double y;
250  double hdg;
252  std::vector<double> params;
253  };
254 
259  struct Poly3 {
267  Poly3(double _s, double _a, double _b, double _c, double _d) :
268  s(_s), a(_a), b(_b), c(_c), d(_d) {}
269 
270  double computeAt(double pos) const {
271  const double ds = pos - s;
272  return a + b * ds + c * ds * ds + d * ds * ds * ds;
273  }
274 
275  double s;
276  double a;
277  double b;
278  double c;
279  double d;
280  };
281 
286 
287 
292  struct OpenDriveLane {
298  OpenDriveLane(int idArg, const std::string& levelArg, const std::string& typeArg) :
299  id(idArg), level(levelArg), type(typeArg), successor(UNSET_CONNECTION), predecessor(UNSET_CONNECTION),
300  speed(0), width(NBEdge::UNSPECIFIED_WIDTH) { }
301 
302  int id;
303  std::string level;
304  std::string type;
305  int successor;
307  std::vector<std::pair<double, double> > speeds;
308  double speed;
309  double width; //The lane's maximum width
310  std::vector<OpenDriveWidth> widthData;
311  };
312 
313 
322  OpenDriveLaneSection(double sArg);
323 
324 
331  void buildLaneMapping(const NBTypeCont& tc);
332 
333 
339  std::map<int, int> getInnerConnections(OpenDriveXMLTag dir, const OpenDriveLaneSection& prev);
340 
341 
342  bool buildSpeedChanges(const NBTypeCont& tc, std::vector<OpenDriveLaneSection>& newSections);
343  OpenDriveLaneSection buildLaneSection(double startPos);
344 
346  double s;
348  double sOrig;
350  double length;
352  std::map<int, int> laneMap;
354  std::map<OpenDriveXMLTag, std::vector<OpenDriveLane> > lanesByDir;
356  std::string sumoID;
360  std::string rightType;
361  std::string leftType;
362  };
363 
364 
365 
379  OpenDriveSignal(const std::string& idArg, const std::string typeArg, const std::string nameArg, int orientationArg, bool dynamicArg, double sArg)
380  : id(idArg), type(typeArg), name(nameArg), orientation(orientationArg), dynamic(dynamicArg), s(sArg) { }
381 
382  std::string id;
383  std::string type;
384  std::string name;
386  bool dynamic;
387  double s;
388  };
389 
390 
395  struct Connection {
396  std::string fromEdge;
397  std::string toEdge;
398  int fromLane;
399  int toLane;
402  bool all;
403  std::string origID;
404  int origLane;
406 
407  std::string getDescription() const {
408  return "Connection from=" + fromEdge + "_" + toString(fromLane)
409  + " to=" + toEdge + "_" + toString(toLane)
410  + " fromCP=" + (fromCP == OPENDRIVE_CP_START ? "start" : fromCP == OPENDRIVE_CP_END ? "end" : "unknown")
411  + " toCP=" + (toCP == OPENDRIVE_CP_START ? "start" : toCP == OPENDRIVE_CP_END ? "end" : "unknown")
412  + " all=" + toString(all);
413  //+ " origID=" + origID + " origLane=" + toString(origLane);
414  }
415  };
416 
422  std::string type;
423  std::string name;
424  std::string id;
425  double s;
426  double t;
427  double zOffset;
428  double length;
429  double width;
430  double height;
431  double radius;
432  double hdg;
433  double pitch;
434  double roll;
435  };
436 
441  struct OpenDriveEdge {
442  OpenDriveEdge(const std::string& idArg, const std::string& streetNameArg, const std::string& junctionArg, double lengthArg) :
443  id(idArg),
444  streetName(streetNameArg),
445  junction(junctionArg),
446  length(lengthArg),
447  from(0),
448  to(0) {
449  isInner = junction != "" && junction != "-1";
450  }
451 
452 
459  int getPriority(OpenDriveXMLTag dir) const;
460 
461 
463  std::string id;
465  std::string streetName;
467  std::string junction;
469  double length;
470  std::vector<OpenDriveLink> links;
471  std::vector<OpenDriveGeometry> geometries;
472  std::vector<OpenDriveElevation> elevations;
473  std::vector<OpenDriveLaneOffset> offsets;
477  std::vector<double> laneOffsets;
478  std::vector<OpenDriveLaneSection> laneSections;
479  std::vector<OpenDriveSignal> signals;
480  std::set<Connection> connections;
481  std::vector<OpenDriveObject> objects;
482  bool isInner;
483  };
484 
485 
488  public:
490  explicit sections_by_s_sorter() { }
491 
494  return ls1.s < ls2.s;
495  }
496  };
497 
498  /* @brief A class for search in position/speed tuple vectors for the given position */
500  public:
502  explicit same_position_finder(double pos) : myPosition(pos) { }
503 
505  bool operator()(const std::pair<double, double>& ps) {
506  return ps.first == myPosition;
507  }
508 
509  private:
510  same_position_finder& operator=(const same_position_finder&); // just to avoid a compiler warning
511  private:
513  double myPosition;
514 
515  };
516 
517 protected:
522  NIImporter_OpenDrive(const NBTypeCont& tc, std::map<std::string, OpenDriveEdge*>& edges);
523 
524 
527 
528 
529 
531 
532 
543  void myStartElement(int element, const SUMOSAXAttributes& attrs);
544 
553  void myCharacters(int element, const std::string& chars);
554 
555 
562  void myEndElement(int element);
564 
565 
566 
567 private:
568  void addLink(LinkType lt, const std::string& elementType, const std::string& elementID,
569  const std::string& contactPoint);
570  void addGeometryShape(GeometryType type, const std::vector<double>& vals);
571  static void setEdgeLinks2(OpenDriveEdge& e, const std::map<std::string, OpenDriveEdge*>& edges);
572  static void buildConnectionsToOuter(const Connection& c, const std::map<std::string, OpenDriveEdge*>& innerEdges, std::vector<Connection>& into, std::set<Connection>& seen);
573  static bool laneSectionsConnected(OpenDriveEdge* edge, int in, int out);
574  friend bool operator<(const Connection& c1, const Connection& c2);
575  static std::string revertID(const std::string& id);
578 
579  std::map<std::string, OpenDriveEdge*>& myEdges;
580  std::vector<int> myElementStack;
582  std::string myCurrentJunctionID;
587 
588  static bool myImportAllTypes;
589  static bool myImportWidths;
590  static double myMinWidth;
592 
593 
594 protected:
608  static NBNode* getOrBuildNode(const std::string& id, const Position& pos, NBNodeCont& nc);
609 
610 
611  static PositionVector geomFromLine(const OpenDriveEdge& e, const OpenDriveGeometry& g, double resolution);
612  static PositionVector geomFromSpiral(const OpenDriveEdge& e, const OpenDriveGeometry& g, double resolution);
613  static PositionVector geomFromArc(const OpenDriveEdge& e, const OpenDriveGeometry& g, double resolution);
614  static PositionVector geomFromPoly(const OpenDriveEdge& e, const OpenDriveGeometry& g, double resolution);
615  static PositionVector geomFromParamPoly(const OpenDriveEdge& e, const OpenDriveGeometry& g, double resolution);
616  static Position calculateStraightEndPoint(double hdg, double length, const Position& start);
617  static void calculateCurveCenter(double* ad_x, double* ad_y, double ad_radius, double ad_hdg);
618  static void calcPointOnCurve(double* ad_x, double* ad_y, double ad_centerX, double ad_centerY,
619  double ad_r, double ad_length);
620 
621 
625  static void computeShapes(std::map<std::string, OpenDriveEdge*>& edges);
626 
627  static bool hasNonLinearElevation(OpenDriveEdge& e);
628 
634  static void revisitLaneSections(const NBTypeCont& tc, std::map<std::string, OpenDriveEdge*>& edges);
635 
636  static void setNodeSecure(NBNodeCont& nc, OpenDriveEdge& e,
637  const std::string& nodeID, NIImporter_OpenDrive::LinkType lt);
638 
639 
640  static void splitMinWidths(OpenDriveEdge* e, const NBTypeCont& tc, double minDist);
641 
642  static void findWidthSplit(const NBTypeCont& tc, std::vector<OpenDriveLane>& lanes,
643  int section, double sectionStart, double sectionEnd,
644  std::vector<double>& splitPositions);
645 
646  static void sanitizeWidths(OpenDriveEdge* e);
647  static void sanitizeWidths(std::vector<OpenDriveLane>& lanes, double length);
648 
649  static void setStraightConnections(std::vector<OpenDriveLane>& lanes);
650  static void recomputeWidths(OpenDriveLaneSection& sec, double start, double end, double sectionStart, double sectionEnd);
651  static void recomputeWidths(std::vector<OpenDriveLane>& lanes, double start, double end, double sectionStart, double sectionEnd);
652  static void setLaneAttributes(const OpenDriveEdge* e, NBEdge::Lane& sumoLane, const OpenDriveLane& odLane, bool saveOrigIDs, const NBTypeCont& tc);
653 
656 
659 
660 
661 
662 };
663 
664 
665 #endif
666 
667 /****************************************************************************/
668 
GenericSAXHandler.h
NIImporter_OpenDrive::OpenDriveEdge::getPriority
int getPriority(OpenDriveXMLTag dir) const
Returns the edge's priority, regarding the direction.
Definition: NIImporter_OpenDrive.cpp:1738
NIImporter_OpenDrive::OpenDriveSignal
Representation of a signal.
Definition: NIImporter_OpenDrive.h:370
NIImporter_OpenDrive::OpenDriveEdge::to
NBNode * to
Definition: NIImporter_OpenDrive.h:475
NIImporter_OpenDrive::OPENDRIVE_TAG_SIGNAL
Definition: NIImporter_OpenDrive.h:101
NIImporter_OpenDrive::OPENDRIVE_TAG_CENTER
Definition: NIImporter_OpenDrive.h:98
NIImporter_OpenDrive::addLink
void addLink(LinkType lt, const std::string &elementType, const std::string &elementID, const std::string &contactPoint)
Definition: NIImporter_OpenDrive.cpp:2152
NIImporter_OpenDrive::myImportInternalShapes
static bool myImportInternalShapes
Definition: NIImporter_OpenDrive.h:591
NIImporter_OpenDrive::OPENDRIVE_ATTR_LEVEL
Definition: NIImporter_OpenDrive.h:158
NIImporter_OpenDrive::OpenDriveEdge
Representation of an openDrive "link".
Definition: NIImporter_OpenDrive.h:441
NIImporter_OpenDrive::OPENDRIVE_TAG_SUCCESSOR
Definition: NIImporter_OpenDrive.h:86
NIImporter_OpenDrive::OpenDriveLaneSection::sOrig
double sOrig
The original starting offset of this lane section (differs from s if the section had to be split)
Definition: NIImporter_OpenDrive.h:348
NIImporter_OpenDrive::myTypeContainer
const NBTypeCont & myTypeContainer
Definition: NIImporter_OpenDrive.h:576
NIImporter_OpenDrive::OpenDriveLaneSection::getInnerConnections
std::map< int, int > getInnerConnections(OpenDriveXMLTag dir, const OpenDriveLaneSection &prev)
Returns the links from the previous to this lane section.
Definition: NIImporter_OpenDrive.cpp:1608
NIImporter_OpenDrive::Poly3::computeAt
double computeAt(double pos) const
Definition: NIImporter_OpenDrive.h:270
NIImporter_OpenDrive::Connection::origLane
int origLane
Definition: NIImporter_OpenDrive.h:404
NIImporter_OpenDrive::OpenDriveLaneSection::laneMap
std::map< int, int > laneMap
A mapping from OpenDrive to SUMO-index (the first is signed, the second unsigned)
Definition: NIImporter_OpenDrive.h:352
NIImporter_OpenDrive::geomFromPoly
static PositionVector geomFromPoly(const OpenDriveEdge &e, const OpenDriveGeometry &g, double resolution)
Definition: NIImporter_OpenDrive.cpp:1465
NIImporter_OpenDrive::OpenDriveObject::height
double height
Definition: NIImporter_OpenDrive.h:430
NIImporter_OpenDrive::OPENDRIVE_GT_SPIRAL
Definition: NIImporter_OpenDrive.h:202
NIImporter_OpenDrive::myCurrentLaneDirection
OpenDriveXMLTag myCurrentLaneDirection
Definition: NIImporter_OpenDrive.h:581
NBNetBuilder
Instance responsible for building networks.
Definition: NBNetBuilder.h:110
NIImporter_OpenDrive::OPENDRIVE_TAG_CONNECTION
Definition: NIImporter_OpenDrive.h:103
NIImporter_OpenDrive::OPENDRIVE_ATTR_FROM
Definition: NIImporter_OpenDrive.h:163
NIImporter_OpenDrive::OpenDriveEdge::junction
std::string junction
The id of the junction the edge belongs to.
Definition: NIImporter_OpenDrive.h:467
NIImporter_OpenDrive::same_position_finder::operator=
same_position_finder & operator=(const same_position_finder &)
NIImporter_OpenDrive::OPENDRIVE_GT_UNKNOWN
Definition: NIImporter_OpenDrive.h:200
NIImporter_OpenDrive::OpenDriveSignal::name
std::string name
Definition: NIImporter_OpenDrive.h:384
NIImporter_OpenDrive::OpenDriveLaneSection::length
double length
The length of this lane section.
Definition: NIImporter_OpenDrive.h:350
NIImporter_OpenDrive::OPENDRIVE_TAG_LANELINK
Definition: NIImporter_OpenDrive.h:104
NIImporter_OpenDrive::OpenDriveGeometry::x
double x
Definition: NIImporter_OpenDrive.h:248
NIImporter_OpenDrive::OpenDriveLane::width
double width
Definition: NIImporter_OpenDrive.h:309
NIImporter_OpenDrive::OPENDRIVE_ATTR_DISTANCE
Definition: NIImporter_OpenDrive.h:127
NIImporter_OpenDrive::OPENDRIVE_TAG_GEOMETRY
Definition: NIImporter_OpenDrive.h:89
NIImporter_OpenDrive::OpenDriveEdge::connections
std::set< Connection > connections
Definition: NIImporter_OpenDrive.h:480
NIImporter_OpenDrive::OpenDriveEdge::laneSections
std::vector< OpenDriveLaneSection > laneSections
Definition: NIImporter_OpenDrive.h:478
NIImporter_OpenDrive::geomFromSpiral
static PositionVector geomFromSpiral(const OpenDriveEdge &e, const OpenDriveGeometry &g, double resolution)
Definition: NIImporter_OpenDrive.cpp:1355
NIImporter_OpenDrive::OpenDriveLaneSection
Representation of a lane section.
Definition: NIImporter_OpenDrive.h:318
NIImporter_OpenDrive::Connection::fromLane
int fromLane
Definition: NIImporter_OpenDrive.h:398
NIImporter_OpenDrive::sanitizeWidths
static void sanitizeWidths(OpenDriveEdge *e)
Definition: NIImporter_OpenDrive.cpp:2204
NIImporter_OpenDrive::Connection::all
bool all
Definition: NIImporter_OpenDrive.h:402
NIImporter_OpenDrive::NIImporter_OpenDrive
NIImporter_OpenDrive(const NBTypeCont &tc, std::map< std::string, OpenDriveEdge * > &edges)
Constructor.
Definition: NIImporter_OpenDrive.cpp:1765
NIImporter_OpenDrive::OPENDRIVE_TAG_ELEVATION
Definition: NIImporter_OpenDrive.h:107
NIImporter_OpenDrive::OpenDriveObject::length
double length
Definition: NIImporter_OpenDrive.h:428
NIImporter_OpenDrive::OPENDRIVE_ATTR_C
Definition: NIImporter_OpenDrive.h:146
NIImporter_OpenDrive::OPENDRIVE_ATTR_CONTACTPOINT
Definition: NIImporter_OpenDrive.h:135
NIImporter_OpenDrive::OpenDriveSignal::OpenDriveSignal
OpenDriveSignal(const std::string &idArg, const std::string typeArg, const std::string nameArg, int orientationArg, bool dynamicArg, double sArg)
Constructor.
Definition: NIImporter_OpenDrive.h:379
NIImporter_OpenDrive::OpenDriveLane
Representation of a lane.
Definition: NIImporter_OpenDrive.h:292
NIImporter_OpenDrive::OpenDriveLane::speed
double speed
The lane's speed (set in post-processing)
Definition: NIImporter_OpenDrive.h:308
NIImporter_OpenDrive::myCharacters
void myCharacters(int element, const std::string &chars)
Callback method for characters to implement by derived classes.
Definition: NIImporter_OpenDrive.cpp:2088
NIImporter_OpenDrive::OpenDriveLane::OpenDriveLane
OpenDriveLane(int idArg, const std::string &levelArg, const std::string &typeArg)
Constructor.
Definition: NIImporter_OpenDrive.h:298
NIImporter_OpenDrive::OPENDRIVE_ATTR_A
Definition: NIImporter_OpenDrive.h:144
NIImporter_OpenDrive::OPENDRIVE_ATTR_DU
Definition: NIImporter_OpenDrive.h:151
NIImporter_OpenDrive::OpenDriveLane::level
std::string level
The lane's level (not used)
Definition: NIImporter_OpenDrive.h:303
NIImporter_OpenDrive::OpenDriveLane::predecessor
int predecessor
The lane's predecessor lane.
Definition: NIImporter_OpenDrive.h:306
NIImporter_OpenDrive::OPENDRIVE_CP_UNKNOWN
Definition: NIImporter_OpenDrive.h:192
NIImporter_OpenDrive::calculateStraightEndPoint
static Position calculateStraightEndPoint(double hdg, double length, const Position &start)
Definition: NIImporter_OpenDrive.cpp:1501
NIImporter_OpenDrive::sections_by_s_sorter::sections_by_s_sorter
sections_by_s_sorter()
Constructor.
Definition: NIImporter_OpenDrive.h:490
NIImporter_OpenDrive::OPENDRIVE_TAG_SPIRAL
Definition: NIImporter_OpenDrive.h:91
NIImporter_OpenDrive::OpenDriveLaneSection::rightType
std::string rightType
the composite type built from all used lane types
Definition: NIImporter_OpenDrive.h:360
NIImporter_OpenDrive::OpenDriveObject::t
double t
Definition: NIImporter_OpenDrive.h:426
NIImporter_OpenDrive::OpenDriveEdge::signals
std::vector< OpenDriveSignal > signals
Definition: NIImporter_OpenDrive.h:479
NIImporter_OpenDrive::OPENDRIVE_ATTR_INCOMINGROAD
Definition: NIImporter_OpenDrive.h:161
NIImporter_OpenDrive::OpenDriveLaneOffset
Poly3 OpenDriveLaneOffset
Definition: NIImporter_OpenDrive.h:284
NIImporter_OpenDrive::OPENDRIVE_ATTR_AU
Definition: NIImporter_OpenDrive.h:148
NIImporter_OpenDrive::OPENDRIVE_ATTR_WIDTH
Definition: NIImporter_OpenDrive.h:125
PositionVector
A list of positions.
Definition: PositionVector.h:46
NIImporter_OpenDrive::Connection::fromEdge
std::string fromEdge
Definition: NIImporter_OpenDrive.h:396
NIImporter_OpenDrive::OPENDRIVE_ATTR_S
Definition: NIImporter_OpenDrive.h:136
NIImporter_OpenDrive::OpenDriveObject::radius
double radius
Definition: NIImporter_OpenDrive.h:431
NIImporter_OpenDrive::OpenDriveXMLTag
OpenDriveXMLTag
Numbers representing openDrive-XML - element names.
Definition: NIImporter_OpenDrive.h:81
NIImporter_OpenDrive::OPENDRIVE_GT_ARC
Definition: NIImporter_OpenDrive.h:203
NIImporter_OpenDrive::OPENDRIVE_TAG_REPEAT
Definition: NIImporter_OpenDrive.h:110
NIImporter_OpenDrive::myConnectionWasEmpty
bool myConnectionWasEmpty
Definition: NIImporter_OpenDrive.h:586
NIImporter_OpenDrive::OPENDRIVE_ATTR_WIDTHSTART
Definition: NIImporter_OpenDrive.h:130
NIImporter_OpenDrive::OPENDRIVE_ATTR_CV
Definition: NIImporter_OpenDrive.h:154
NBNodeCont
Container for nodes during the netbuilding process.
Definition: NBNodeCont.h:60
NIImporter_OpenDrive::revisitLaneSections
static void revisitLaneSections(const NBTypeCont &tc, std::map< std::string, OpenDriveEdge * > &edges)
Rechecks lane sections of the given edges.
Definition: NIImporter_OpenDrive.cpp:1274
NIImporter_OpenDrive::OPENDRIVE_ATTR_TEND
Definition: NIImporter_OpenDrive.h:129
NIImporter_OpenDrive::OpenDriveLane::type
std::string type
The lane's type.
Definition: NIImporter_OpenDrive.h:304
NBEdge
The representation of a single edge during network building.
Definition: NBEdge.h:86
NIImporter_OpenDrive::geomFromLine
static PositionVector geomFromLine(const OpenDriveEdge &e, const OpenDriveGeometry &g, double resolution)
Definition: NIImporter_OpenDrive.cpp:1334
NIImporter_OpenDrive::OpenDriveObject::id
std::string id
Definition: NIImporter_OpenDrive.h:424
NIImporter_OpenDrive::OpenDriveGeometry::s
double s
Definition: NIImporter_OpenDrive.h:247
NIImporter_OpenDrive::OpenDriveObject::s
double s
Definition: NIImporter_OpenDrive.h:425
NIImporter_OpenDrive::OPENDRIVE_ATTR_ELEMENTID
Definition: NIImporter_OpenDrive.h:134
NIImporter_OpenDrive::OPENDRIVE_ATTR_PRANGE
Definition: NIImporter_OpenDrive.h:156
NIImporter_OpenDrive::OpenDriveElevation
Poly3 OpenDriveElevation
LaneOffset has the same fields as Elevation.
Definition: NIImporter_OpenDrive.h:283
NIImporter_OpenDrive::OPENDRIVE_ATTR_ID
Definition: NIImporter_OpenDrive.h:123
NIImporter_OpenDrive::OpenDriveLane::id
int id
The lane's id.
Definition: NIImporter_OpenDrive.h:302
NIImporter_OpenDrive::OPENDRIVE_ATTR_CURVSTART
Definition: NIImporter_OpenDrive.h:141
NIImporter_OpenDrive::Connection
A connection between two roads.
Definition: NIImporter_OpenDrive.h:395
NIImporter_OpenDrive
Importer for networks stored in openDrive format.
Definition: NIImporter_OpenDrive.h:54
NIImporter_OpenDrive::OPENDRIVE_TAG_ROAD
Definition: NIImporter_OpenDrive.h:84
NIImporter_OpenDrive::OpenDriveSignal::type
std::string type
Definition: NIImporter_OpenDrive.h:383
NIImporter_OpenDrive::OPENDRIVE_TAG_OBJECT
Definition: NIImporter_OpenDrive.h:109
NIImporter_OpenDrive::Connection::getDescription
std::string getDescription() const
Definition: NIImporter_OpenDrive.h:407
NIImporter_OpenDrive::OPENDRIVE_ATTR_ELEMENTTYPE
Definition: NIImporter_OpenDrive.h:133
NIImporter_OpenDrive::Poly3::d
double d
Definition: NIImporter_OpenDrive.h:279
NIImporter_OpenDrive::Poly3::c
double c
Definition: NIImporter_OpenDrive.h:278
NIImporter_OpenDrive::OPENDRIVE_ATTR_WIDTHEND
Definition: NIImporter_OpenDrive.h:131
NIImporter_OpenDrive::OPENDRIVE_ATTR_CURVATURE
Definition: NIImporter_OpenDrive.h:143
NIImporter_OpenDrive::OpenDriveGeometry::y
double y
Definition: NIImporter_OpenDrive.h:249
NIImporter_OpenDrive::OPENDRIVE_GT_LINE
Definition: NIImporter_OpenDrive.h:201
NIImporter_OpenDrive::OPENDRIVE_ATTR_BV
Definition: NIImporter_OpenDrive.h:153
NIImporter_OpenDrive::myEndElement
void myEndElement(int element)
Called when a closing tag occurs.
Definition: NIImporter_OpenDrive.cpp:2116
StringBijection
Definition: StringBijection.h:44
NIImporter_OpenDrive::OpenDriveEdge::isInner
bool isInner
Definition: NIImporter_OpenDrive.h:482
NIImporter_OpenDrive::geomFromParamPoly
static PositionVector geomFromParamPoly(const OpenDriveEdge &e, const OpenDriveGeometry &g, double resolution)
Definition: NIImporter_OpenDrive.cpp:1482
NIImporter_OpenDrive::OPENDRIVE_ATTR_X
Definition: NIImporter_OpenDrive.h:138
NIImporter_OpenDrive::OpenDriveGeometry
Representation of an OpenDrive geometry part.
Definition: NIImporter_OpenDrive.h:234
NIImporter_OpenDrive::OpenDriveEdge::objects
std::vector< OpenDriveObject > objects
Definition: NIImporter_OpenDrive.h:481
NIImporter_OpenDrive::OpenDriveEdge::length
double length
The length of the edge.
Definition: NIImporter_OpenDrive.h:469
NIImporter_OpenDrive::OPENDRIVE_ATTR_DYNAMIC
Definition: NIImporter_OpenDrive.h:160
NIImporter_OpenDrive::splitMinWidths
static void splitMinWidths(OpenDriveEdge *e, const NBTypeCont &tc, double minDist)
Definition: NIImporter_OpenDrive.cpp:2247
NIImporter_OpenDrive::OPENDRIVE_ATTR_T
Definition: NIImporter_OpenDrive.h:137
NIImporter_OpenDrive::calcPointOnCurve
static void calcPointOnCurve(double *ad_x, double *ad_y, double ad_centerX, double ad_centerY, double ad_r, double ad_length)
Definition: NIImporter_OpenDrive.cpp:1541
NIImporter_OpenDrive::OPENDRIVE_TAG_LANE
Definition: NIImporter_OpenDrive.h:100
NIImporter_OpenDrive::OPENDRIVE_ATTR_RADIUS
Definition: NIImporter_OpenDrive.h:126
NIImporter_OpenDrive::buildConnectionsToOuter
static void buildConnectionsToOuter(const Connection &c, const std::map< std::string, OpenDriveEdge * > &innerEdges, std::vector< Connection > &into, std::set< Connection > &seen)
Definition: NIImporter_OpenDrive.cpp:797
NIImporter_OpenDrive::OpenDriveLaneSection::rightLaneNumber
int rightLaneNumber
The number of lanes on the right and on the left side, respectively.
Definition: NIImporter_OpenDrive.h:358
NIImporter_OpenDrive::OpenDriveGeometry::hdg
double hdg
Definition: NIImporter_OpenDrive.h:250
NIImporter_OpenDrive::same_position_finder::operator()
bool operator()(const std::pair< double, double > &ps)
the comparing function
Definition: NIImporter_OpenDrive.h:505
NIImporter_OpenDrive::OpenDriveObject::name
std::string name
Definition: NIImporter_OpenDrive.h:423
NIImporter_OpenDrive::OPENDRIVE_TAG_LANEOFFSET
Definition: NIImporter_OpenDrive.h:96
NIImporter_OpenDrive::myImportWidths
static bool myImportWidths
Definition: NIImporter_OpenDrive.h:589
NIImporter_OpenDrive::OPENDRIVE_TAG_RIGHT
Definition: NIImporter_OpenDrive.h:99
NIImporter_OpenDrive::Poly3
Definition: NIImporter_OpenDrive.h:259
NIImporter_OpenDrive::OpenDriveEdge::offsets
std::vector< OpenDriveLaneOffset > offsets
Definition: NIImporter_OpenDrive.h:473
Position
A point in 2D or 3D with translation and scaling methods.
Definition: Position.h:39
NIImporter_OpenDrive::OpenDriveEdge::links
std::vector< OpenDriveLink > links
Definition: NIImporter_OpenDrive.h:470
NIImporter_OpenDrive::OpenDriveLaneSection::buildSpeedChanges
bool buildSpeedChanges(const NBTypeCont &tc, std::vector< OpenDriveLaneSection > &newSections)
Definition: NIImporter_OpenDrive.cpp:1671
NIImporter_OpenDrive::Poly3::Poly3
Poly3(double _s, double _a, double _b, double _c, double _d)
Constructor.
Definition: NIImporter_OpenDrive.h:267
NIImporter_OpenDrive::OPENDRIVE_ATTR_TYPE
Definition: NIImporter_OpenDrive.h:157
NIImporter_OpenDrive::Poly3::b
double b
Definition: NIImporter_OpenDrive.h:277
NIImporter_OpenDrive::OPENDRIVE_TAG_PREDECESSOR
Definition: NIImporter_OpenDrive.h:85
NIImporter_OpenDrive::OPENDRIVE_TAG_LINE
Definition: NIImporter_OpenDrive.h:90
OptionsCont
A storage for options typed value containers)
Definition: OptionsCont.h:90
NIImporter_OpenDrive::OpenDriveGeometry::OpenDriveGeometry
OpenDriveGeometry(double lengthArg, double sArg, double xArg, double yArg, double hdgArg)
Constructor.
Definition: NIImporter_OpenDrive.h:242
NIImporter_OpenDrive::myEdges
std::map< std::string, OpenDriveEdge * > & myEdges
Definition: NIImporter_OpenDrive.h:579
NIImporter_OpenDrive::OPENDRIVE_TAG_NOTHING
Definition: NIImporter_OpenDrive.h:82
NIImporter_OpenDrive::OPENDRIVE_ATTR_NAME
Definition: NIImporter_OpenDrive.h:167
NIImporter_OpenDrive::OPENDRIVE_TAG_GEOREFERENCE
Definition: NIImporter_OpenDrive.h:108
NIImporter_OpenDrive::GeometryType
GeometryType
OpenDrive geometry type enumeration.
Definition: NIImporter_OpenDrive.h:199
NIImporter_OpenDrive::OPENDRIVE_ATTR_Y
Definition: NIImporter_OpenDrive.h:139
NIImporter_OpenDrive::myCurrentIncomingRoad
std::string myCurrentIncomingRoad
Definition: NIImporter_OpenDrive.h:583
NIImporter_OpenDrive::OpenDriveLaneSection::leftType
std::string leftType
Definition: NIImporter_OpenDrive.h:361
NIImporter_OpenDrive::OPENDRIVE_TAG_LEFT
Definition: NIImporter_OpenDrive.h:97
NIImporter_OpenDrive::OpenDriveSignal::dynamic
bool dynamic
Definition: NIImporter_OpenDrive.h:386
NIImporter_OpenDrive::ElementType
ElementType
OpenDrive element type enumeration.
Definition: NIImporter_OpenDrive.h:182
NIImporter_OpenDrive::OpenDriveEdge::laneOffsets
std::vector< double > laneOffsets
Definition: NIImporter_OpenDrive.h:477
NIImporter_OpenDrive::OpenDriveObject::hdg
double hdg
Definition: NIImporter_OpenDrive.h:432
NIImporter_OpenDrive::OPENDRIVE_ATTR_HDG
Definition: NIImporter_OpenDrive.h:140
NIImporter_OpenDrive::OPENDRIVE_TAG_LANESECTION
Definition: NIImporter_OpenDrive.h:95
NIImporter_OpenDrive::OpenDriveObject::width
double width
Definition: NIImporter_OpenDrive.h:429
NIImporter_OpenDrive::setEdgeLinks2
static void setEdgeLinks2(OpenDriveEdge &e, const std::map< std::string, OpenDriveEdge * > &edges)
Definition: NIImporter_OpenDrive.cpp:1014
NIImporter_OpenDrive::OpenDriveEdge::id
std::string id
The id of the edge.
Definition: NIImporter_OpenDrive.h:463
NIImporter_OpenDrive::OpenDriveEdge::elevations
std::vector< OpenDriveElevation > elevations
Definition: NIImporter_OpenDrive.h:472
NIImporter_OpenDrive::myStartElement
void myStartElement(int element, const SUMOSAXAttributes &attrs)
Called on the opening of a tag;.
Definition: NIImporter_OpenDrive.cpp:1776
NIImporter_OpenDrive::OpenDriveObject::roll
double roll
Definition: NIImporter_OpenDrive.h:434
NIImporter_OpenDrive::OPENDRIVE_LT_SUCCESSOR
Definition: NIImporter_OpenDrive.h:175
NIImporter_OpenDrive::myCurrentEdge
OpenDriveEdge myCurrentEdge
Definition: NIImporter_OpenDrive.h:577
toString
std::string toString(const T &t, std::streamsize accuracy=gPrecision)
Definition: ToString.h:48
NIImporter_OpenDrive::revertID
static std::string revertID(const std::string &id)
Definition: NIImporter_OpenDrive.cpp:1101
NIImporter_OpenDrive::OpenDriveGeometry::length
double length
Definition: NIImporter_OpenDrive.h:246
NIImporter_OpenDrive::ContactPoint
ContactPoint
OpenDrive contact type enumeration.
Definition: NIImporter_OpenDrive.h:191
NIImporter_OpenDrive::sections_by_s_sorter::operator()
int operator()(const OpenDriveLaneSection &ls1, const OpenDriveLaneSection &ls2)
Sorting function; compares OpenDriveLaneSection::s.
Definition: NIImporter_OpenDrive.h:493
NIImporter_OpenDrive::myElementStack
std::vector< int > myElementStack
Definition: NIImporter_OpenDrive.h:580
NIImporter_OpenDrive::Connection::origID
std::string origID
Definition: NIImporter_OpenDrive.h:403
NIImporter_OpenDrive::OpenDriveLaneSection::lanesByDir
std::map< OpenDriveXMLTag, std::vector< OpenDriveLane > > lanesByDir
The lanes, sorted by their direction.
Definition: NIImporter_OpenDrive.h:354
NIImporter_OpenDrive::OPENDRIVE_ATTR_REVMAJOR
Definition: NIImporter_OpenDrive.h:121
NIImporter_OpenDrive::OpenDriveLaneSection::OpenDriveLaneSection
OpenDriveLaneSection(double sArg)
Constructor.
Definition: NIImporter_OpenDrive.cpp:1565
NIImporter_OpenDrive::OPENDRIVE_CP_START
Definition: NIImporter_OpenDrive.h:193
NIImporter_OpenDrive::OPENDRIVE_ATTR_CURVEND
Definition: NIImporter_OpenDrive.h:142
NIImporter_OpenDrive::geomFromArc
static PositionVector geomFromArc(const OpenDriveEdge &e, const OpenDriveGeometry &g, double resolution)
Definition: NIImporter_OpenDrive.cpp:1420
NBTypeCont
A storage for available types of edges.
Definition: NBTypeCont.h:55
NIImporter_OpenDrive::OPENDRIVE_CP_END
Definition: NIImporter_OpenDrive.h:194
NIImporter_OpenDrive::OPENDRIVE_ATTR_SOFFSET
Definition: NIImporter_OpenDrive.h:166
NIImporter_OpenDrive::hasNonLinearElevation
static bool hasNonLinearElevation(OpenDriveEdge &e)
Definition: NIImporter_OpenDrive.cpp:1144
NIImporter_OpenDrive::OPENDRIVE_ATTR_D
Definition: NIImporter_OpenDrive.h:147
NIImporter_OpenDrive::calculateCurveCenter
static void calculateCurveCenter(double *ad_x, double *ad_y, double ad_radius, double ad_hdg)
Definition: NIImporter_OpenDrive.cpp:1513
NBEdge::Lane
An (internal) definition of a single lane of an edge.
Definition: NBEdge.h:137
NIImporter_OpenDrive::OPENDRIVE_ATTR_NOTHING
Definition: NIImporter_OpenDrive.h:120
NIImporter_OpenDrive::OPENDRIVE_ATTR_DV
Definition: NIImporter_OpenDrive.h:155
NIImporter_OpenDrive::myMinWidth
static double myMinWidth
Definition: NIImporter_OpenDrive.h:590
NIImporter_OpenDrive::Connection::fromCP
ContactPoint fromCP
Definition: NIImporter_OpenDrive.h:400
NIImporter_OpenDrive::OpenDriveGeometry::params
std::vector< double > params
Definition: NIImporter_OpenDrive.h:252
NIImporter_OpenDrive::OpenDriveLaneSection::s
double s
The starting offset of this lane section.
Definition: NIImporter_OpenDrive.h:346
NIImporter_OpenDrive::OPENDRIVE_TAG_WIDTH
Definition: NIImporter_OpenDrive.h:105
NIImporter_OpenDrive::same_position_finder
Definition: NIImporter_OpenDrive.h:499
NIImporter_OpenDrive::myCurrentContactPoint
ContactPoint myCurrentContactPoint
Definition: NIImporter_OpenDrive.h:585
NIImporter_OpenDrive::OpenDriveEdge::OpenDriveEdge
OpenDriveEdge(const std::string &idArg, const std::string &streetNameArg, const std::string &junctionArg, double lengthArg)
Definition: NIImporter_OpenDrive.h:442
NIImporter_OpenDrive::OpenDriveObject::zOffset
double zOffset
Definition: NIImporter_OpenDrive.h:427
NIImporter_OpenDrive::OpenDriveLane::speeds
std::vector< std::pair< double, double > > speeds
List of positions/speeds of speed changes.
Definition: NIImporter_OpenDrive.h:307
NIImporter_OpenDrive::OpenDriveWidth
Poly3 OpenDriveWidth
Definition: NIImporter_OpenDrive.h:285
NIImporter_OpenDrive::getOrBuildNode
static NBNode * getOrBuildNode(const std::string &id, const Position &pos, NBNodeCont &nc)
Builds a node or returns the already built.
Definition: NIImporter_OpenDrive.cpp:1110
NIImporter_OpenDrive::recomputeWidths
static void recomputeWidths(OpenDriveLaneSection &sec, double start, double end, double sectionStart, double sectionEnd)
Definition: NIImporter_OpenDrive.cpp:2430
NIImporter_OpenDrive::setStraightConnections
static void setStraightConnections(std::vector< OpenDriveLane > &lanes)
Definition: NIImporter_OpenDrive.cpp:2422
NIImporter_OpenDrive::same_position_finder::myPosition
double myPosition
The position to search for.
Definition: NIImporter_OpenDrive.h:513
NIImporter_OpenDrive::OPENDRIVE_TAG_SPEED
Definition: NIImporter_OpenDrive.h:106
NIImporter_OpenDrive::laneSectionsConnected
static bool laneSectionsConnected(OpenDriveEdge *edge, int in, int out)
Definition: NIImporter_OpenDrive.cpp:986
NIImporter_OpenDrive::OPENDRIVE_ET_ROAD
Definition: NIImporter_OpenDrive.h:184
NIImporter_OpenDrive::OPENDRIVE_ATTR_TSTART
Definition: NIImporter_OpenDrive.h:128
NIImporter_OpenDrive::OPENDRIVE_ATTR_REVMINOR
Definition: NIImporter_OpenDrive.h:122
NIImporter_OpenDrive::openDriveAttrs
static StringBijection< int >::Entry openDriveAttrs[]
The names of openDrive-XML attributes (for passing to GenericSAXHandler)
Definition: NIImporter_OpenDrive.h:658
UNSET_CONNECTION
#define UNSET_CONNECTION
Definition: NIImporter_OpenDrive.h:44
NIImporter_OpenDrive::OpenDriveSignal::id
std::string id
Definition: NIImporter_OpenDrive.h:382
NIImporter_OpenDrive::OPENDRIVE_ATTR_MAX
Definition: NIImporter_OpenDrive.h:165
NIImporter_OpenDrive::OPENDRIVE_GT_POLY3
Definition: NIImporter_OpenDrive.h:204
config.h
NIImporter_OpenDrive::OpenDriveLaneSection::leftLaneNumber
int leftLaneNumber
Definition: NIImporter_OpenDrive.h:358
NIImporter_OpenDrive::OPENDRIVE_ATTR_AV
Definition: NIImporter_OpenDrive.h:152
NIImporter_OpenDrive::setLaneAttributes
static void setLaneAttributes(const OpenDriveEdge *e, NBEdge::Lane &sumoLane, const OpenDriveLane &odLane, bool saveOrigIDs, const NBTypeCont &tc)
Definition: NIImporter_OpenDrive.cpp:759
NIImporter_OpenDrive::OPENDRIVE_TAG_POLY3
Definition: NIImporter_OpenDrive.h:93
NIImporter_OpenDrive::Poly3::s
double s
Definition: NIImporter_OpenDrive.h:275
NIImporter_OpenDrive::OpenDriveObject::pitch
double pitch
Definition: NIImporter_OpenDrive.h:433
NIImporter_OpenDrive::OPENDRIVE_ATTR_CONNECTINGROAD
Definition: NIImporter_OpenDrive.h:162
NIImporter_OpenDrive::OPENDRIVE_TAG_HEADER
Definition: NIImporter_OpenDrive.h:83
NIImporter_OpenDrive::LinkType
LinkType
OpenDrive link type enumeration.
Definition: NIImporter_OpenDrive.h:174
NIImporter_OpenDrive::operator<
friend bool operator<(const Connection &c1, const Connection &c2)
Definition: NIImporter_OpenDrive.cpp:2190
NIImporter_OpenDrive::OPENDRIVE_ATTR_JUNCTION
Definition: NIImporter_OpenDrive.h:132
NIImporter_OpenDrive::OpenDriveEdge::geometries
std::vector< OpenDriveGeometry > geometries
Definition: NIImporter_OpenDrive.h:471
NIImporter_OpenDrive::Connection::shape
PositionVector shape
Definition: NIImporter_OpenDrive.h:405
NIImporter_OpenDrive::OpenDriveObject
Definition: NIImporter_OpenDrive.h:421
NIImporter_OpenDrive::OPENDRIVE_TAG_JUNCTION
Definition: NIImporter_OpenDrive.h:102
NIImporter_OpenDrive::~NIImporter_OpenDrive
~NIImporter_OpenDrive()
Destructor.
Definition: NIImporter_OpenDrive.cpp:1771
NIImporter_OpenDrive::OPENDRIVE_ATTR_B
Definition: NIImporter_OpenDrive.h:145
NIImporter_OpenDrive::OpenDriveLane::successor
int successor
The lane's successor lane.
Definition: NIImporter_OpenDrive.h:305
NIImporter_OpenDrive::OPENDRIVE_ET_JUNCTION
Definition: NIImporter_OpenDrive.h:185
NBNode
Represents a single node (junction) during network building.
Definition: NBNode.h:68
NIImporter_OpenDrive::OpenDriveObject::type
std::string type
Definition: NIImporter_OpenDrive.h:422
NIImporter_OpenDrive::OPENDRIVE_GT_PARAMPOLY3
Definition: NIImporter_OpenDrive.h:205
NIImporter_OpenDrive::OpenDriveLaneSection::buildLaneSection
OpenDriveLaneSection buildLaneSection(double startPos)
Definition: NIImporter_OpenDrive.cpp:1647
NIImporter_OpenDrive::OpenDriveXMLAttr
OpenDriveXMLAttr
Numbers representing openDrive-XML - attributes.
Definition: NIImporter_OpenDrive.h:119
NIImporter_OpenDrive::OPENDRIVE_LT_PREDECESSOR
Definition: NIImporter_OpenDrive.h:176
NIImporter_OpenDrive::OPENDRIVE_ATTR_TO
Definition: NIImporter_OpenDrive.h:164
NIImporter_OpenDrive::OpenDriveSignal::orientation
int orientation
Definition: NIImporter_OpenDrive.h:385
GenericSAXHandler
A handler which converts occuring elements and attributes into enums.
Definition: GenericSAXHandler.h:68
NIImporter_OpenDrive::addGeometryShape
void addGeometryShape(GeometryType type, const std::vector< double > &vals)
Definition: NIImporter_OpenDrive.cpp:2174
NIImporter_OpenDrive::OPENDRIVE_ATTR_BU
Definition: NIImporter_OpenDrive.h:149
NIImporter_OpenDrive::Poly3::a
double a
Definition: NIImporter_OpenDrive.h:276
NIImporter_OpenDrive::setNodeSecure
static void setNodeSecure(NBNodeCont &nc, OpenDriveEdge &e, const std::string &nodeID, NIImporter_OpenDrive::LinkType lt)
Definition: NIImporter_OpenDrive.cpp:1124
NIImporter_OpenDrive::OPENDRIVE_ATTR_ORIENTATION
Definition: NIImporter_OpenDrive.h:159
NIImporter_OpenDrive::OpenDriveLaneSection::sumoID
std::string sumoID
The id (generic, without the optionally leading '-') of the edge generated for this section.
Definition: NIImporter_OpenDrive.h:356
NIImporter_OpenDrive::Connection::toCP
ContactPoint toCP
Definition: NIImporter_OpenDrive.h:401
NIImporter_OpenDrive::OpenDriveEdge::geom
PositionVector geom
Definition: NIImporter_OpenDrive.h:476
NIImporter_OpenDrive::OPENDRIVE_TAG_ARC
Definition: NIImporter_OpenDrive.h:92
SUMOSAXAttributes
Encapsulated SAX-Attributes.
Definition: SUMOSAXAttributes.h:57
NIImporter_OpenDrive::OpenDriveSignal::s
double s
Definition: NIImporter_OpenDrive.h:387
NIImporter_OpenDrive::OPENDRIVE_ATTR_UNIT
Definition: NIImporter_OpenDrive.h:168
NIImporter_OpenDrive::OPENDRIVE_ATTR_LENGTH
Definition: NIImporter_OpenDrive.h:124
NIImporter_OpenDrive::OPENDRIVE_ET_UNKNOWN
Definition: NIImporter_OpenDrive.h:183
NIImporter_OpenDrive::myCurrentConnectingRoad
std::string myCurrentConnectingRoad
Definition: NIImporter_OpenDrive.h:584
NIImporter_OpenDrive::OpenDriveEdge::from
NBNode * from
Definition: NIImporter_OpenDrive.h:474
PositionVector.h
NIImporter_OpenDrive::OpenDriveLaneSection::buildLaneMapping
void buildLaneMapping(const NBTypeCont &tc)
Build the mapping from OpenDrive to SUMO lanes.
Definition: NIImporter_OpenDrive.cpp:1573
NIImporter_OpenDrive::OPENDRIVE_TAG_PARAMPOLY3
Definition: NIImporter_OpenDrive.h:94
NIImporter_OpenDrive::sections_by_s_sorter
A class for sorting lane sections by their s-value.
Definition: NIImporter_OpenDrive.h:487
NIImporter_OpenDrive::loadNetwork
static void loadNetwork(const OptionsCont &oc, NBNetBuilder &nb)
Loads content of the optionally given SUMO file.
Definition: NIImporter_OpenDrive.cpp:172
NIImporter_OpenDrive::Connection::toEdge
std::string toEdge
Definition: NIImporter_OpenDrive.h:397
NIImporter_OpenDrive::same_position_finder::same_position_finder
same_position_finder(double pos)
constructor
Definition: NIImporter_OpenDrive.h:502
NIImporter_OpenDrive::myImportAllTypes
static bool myImportAllTypes
Definition: NIImporter_OpenDrive.h:588
NIImporter_OpenDrive::findWidthSplit
static void findWidthSplit(const NBTypeCont &tc, std::vector< OpenDriveLane > &lanes, int section, double sectionStart, double sectionEnd, std::vector< double > &splitPositions)
Definition: NIImporter_OpenDrive.cpp:2340
NIImporter_OpenDrive::OPENDRIVE_ATTR_CU
Definition: NIImporter_OpenDrive.h:150
NIImporter_OpenDrive::OpenDriveGeometry::type
GeometryType type
Definition: NIImporter_OpenDrive.h:251
NIImporter_OpenDrive::OpenDriveLane::widthData
std::vector< OpenDriveWidth > widthData
Definition: NIImporter_OpenDrive.h:310
NIImporter_OpenDrive::myCurrentJunctionID
std::string myCurrentJunctionID
Definition: NIImporter_OpenDrive.h:582
NIImporter_OpenDrive::OpenDriveEdge::streetName
std::string streetName
The road name of the edge.
Definition: NIImporter_OpenDrive.h:465
NIImporter_OpenDrive::Connection::toLane
int toLane
Definition: NIImporter_OpenDrive.h:399
NIImporter_OpenDrive::computeShapes
static void computeShapes(std::map< std::string, OpenDriveEdge * > &edges)
Computes a polygon representation of each edge's geometry.
Definition: NIImporter_OpenDrive.cpp:1157
NIImporter_OpenDrive::openDriveTags
static StringBijection< int >::Entry openDriveTags[]
The names of openDrive-XML elements (for passing to GenericSAXHandler)
Definition: NIImporter_OpenDrive.h:655