SUMO - Simulation of Urban MObility
Main Page
Related Pages
Modules
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
NBAlgorithms_Ramps.h
Go to the documentation of this file.
1
/****************************************************************************/
8
// Algorithms for highway on-/off-ramps computation
9
/****************************************************************************/
10
// SUMO, Simulation of Urban MObility; see http://sumo-sim.org/
11
// Copyright (C) 2012-2014 DLR (http://www.dlr.de/) and contributors
12
/****************************************************************************/
13
//
14
// This file is part of SUMO.
15
// SUMO is free software: you can redistribute it and/or modify
16
// it under the terms of the GNU General Public License as published by
17
// the Free Software Foundation, either version 3 of the License, or
18
// (at your option) any later version.
19
//
20
/****************************************************************************/
21
#ifndef NBAlgorithms_Ramps_h
22
#define NBAlgorithms_Ramps_h
23
24
25
// ===========================================================================
26
// included modules
27
// ===========================================================================
28
#ifdef _MSC_VER
29
#include <
windows_config.h
>
30
#else
31
#include <
config.h
>
32
#endif
33
34
#include <vector>
35
36
37
// ===========================================================================
38
// class declarations
39
// ===========================================================================
40
class
NBNetBuilder
;
41
class
OptionsCont
;
42
class
NBNode
;
43
class
NBEdgeCont
;
44
class
NBDistrictCont
;
45
46
47
// ===========================================================================
48
// class definitions
49
// ===========================================================================
50
// ---------------------------------------------------------------------------
51
// NBAlgorithms_Ramps
52
// ---------------------------------------------------------------------------
53
/* @class NBRampsComputer
54
* @brief Computes highway on-/off-ramps (if wished)
55
*/
56
class
NBRampsComputer
{
57
public
:
62
static
void
computeRamps
(
NBNetBuilder
& nb,
OptionsCont
& oc);
63
65
static
const
std::string
ADDED_ON_RAMP_EDGE
;
66
67
private
:
74
static
bool
mayNeedOnRamp
(
NBNode
* cur,
SUMOReal
minHighwaySpeed,
SUMOReal
maxRampSpeed);
75
76
83
static
bool
mayNeedOffRamp
(
NBNode
* cur,
SUMOReal
minHighwaySpeed,
SUMOReal
maxRampSpeed);
84
85
95
static
void
buildOnRamp
(
NBNode
* cur,
NBNodeCont
& nc,
NBEdgeCont
& ec,
NBDistrictCont
& dc,
SUMOReal
rampLength,
bool
dontSplit, std::set<NBEdge*>& incremented);
96
97
107
static
void
buildOffRamp
(
NBNode
* cur,
NBNodeCont
& nc,
NBEdgeCont
& ec,
NBDistrictCont
& dc,
SUMOReal
rampLength,
bool
dontSplit, std::set<NBEdge*>& incremented);
108
109
110
static
void
getOnRampEdges
(
NBNode
* n,
NBEdge
** potHighway,
NBEdge
** potRamp,
NBEdge
** other);
111
static
void
getOffRampEdges
(
NBNode
* n,
NBEdge
** potHighway,
NBEdge
** potRamp,
NBEdge
** other);
112
static
bool
determinedBySpeed
(
NBEdge
** potHighway,
NBEdge
** potRamp);
113
static
bool
determinedByLaneNumber
(
NBEdge
** potHighway,
NBEdge
** potRamp);
114
127
static
bool
fulfillsRampConstraints
(
NBEdge
* potHighway,
NBEdge
* potRamp,
NBEdge
* other,
SUMOReal
minHighwaySpeed,
SUMOReal
maxRampSpeed);
128
129
134
static
void
moveRampRight
(
NBEdge
* ramp,
int
addedLanes);
135
136
};
137
138
139
#endif
140
141
/****************************************************************************/
142
tmp
buildd
sumo-0.21.0+dfsg
src
netbuild
NBAlgorithms_Ramps.h
Generated on Thu Nov 20 2014 19:49:56 for SUMO - Simulation of Urban MObility by
1.8.1.2