23 #ifndef MSTransportableControl_h 24 #define MSTransportableControl_h 65 typedef std::map<std::string, MSTransportable*>::const_iterator
constVehIt;
void addWaiting(const MSEdge *edge, MSTransportable *person)
adds a transportable to the list of transportables waiting for a vehicle on the specified edge ...
virtual MSTransportable * buildPerson(const SUMOVehicleParameter *pars, const MSVehicleType *vtype, MSTransportable::MSTransportablePlan *plan) const
Builds a new person.
unsigned int myRunningNumber
The number of transportables within the network (build and inserted but not removed) ...
Representation of a vehicle in the micro simulation.
std::map< std::string, MSTransportable * >::const_iterator constVehIt
Definition of the internal transportables map iterator.
std::map< SUMOTime, TransportableVector > myWaiting4Departure
Transportables waiting for departure.
void setWaitEnd(SUMOTime time, MSTransportable *transportable)
sets the arrival time for a waiting transportable
void registerJammed()
register a jammed transportable
virtual ~MSTransportableControl()
Destructor.
unsigned int myJammedNumber
The number of jammed transportables.
std::map< std::string, MSTransportable * > myTransportables
all currently created transportables by id
Definition of vehicle stop (position and duration)
unsigned int getRunningNumber() const
Returns the number of build and inserted, but not yet deleted transportables.
unsigned int getLoadedNumber() const
Returns the number of build transportables.
std::map< const MSEdge *, TransportableVector > myWaiting4Vehicle
the lists of waiting transportables
The simulated network and simulation perfomer.
The car-following model and parameter.
virtual void erase(MSTransportable *transportable)
removes a single transportable
unsigned int myLoadedNumber
The number of build transportables.
A road/street connecting two junctions.
std::vector< MSTransportable::Stage * > MSTransportablePlan
the structure holding the plan of a transportable
bool hasNonWaiting() const
checks whether any transportable is still engaged in walking / stopping
unsigned int myWaitingForVehicleNumber
The number of transportables waiting for vehicles.
bool myHaveNewWaiting
whether a new transportable waiting for a vehicle has been added in the last step ...
bool loadAnyWaiting(MSEdge *edge, MSVehicle *vehicle, MSVehicle::Stop *stop)
load any applicable containers Loads any container that is waiting on that edge for the given vehicle...
unsigned int getJammedNumber() const
Returns the number of times a transportables was jammed.
virtual MSTransportable * buildContainer(const SUMOVehicleParameter *pars, const MSVehicleType *vtype, MSTransportable::MSTransportablePlan *plan) const
Builds a new container.
bool boardAnyWaiting(MSEdge *edge, MSVehicle *vehicle, MSVehicle::Stop *stop)
board any applicable persons Boards any people who wait on that edge for the given vehicle and remove...
constVehIt loadedEnd() const
Returns the end of the internal transportables map.
bool hasTransportables() const
checks whether any transportable waits to finish her plan
Structure representing possible vehicle parameter.
void abortWaiting()
aborts the plan for any transportable that is still waiting for a ride
MSTransportableControl()
Constructor.
bool add(MSTransportable *transportable)
Adds a single transportable, returns false if an id clash occured.
void checkWaiting(MSNet *net, const SUMOTime time)
checks whether any transportables waiting time is over
unsigned int size() const
Returns the number of known transportables.
std::vector< MSTransportable * > TransportableVector
Definition of a list of transportables.
constVehIt loadedBegin() const
Returns the begin of the internal transportables map.
std::map< SUMOTime, TransportableVector > myWaitingUntil
the lists of walking / stopping transportables