SUMO - Simulation of Urban MObility
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
MSPModel_NonInteracting.h
Go to the documentation of this file.
1 /****************************************************************************/
7 // The pedestrian following model (prototype)
8 /****************************************************************************/
9 // SUMO, Simulation of Urban MObility; see http://sumo-sim.org/
10 // Copyright (C) 2014-2014 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 MSPModel_NonInteracting_h
21 #define MSPModel_NonInteracting_h
22 
23 // ===========================================================================
24 // included modules
25 // ===========================================================================
26 #ifdef _MSC_VER
27 #include <windows_config.h>
28 #else
29 #include <config.h>
30 #endif
31 
32 #include <string>
33 #include <limits>
34 #include <utils/common/SUMOTime.h>
35 #include <utils/common/Command.h>
36 #include <microsim/MSPerson.h>
37 #include <microsim/MSPModel.h>
38 
39 // ===========================================================================
40 // class declarations
41 // ===========================================================================
42 class MSNet;
43 class MSLink;
44 class MSLane;
45 class MSJunction;
46 
47 
48 // ===========================================================================
49 // class definitions
50 // ===========================================================================
57 public:
58 
60  MSPModel_NonInteracting(const OptionsCont& oc, MSNet* net);
61 
63 
66 
68  bool blockedAtDist(const MSLane* lane, SUMOReal distToCrossing, std::vector<const MSPerson*>* collectBlockers);
69 
70 private:
71  class MoveToNextEdge : public Command {
72  public:
75  SUMOTime execute(SUMOTime currentTime);
76 
77  private:
80  private:
83  };
84 
86  class PState : public PedestrianState {
87  public:
88  PState() {};
89 
98 
100  SUMOTime computeWalkingTime(const MSEdge* prev, const MSPerson::MSPersonStage_Walking& stage, SUMOTime currentTime);
101 
102 
103  private:
108 
109  };
110 
111 private:
114 
115 };
116 
117 
118 #endif /* MSPModel_NonInteracting_h */
119