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
/****************************************************************************/
7
// Algorithms for highway on-/off-ramps computation
8
/****************************************************************************/
9
// SUMO, Simulation of Urban MObility; see http://sumo.sourceforge.net/
10
// Copyright (C) 2001-2013 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 NBAlgorithms_Ramps_h
21
#define NBAlgorithms_Ramps_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
33
#include <vector>
34
35
36
// ===========================================================================
37
// class declarations
38
// ===========================================================================
39
class
NBNetBuilder
;
40
class
OptionsCont
;
41
class
NBNode
;
42
class
NBEdgeCont
;
43
class
NBDistrictCont
;
44
45
46
// ===========================================================================
47
// class definitions
48
// ===========================================================================
49
// ---------------------------------------------------------------------------
50
// NBAlgorithms_Ramps
51
// ---------------------------------------------------------------------------
52
/* @class NBRampsComputer
53
* @brief Computes highway on-/off-ramps (if wished)
54
*/
55
class
NBRampsComputer
{
56
public
:
61
static
void
computeRamps
(
NBNetBuilder
& nb,
OptionsCont
& oc);
62
64
static
const
std::string
ADDED_ON_RAMP_EDGE
;
65
66
private
:
73
static
bool
mayNeedOnRamp
(
NBNode
* cur,
SUMOReal
minHighwaySpeed,
SUMOReal
maxRampSpeed);
74
75
82
static
bool
mayNeedOffRamp
(
NBNode
* cur,
SUMOReal
minHighwaySpeed,
SUMOReal
maxRampSpeed);
83
84
94
static
void
buildOnRamp
(
NBNode
* cur,
NBNodeCont
& nc,
NBEdgeCont
& ec,
NBDistrictCont
& dc,
SUMOReal
rampLength,
bool
dontSplit, std::set<NBEdge*>& incremented);
95
96
106
static
void
buildOffRamp
(
NBNode
* cur,
NBNodeCont
& nc,
NBEdgeCont
& ec,
NBDistrictCont
& dc,
SUMOReal
rampLength,
bool
dontSplit, std::set<NBEdge*>& incremented);
107
108
109
static
void
getOnRampEdges
(
NBNode
* n,
NBEdge
** potHighway,
NBEdge
** potRamp,
NBEdge
** other);
110
static
void
getOffRampEdges
(
NBNode
* n,
NBEdge
** potHighway,
NBEdge
** potRamp,
NBEdge
** other);
111
static
bool
determinedBySpeed
(
NBEdge
** potHighway,
NBEdge
** potRamp);
112
static
bool
determinedByLaneNumber
(
NBEdge
** potHighway,
NBEdge
** potRamp);
113
126
static
bool
fulfillsRampConstraints
(
NBEdge
* potHighway,
NBEdge
* potRamp,
NBEdge
* other,
SUMOReal
minHighwaySpeed,
SUMOReal
maxRampSpeed);
127
128
133
static
void
moveRampRight
(
NBEdge
* ramp,
int
addedLanes);
134
135
};
136
137
138
#endif
139
140
/****************************************************************************/
141
home
gladk
tmp
05
sumo-0.17.1~dfsg
src
netbuild
NBAlgorithms_Ramps.h
Generated on Sun Jun 16 2013 07:07:46 for SUMO - Simulation of Urban MObility by
1.8.1.2