Eclipse SUMO - Simulation of Urban MObility
Loading...
Searching...
No Matches
MSPModel_NonInteracting Class Reference

The pedestrian following model. More...

#include <MSPModel_NonInteracting.h>

Inheritance diagram for MSPModel_NonInteracting:
[legend]
Collaboration diagram for MSPModel_NonInteracting:
[legend]

Data Structures

class  CState
 
class  MoveToNextEdge
 
class  PState
 implementation of callbacks to retrieve various state information from the model More...
 

Public Member Functions

MSTransportableStateAdapteradd (MSTransportable *transportable, MSStageMoving *stage, SUMOTime now)
 register the given transportable
 
virtual bool blockedAtDist (const SUMOTrafficObject *ego, 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
 
void clearState ()
 Resets pedestrians when quick-loading state.
 
int getActiveNumber ()
 return the number of active objects
 
virtual bool hasPedestrians (const MSLane *lane)
 whether the given lane has pedestrians on it
 
MSTransportableStateAdapterloadState (MSTransportable *transportable, MSStageMoving *stage, std::istringstream &in)
 load the state of the given transportable
 
 MSPModel_NonInteracting (const OptionsCont &oc, MSNet *net)
 Constructor (it should not be necessary to construct more than one instance)
 
virtual PersonDist nextBlocking (const MSLane *lane, double minPos, double minRight, double maxLeft, double stopTime=0, bool bidi=false)
 returns the next pedestrian beyond minPos that is laterally between minRight and maxLeft or nullptr
 
void registerArrived ()
 
void remove (MSTransportableStateAdapter *state)
 remove the specified person from the pedestrian simulation
 
bool usingInternalLanes ()
 whether movements on intersections are modelled
 
virtual bool usingShortcuts ()
 whether travel times and distances can reliably be calculated from the network alone
 
 ~MSPModel_NonInteracting ()
 

Static Public Member Functions

static int canTraverse (int dir, const ConstMSEdgeVector &route, int &passedEdges)
 

Static Public Attributes

static const int BACKWARD
 
static const int FORWARD
 
static const double RANDOM_POS_LAT
 magic value to encode randomized lateral offset for persons when starting a walk
 
static const double SAFETY_GAP
 
static const double SIDEWALK_OFFSET
 the offset for computing person positions when walking on edges without a sidewalk
 
static const int UNDEFINED_DIRECTION
 
static const double UNSPECIFIED_POS_LAT
 the default lateral offset for persons when starting a walk
 

Private Attributes

MSNetmyNet
 the net to which to issue moveToNextEdge commands
 
int myNumActivePedestrians
 the total number of active pedestrians
 

Detailed Description

The pedestrian following model.

Definition at line 47 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 46 of file MSPModel_NonInteracting.cpp.

References myNet, and UNUSED_PARAMETER.

◆ ~MSPModel_NonInteracting()

MSPModel_NonInteracting::~MSPModel_NonInteracting ( )

Definition at line 54 of file MSPModel_NonInteracting.cpp.

Member Function Documentation

◆ add()

MSTransportableStateAdapter * MSPModel_NonInteracting::add ( MSTransportable transportable,
MSStageMoving stage,
SUMOTime  now 
)
virtual

◆ blockedAtDist()

virtual bool MSPModel::blockedAtDist ( const SUMOTrafficObject ego,
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]egoThe object that inquires about blockage (and may electively ignore foes)
[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_Interacting.

Definition at line 98 of file MSPModel.h.

References UNUSED_PARAMETER.

Referenced by MSLink::getLeaderInfo().

Here is the caller graph for this function:

◆ canTraverse()

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

Definition at line 54 of file MSPModel.cpp.

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

Referenced by MSPModel_Striping::getNextLane(), MSPModel_Striping::PState::PState(), and MSStageWalking::walkDistance().

Here is the caller graph for this function:

◆ clearState()

void MSPModel_NonInteracting::clearState ( )
virtual

Resets pedestrians when quick-loading state.

Implements MSPModel.

Definition at line 78 of file MSPModel_NonInteracting.cpp.

References myNumActivePedestrians.

◆ getActiveNumber()

int MSPModel_NonInteracting::getActiveNumber ( )
inlinevirtual

return the number of active objects

Implements MSPModel.

Definition at line 73 of file MSPModel_NonInteracting.h.

References myNumActivePedestrians.

◆ hasPedestrians()

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

whether the given lane has pedestrians on it

Reimplemented in MSPModel_Interacting.

Definition at line 110 of file MSPModel.h.

References UNUSED_PARAMETER.

Referenced by MSLane::hasPedestrians().

Here is the caller graph for this function:

◆ loadState()

MSTransportableStateAdapter * MSPModel_NonInteracting::loadState ( MSTransportable transportable,
MSStageMoving stage,
std::istringstream &  in 
)
virtual

◆ nextBlocking()

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

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

Parameters
[in]lanethe lane to check
[in]minPosThe minimum offset along the lane after which to check
[in]minRightThe rightmost border of the vehicle (0 indicates driving on the right border)
[in]maxLeftThe leftmost border of the vehicle
[in]stopTimeThe time it would take the vehicle to come to a stop
[in]bidiWhether the vehicle is driving against the flow
Returns
The closest person (or nullptr) and the distance to it

Reimplemented in MSPModel_Interacting.

Definition at line 124 of file MSPModel.h.

References UNUSED_PARAMETER.

Referenced by MSLane::nextBlocking().

Here is the caller graph for this function:

◆ registerArrived()

void MSPModel_NonInteracting::registerArrived ( )
inline

Definition at line 77 of file MSPModel_NonInteracting.h.

References myNumActivePedestrians.

Referenced by MSPModel_NonInteracting::MoveToNextEdge::execute().

Here is the caller graph for this function:

◆ remove()

void MSPModel_NonInteracting::remove ( MSTransportableStateAdapter state)
virtual

remove the specified person from the pedestrian simulation

Implements MSPModel.

Definition at line 83 of file MSPModel_NonInteracting.cpp.

References myNumActivePedestrians.

◆ usingInternalLanes()

bool MSPModel_NonInteracting::usingInternalLanes ( )
inlinevirtual

whether movements on intersections are modelled

Implements MSPModel.

Definition at line 68 of file MSPModel_NonInteracting.h.

◆ usingShortcuts()

virtual bool MSPModel::usingShortcuts ( )
inlinevirtualinherited

whether travel times and distances can reliably be calculated from the network alone

Reimplemented in MSPModel_JuPedSim.

Definition at line 138 of file MSPModel.h.

Field Documentation

◆ BACKWARD

◆ FORWARD

const int MSPModel::FORWARD
staticinherited

Definition at line 54 of file MSPModel.h.

Referenced by MSPModel_JuPedSim::add(), MSPModel_Striping::addCloserObstacle(), MSPModel_Striping::addCrossingVehs(), MSPModel_Interacting::blockedAtDist(), MSPModel::canTraverse(), MSPModel_Striping::Obstacle::closer(), MSPModel_NonInteracting::PState::computeDuration(), MSPModel_Striping::connectedDirection(), MSPModel_Striping::PState::distanceTo(), MSPModel_Striping::PState::distToLaneEnd(), MSE3Collector::enter(), MSPModel_Striping::MovePedestrians::execute(), MSPModel_NonInteracting::PState::getDirection(), MSStageDriving::getDirection(), MSPModel_Striping::PState::getMaxX(), MSPModel_Striping::PState::getMinX(), MSPModel_Striping::getNextLane(), MSPModel_Striping::getNextLaneObstacles(), MSPModel_Striping::getNextWalkingArea(), MSPModel_Striping::PState::getPosition(), MSPModel_Striping::getVehicleObstacles(), MSPModel_Striping::insertWalkArePaths(), MSE3Collector::leave(), MSPModel_Striping::PState::mergeObstacles(), MSPModel_Striping::moveInDirectionOnLane(), MSStageWalking::moveToNextEdge(), MSPModel_Striping::PState::moveToNextLane(), MSPModel_Striping::PState::moveToXY(), MSPModel_Interacting::nextBlocking(), MSInductLoop::notifyLeave(), MSE3Collector::MSE3EntryReminder::notifyMove(), MSE2Collector::notifyMovePerson(), MSInductLoop::notifyMovePerson(), MSE3Collector::notifyMovePerson(), MSPModel_Striping::PState::PState(), MSPModel_JuPedSim::PState::PState(), MSPModel_Striping::transformToCurrentLanePositions(), MSPModel_Striping::PState::walk(), and MSStageWalking::walkDistance().

◆ myNet

MSNet* MSPModel_NonInteracting::myNet
private

the net to which to issue moveToNextEdge commands

Definition at line 168 of file MSPModel_NonInteracting.h.

Referenced by add(), loadState(), and MSPModel_NonInteracting().

◆ myNumActivePedestrians

int MSPModel_NonInteracting::myNumActivePedestrians
private

the total number of active pedestrians

Definition at line 171 of file MSPModel_NonInteracting.h.

Referenced by add(), clearState(), getActiveNumber(), loadState(), registerArrived(), and remove().

◆ RANDOM_POS_LAT

const double MSPModel::RANDOM_POS_LAT
staticinherited

magic value to encode randomized lateral offset for persons when starting a walk

Definition at line 68 of file MSPModel.h.

Referenced by MSPModel_JuPedSim::add(), MSRouteHandler::interpretDepartPosLat(), and MSPModel_Striping::PState::PState().

◆ SAFETY_GAP

◆ SIDEWALK_OFFSET

const double MSPModel::SIDEWALK_OFFSET
staticinherited

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

Definition at line 62 of file MSPModel.h.

Referenced by MSPModel_NonInteracting::PState::getPosition(), GUINet::initGUIStructures(), LIBSUMO_NAMESPACE::Person::moveTo(), and MSPModel_Striping::PState::moveToXY().

◆ UNDEFINED_DIRECTION

◆ UNSPECIFIED_POS_LAT

const double MSPModel::UNSPECIFIED_POS_LAT
staticinherited

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