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
GUIInternalLane.h
Go to the documentation of this file.
1
/****************************************************************************/
9
// Representation of a lane over a junction
10
/****************************************************************************/
11
// SUMO, Simulation of Urban MObility; see http://sumo.sourceforge.net/
12
// Copyright (C) 2001-2013 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 GUIInternalLane_h
23
#define GUIInternalLane_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 <utility>
37
#include <
microsim/MSInternalLane.h
>
38
#include <
microsim/MSEdge.h
>
39
#include <
utils/geom/Position.h
>
40
#include <
utils/geom/PositionVector.h
>
41
42
43
// ===========================================================================
44
// class declarations
45
// ===========================================================================
46
class
MSVehicle
;
47
class
MSNet
;
48
class
MFXMutex
;
49
50
51
// ===========================================================================
52
// class definitions
53
// ===========================================================================
60
class
GUIInternalLane
:
public
MSInternalLane
{
61
public
:
76
GUIInternalLane
(
const
std::string&
id
,
SUMOReal
maxSpeed,
77
SUMOReal
length,
MSEdge
*
const
edge,
unsigned
int
numericalID,
78
const
PositionVector
& shape,
SUMOReal
width,
79
SVCPermissions
permissions);
80
81
83
~GUIInternalLane
();
84
85
86
89
99
const
VehCont
&
getVehiclesSecure
()
const
;
100
101
107
void
releaseVehicles
()
const
;
109
110
111
114
117
bool
planMovements
(
SUMOTime
t);
118
121
bool
executeMovements
(
SUMOTime
t, std::vector<MSLane*>& into);
122
125
bool
integrateNewVehicle
(
SUMOTime
t);
127
128
GUILaneWrapper
*
buildLaneWrapper
(
unsigned
int
index);
129
130
void
detectCollisions
(
SUMOTime
timestep,
int
stage);
131
MSVehicle
*
removeVehicle
(
MSVehicle
* remVehicle);
132
133
protected
:
135
void
swapAfterLaneChange
(
SUMOTime
t);
136
148
virtual
void
incorporateVehicle
(
MSVehicle
* veh,
SUMOReal
pos,
SUMOReal
speed,
149
const
MSLane::VehCont::iterator& at,
150
MSMoveReminder::Notification
notification =
MSMoveReminder::NOTIFICATION_DEPARTED
);
151
152
153
private
:
155
mutable
MFXMutex
myLock
;
156
157
};
158
159
160
#endif
161
162
/****************************************************************************/
163
build
buildd
sumo-0.17.1~dfsg
src
guisim
GUIInternalLane.h
Generated on Sun Jun 16 2013 17:30:15 for SUMO - Simulation of Urban MObility by
1.8.3.1