 |
Eclipse SUMO - Simulation of Urban MObility
|
Go to the documentation of this file.
18 #ifndef SUMO_MSPMODEL_REMOTE_H
19 #define SUMO_MSPMODEL_REMOTE_H
24 #include <microsim/pedestrians/hybridsim.grpc.pb.h>
86 hybridsim::Edge_Type type,
int i);
100 #endif //SUMO_MSPMODEL_REMOTE_H
void makeStartOrEndTransition(Position position, Position scnd, double width, hybridsim::Scenario &scenario, hybridsim::Edge_Type type, int i)
Position getPosition(const MSPerson::MSPersonStage_Walking &stage, SUMOTime now) const override
return the network coordinate of the person
The pedestrian following model.
Representation of a lane in the micro simulation.
void handlePedestrianLane(MSLane *pLane, hybridsim::Scenario &scenario)
std::map< int, const MSEdge * > transitionsEdgesMapping
The simulated network and simulation perfomer.
SUMOTime getWaitingTime(const MSPerson::MSPersonStage_Walking &stage, SUMOTime now) const override
return the time the person spent standing
double getSpeed(const MSPerson::MSPersonStage_Walking &stage) const override
return the current speed of the person
MSPModel_Remote(const OptionsCont &oc, MSNet *net)
MSPModel_Remote * myRemoteModel
PedestrianState * add(MSPerson *person, MSPerson::MSPersonStage_Walking *stage, SUMOTime now) override
register the given person as a pedestrian
abstract base class for managing callbacks to retrieve various state information from the model
void cleanupHelper() override
double getEdgePos(const MSPerson::MSPersonStage_Walking &stage, SUMOTime now) const override
return the offset from the start of the current edge measured in its natural direction
Event(MSPModel_Remote *remoteModel)
A class that stores a 2D geometrical boundary.
void setPosition(double x, double y)
A point in 2D or 3D with translation and scaling methods.
const MSEdge * getNextEdge(const MSPerson::MSPersonStage_Walking &stage) const override
return the list of internal edges if the pedestrian is on an intersection
A storage for options typed value containers)
A road/street connecting two junctions.
void handleWalkingArea(MSEdge *msEdge, hybridsim::Scenario &scenario)
SUMOTime execute(SUMOTime time)
double getAngle(const MSPerson::MSPersonStage_Walking &stage, SUMOTime now) const override
return the direction in which the person faces in degrees
std::unique_ptr< hybridsim::HybridSimulation::Stub > myHybridsimStub
Container for pedestrian state and individual position update function.
MSPerson::MSPersonStage_Walking * myStage
void handleShape(const PositionVector &shape, hybridsim::Scenario &scenario)
void remove(PedestrianState *state) override
remove the specified person from the pedestrian simulation
Base (microsim) event class.
MSPerson::MSPersonStage_Walking * getStage()
MSLane * getFirstPedestrianLane(const MSEdge *const &edge)
std::map< int, PState * > remoteIdPStateMapping
bool usingInternalLanes()
whether movements on intersections are modelled
SUMOTime execute(SUMOTime currentTime) override
Executes the command.
PState(MSPerson *person, MSPerson::MSPersonStage_Walking *stage)
std::map< const MSEdge *, std::tuple< int, int > > edgesTransitionsMapping