SUMO - Simulation of Urban MObility
NWWriter_OpenDrive.h
Go to the documentation of this file.
1 /****************************************************************************/
7 // Exporter writing networks using the openDRIVE format
8 /****************************************************************************/
9 // SUMO, Simulation of Urban MObility; see http://sumo.dlr.de/
10 // Copyright (C) 2001-2016 DLR (http://www.dlr.de/) and contributors
11 /****************************************************************************/
12 //
13 // This file is part of SUMO.
14 // SUMO is free software: you can redistribute it and/or modify
15 // it under the terms of the GNU General Public License as published by
16 // the Free Software Foundation, either version 3 of the License, or
17 // (at your option) any later version.
18 //
19 /****************************************************************************/
20 #ifndef NWWriter_OpenDrive_h
21 #define NWWriter_OpenDrive_h
22 
23 
24 // ===========================================================================
25 // included modules
26 // ===========================================================================
27 #ifdef _MSC_VER
28 #include <windows_config.h>
29 #else
30 #include <config.h>
31 #endif
32 
35 
36 
37 // ===========================================================================
38 // class declarations
39 // ===========================================================================
40 class NBNetBuilder;
41 class NBEdge;
42 class OptionsCont;
43 class PositionVector;
44 class OutputDevice;
45 
46 
47 // ===========================================================================
48 // class definitions
49 // ===========================================================================
56 public:
62  static void writeNetwork(const OptionsCont& oc, NBNetBuilder& nb);
63 
64 protected:
65  static void writePlanView(const PositionVector& shape, OutputDevice& device);
66  static void writeEmptyCenterLane(OutputDevice& device, const std::string& mark, SUMOReal markWidth);
67  static int getID(const std::string& origID, StringBijection<int>& map, int& lastID);
68 
69  static std::string getLaneType(SVCPermissions permissions);
70 
72  static PositionVector getLeftLaneBorder(const NBEdge* edge, int laneIndex = -1);
73 };
74 
75 
76 #endif
77 
78 /****************************************************************************/
79 
static void writePlanView(const PositionVector &shape, OutputDevice &device)
int SVCPermissions
The representation of a single edge during network building.
Definition: NBEdge.h:70
static void writeNetwork(const OptionsCont &oc, NBNetBuilder &nb)
Writes the network into a openDRIVE-file.
A list of positions.
Exporter writing networks using the openDRIVE format.
static void writeEmptyCenterLane(OutputDevice &device, const std::string &mark, SUMOReal markWidth)
static std::string getLaneType(SVCPermissions permissions)
Instance responsible for building networks.
Definition: NBNetBuilder.h:113
A storage for options typed value containers)
Definition: OptionsCont.h:108
static PositionVector getLeftLaneBorder(const NBEdge *edge, int laneIndex=-1)
get the left border of the given lane (the leftmost one by default)
Static storage of an output device and its base (abstract) implementation.
Definition: OutputDevice.h:71
#define SUMOReal
Definition: config.h:213
static int getID(const std::string &origID, StringBijection< int > &map, int &lastID)