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
RORouteDef.h
Go to the documentation of this file.
1
/****************************************************************************/
9
// Base class for a vehicle's route definition
10
/****************************************************************************/
11
// SUMO, Simulation of Urban MObility; see http://sumo-sim.org/
12
// Copyright (C) 2002-2014 DLR (http://www.dlr.de/) and contributors
13
/****************************************************************************/
14
//
15
// This file is part of SUMO.
16
// SUMO is free software: you can redistribute it and/or modify
17
// it under the terms of the GNU General Public License as published by
18
// the Free Software Foundation, either version 3 of the License, or
19
// (at your option) any later version.
20
//
21
/****************************************************************************/
22
#ifndef RORouteDef_h
23
#define RORouteDef_h
24
25
26
// ===========================================================================
27
// included modules
28
// ===========================================================================
29
#ifdef _MSC_VER
30
#include <
windows_config.h
>
31
#else
32
#include <
config.h
>
33
#endif
34
35
#include <string>
36
#include <iostream>
37
#include <
utils/common/Named.h
>
38
#include "
ReferencedItem.h
"
39
#include <
utils/common/SUMOAbstractRouter.h
>
40
#include "
RORoute.h
"
41
42
43
// ===========================================================================
44
// class declarations
45
// ===========================================================================
46
class
ROEdge
;
47
class
OptionsCont
;
48
class
ROVehicle
;
49
class
OutputDevice
;
50
51
52
// ===========================================================================
53
// class definitions
54
// ===========================================================================
64
class
RORouteDef
:
public
ReferencedItem
,
public
Named
{
65
public
:
71
RORouteDef
(
const
std::string&
id
,
const
unsigned
int
lastUsed,
72
const
bool
tryRepair);
73
74
76
virtual
~RORouteDef
();
77
78
81
void
addLoadedAlternative
(
RORoute
* alternative);
82
84
void
addAlternativeDef
(
const
RORouteDef
* alternative);
85
88
RORoute
*
buildCurrentRoute
(
SUMOAbstractRouter<ROEdge, ROVehicle>
& router,
SUMOTime
begin,
89
const
ROVehicle
& veh)
const
;
90
93
void
preComputeCurrentRoute
(
SUMOAbstractRouter<ROEdge, ROVehicle>
& router,
SUMOTime
begin,
94
const
ROVehicle
& veh)
const
;
95
98
void
repairCurrentRoute
(
SUMOAbstractRouter<ROEdge, ROVehicle>
& router,
SUMOTime
begin,
99
const
ROVehicle
& veh)
const
;
100
104
void
addAlternative
(
SUMOAbstractRouter<ROEdge, ROVehicle>
& router,
105
const
ROVehicle
*
const
,
RORoute
* current,
SUMOTime
begin);
106
107
const
ROEdge
*
getDestination
()
const
;
108
109
const
RORoute
*
getFirstRoute
()
const
{
110
return
myAlternatives
.front();
111
}
112
121
OutputDevice
&
writeXMLDefinition
(
OutputDevice
& dev,
const
ROVehicle
*
const
veh,
122
bool
asAlternatives,
bool
withExitTimes)
const
;
123
132
RORouteDef
*
copyOrigDest
(
const
std::string&
id
)
const
;
133
142
RORouteDef
*
copy
(
const
std::string&
id
)
const
;
143
145
SUMOReal
getOverallProb
()
const
;
146
147
protected
:
149
mutable
RORoute
*
myPrecomputed
;
150
152
mutable
unsigned
int
myLastUsed
;
153
155
std::vector<RORoute*>
myAlternatives
;
156
158
mutable
bool
myNewRoute
;
159
160
const
bool
myTryRepair
;
161
162
private
:
164
struct
ComparatorProbability
{
165
bool
operator()
(
const
RORoute
*
const
a,
const
RORoute
*
const
b) {
166
return
a->
getProbability
() > b->
getProbability
();
167
}
168
};
169
170
private
:
172
RORouteDef
(
const
RORouteDef
& src);
173
175
RORouteDef
&
operator=
(
const
RORouteDef
& src);
176
177
};
178
179
180
#endif
181
182
/****************************************************************************/
183
tmp
buildd
sumo-0.21.0+dfsg
src
router
RORouteDef.h
Generated on Thu Nov 20 2014 19:49:59 for SUMO - Simulation of Urban MObility by
1.8.1.2