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

MSTransportableStateAdapter * add (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
 
MSTransportableStateAdapter * loadState (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 0
 
void registerArrived ()
 
void remove (MSTransportableStateAdapter *state)
 remove the specified person from the pedestrian simulation
 
bool usingInternalLanes ()
 whether movements on intersections are modelled
 
 ~MSPModel_NonInteracting ()
 

Static Public Member Functions

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

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

MSNet * myNet
 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 53 of file MSPModel_NonInteracting.cpp.

References myNet, and UNUSED_PARAMETER.

◆ ~MSPModel_NonInteracting()

MSPModel_NonInteracting::~MSPModel_NonInteracting ( )

Definition at line 61 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_Striping.

Definition at line 82 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 
)
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::PState::PState(), and MSPerson::MSPersonStage_Walking::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 85 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_Striping.

Definition at line 94 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 0

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 and the distance to it

Reimplemented in MSPModel_Striping.

Definition at line 108 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 90 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.

Field Documentation

◆ BACKWARD

◆ FORWARD

const int MSPModel::FORWARD
staticinherited

Definition at line 119 of file MSPModel.h.

Referenced by MSPModel_Striping::addCloserObstacle(), MSPModel_Striping::addCrossingVehs(), MSPModel_Striping::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(), MSStageDriving::getDirection(), MSPModel_NonInteracting::PState::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(), MSPerson::MSPersonStage_Walking::moveToNextEdge(), MSPModel_Striping::PState::moveToNextLane(), MSPModel_Striping::PState::moveToXY(), MSPModel_Striping::nextBlocking(), MSInductLoop::notifyLeave(), MSE3Collector::MSE3EntryReminder::notifyMove(), MSE2Collector::notifyMovePerson(), MSInductLoop::notifyMovePerson(), MSE3Collector::notifyMovePerson(), MSPModel_Striping::PState::PState(), MSPModel_Striping::transformToCurrentLanePositions(), MSPModel_Striping::PState::walk(), and MSPerson::MSPersonStage_Walking::walkDistance().

◆ myNet

MSNet* MSPModel_NonInteracting::myNet
private

the net to which to issue moveToNextEdge commands

Definition at line 166 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 169 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 133 of file MSPModel.h.

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

◆ SAFETY_GAP

const double MSPModel::SAFETY_GAP
staticinherited

◆ SIDEWALK_OFFSET

const double MSPModel::SIDEWALK_OFFSET
staticinherited

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

Definition at line 127 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: