SUMO - Simulation of Urban MObility
MSPModel_NonInteracting Class Reference

The pedestrian following model. More...

#include <MSPModel_NonInteracting.h>

Inheritance diagram for MSPModel_NonInteracting:
Inheritance graph
Collaboration diagram for MSPModel_NonInteracting:
Collaboration graph

Data Structures

class  MoveToNextEdge
 
class  PState
 abstract base class for managing callbacks to retrieve various state information from the model More...
 

Public Member Functions

PedestrianStateadd (MSPerson *person, MSPerson::MSPersonStage_Walking *stage, SUMOTime now)
 register the given person as a pedestrian More...
 
virtual bool blockedAtDist (const MSLane *lane, double vehSide, double vehWidth, double oncomingGap, std::vector< const MSPerson *> *collectBlockers)
 whether a pedestrian is blocking the crossing of lane for the given vehicle bondaries More...
 
virtual void cleanupHelper ()
 
virtual bool hasPedestrians (const MSLane *lane)
 whether the given lane has pedestrians on it More...
 
 MSPModel_NonInteracting (const OptionsCont &oc, MSNet *net)
 Constructor (it should not be necessary to construct more than one instance) More...
 
virtual PersonDist nextBlocking (const MSLane *lane, double minPos, double minRight, double maxLeft, double stopTime=0)
 returns the next pedestrian beyond minPos that is laterally between minRight and maxLeft or 0 More...
 
void remove (PedestrianState *state)
 remove the specified person from the pedestrian simulation More...
 
bool usingInternalLanes ()
 whether movements on intersections are modelled More...
 
 ~MSPModel_NonInteracting ()
 

Static Public Member Functions

static bool canTraverse (int dir, const ConstMSEdgeVector &route)
 return whether the route may traversed with the given starting direction More...
 
static void cleanup ()
 remove state at simulation end More...
 
static MSPModelgetModel ()
 

Static Public Attributes

static const int BACKWARD
 
static const int FORWARD
 
static const double SAFETY_GAP
 
static const double SIDEWALK_OFFSET
 the offset for computing person positions when walking on edges without a sidewalk More...
 
static const int UNDEFINED_DIRECTION
 

Private Attributes

MSNetmyNet
 the net to which to issue moveToNextEdge commands More...
 

Detailed Description

The pedestrian following model.

Definition at line 55 of file MSPModel_NonInteracting.h.

Constructor & Destructor Documentation

◆ MSPModel_NonInteracting()

MSPModel_NonInteracting::MSPModel_NonInteracting ( const OptionsCont oc,
MSNet net 
)

Constructor (it should not be necessary to construct more than one instance)

Definition at line 64 of file MSPModel_NonInteracting.cpp.

References myNet, and UNUSED_PARAMETER.

◆ ~MSPModel_NonInteracting()

MSPModel_NonInteracting::~MSPModel_NonInteracting ( )

Definition at line 71 of file MSPModel_NonInteracting.cpp.

Member Function Documentation

◆ add()

PedestrianState * MSPModel_NonInteracting::add ( MSPerson person,
MSPerson::MSPersonStage_Walking stage,
SUMOTime  now 
)
virtual

register the given person as a pedestrian

Implements MSPModel.

Definition at line 76 of file MSPModel_NonInteracting.cpp.

References MSEventControl::addEvent(), MSPModel_NonInteracting::PState::computeWalkingTime(), MSNet::getBeginOfTimestepEvents(), and myNet.

◆ blockedAtDist()

virtual bool MSPModel::blockedAtDist ( const MSLane lane,
double  vehSide,
double  vehWidth,
double  oncomingGap,
std::vector< const MSPerson *> *  collectBlockers 
)
inlinevirtualinherited

whether a pedestrian is blocking the crossing of lane for the given vehicle bondaries

Parameters
[in]laneThe crossing to check
[in]vehSideThe offset to the vehicle side near the start of the crossing
[in]vehWidthThe width of the vehicle
[in]oncomingGapThe distance which the vehicle wants to keep from oncoming pedestrians
[in]collectBlockersThe list of persons blocking the crossing
Returns
Whether the vehicle must wait

Reimplemented in MSPModel_Striping.

Definition at line 79 of file MSPModel.h.

References UNUSED_PARAMETER.

Referenced by MSLink::getLeaderInfo().

◆ canTraverse()

bool MSPModel::canTraverse ( int  dir,
const ConstMSEdgeVector route 
)
staticinherited

return whether the route may traversed with the given starting direction

Definition at line 98 of file MSPModel.cpp.

References MSPModel::BACKWARD, MSPModel::FORWARD, MSEdge::getFromJunction(), and MSEdge::getToJunction().

Referenced by MSPModel_Striping::PState::PState().

◆ cleanup()

void MSPModel::cleanup ( )
staticinherited

remove state at simulation end

Definition at line 88 of file MSPModel.cpp.

References MSPModel::cleanupHelper(), and MSPModel::myModel.

Referenced by MSNet::clearAll().

◆ cleanupHelper()

virtual void MSPModel::cleanupHelper ( )
inlinevirtualinherited

Reimplemented in MSPModel_Striping.

Definition at line 105 of file MSPModel.h.

Referenced by MSPModel::cleanup().

◆ getModel()

◆ hasPedestrians()

virtual bool MSPModel::hasPedestrians ( const MSLane lane)
inlinevirtualinherited

whether the given lane has pedestrians on it

Reimplemented in MSPModel_Striping.

Definition at line 90 of file MSPModel.h.

References UNUSED_PARAMETER.

Referenced by MSLane::detectCollisions(), MSLane::detectPedestrianJunctionCollision(), MSVehicle::planMoveInternal(), and MSLCM_SL2015::updateExpectedSublaneSpeeds().

◆ nextBlocking()

virtual PersonDist MSPModel::nextBlocking ( const MSLane lane,
double  minPos,
double  minRight,
double  maxLeft,
double  stopTime = 0 
)
inlinevirtualinherited

returns the next pedestrian beyond minPos that is laterally between minRight and maxLeft or 0

Reimplemented in MSPModel_Striping.

Definition at line 96 of file MSPModel.h.

References UNUSED_PARAMETER.

Referenced by MSLCM_LC2013::adaptSpeedToPedestrians(), MSLane::checkForPedestrians(), MSLane::detectCollisions(), MSVehicle::planMoveInternal(), and MSLCM_SL2015::updateExpectedSublaneSpeeds().

◆ remove()

void MSPModel_NonInteracting::remove ( PedestrianState state)
virtual

remove the specified person from the pedestrian simulation

Implements MSPModel.

Definition at line 88 of file MSPModel_NonInteracting.cpp.

◆ usingInternalLanes()

bool MSPModel_NonInteracting::usingInternalLanes ( )
inlinevirtual

whether movements on intersections are modelled

Implements MSPModel.

Definition at line 70 of file MSPModel_NonInteracting.h.

Field Documentation

◆ BACKWARD

◆ FORWARD

◆ myNet

MSNet* MSPModel_NonInteracting::myNet
private

the net to which to issue moveToNextEdge commands

Definition at line 127 of file MSPModel_NonInteracting.h.

Referenced by add(), and MSPModel_NonInteracting().

◆ SAFETY_GAP

const double MSPModel::SAFETY_GAP
staticinherited

Definition at line 113 of file MSPModel.h.

Referenced by MSLink::getLeaderInfo(), and MSPModel_Striping::moveInDirectionOnLane().

◆ SIDEWALK_OFFSET

const double MSPModel::SIDEWALK_OFFSET
staticinherited

the offset for computing person positions when walking on edges without a sidewalk

Definition at line 116 of file MSPModel.h.

Referenced by MSPModel_NonInteracting::PState::getPosition(), and GUINet::initGUIStructures().

◆ UNDEFINED_DIRECTION


The documentation for this class was generated from the following files: