![]() |
SUMO - Simulation of Urban MObility
|
The pedestrian following model. More...
#include <MSPModel_Striping.h>
Data Structures | |
class | by_xpos_sorter |
sorts the persons by position on the lane. If dir is forward, higher x positions come first. More... | |
class | lane_by_numid_sorter |
class | MovePedestrians |
struct | NextLaneInfo |
struct | Obstacle |
information regarding surround Pedestrians (and potentially other things) More... | |
class | PState |
Container for pedestrian state and individual position update function. More... | |
class | walkingarea_path_sorter |
struct | WalkingAreaPath |
Public Member Functions | |
PedestrianState * | add (MSPerson *person, MSPerson::MSPersonStage_Walking *stage, SUMOTime now) |
register the given person as a pedestrian More... | |
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... | |
void | cleanupHelper () |
remove state at simulation end More... | |
bool | hasPedestrians (const MSLane *lane) |
whether the given lane has pedestrians on it More... | |
MSPModel_Striping (const OptionsCont &oc, MSNet *net) | |
Constructor (it should not be necessary to construct more than one instance) More... | |
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_Striping () | |
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 MSPModel * | getModel () |
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 |
static double | stripeWidth |
model parameters More... | |
static double | dawdling |
static SUMOTime | jamTime |
static const double | LOOKAHEAD_SAMEDIR |
static const double | LOOKAHEAD_ONCOMING |
static const double | LOOKAROUND_VEHICLES |
static const double | LATERAL_PENALTY |
static const double | OBSTRUCTED_PENALTY |
static const double | INAPPROPRIATE_PENALTY |
static const double | ONCOMING_CONFLICT_PENALTY |
static const double | OBSTRUCTION_THRESHOLD |
static const double | SQUEEZE |
static const double | RESERVE_FOR_ONCOMING_FACTOR |
static const double | RESERVE_FOR_ONCOMING_FACTOR_JUNCTIONS |
static const double | MAX_WAIT_TOLERANCE |
static const double | LATERAL_SPEED_FACTOR |
static const double | MIN_STARTUP_DIST |
Protected Types | |
typedef std::map< const MSLane *, Pedestrians, lane_by_numid_sorter > | ActiveLanes |
typedef std::map< const MSLane *, double > | MinNextLengths |
typedef std::map< const MSLane *, Obstacles, lane_by_numid_sorter > | NextLanesObstacles |
typedef std::vector< Obstacle > | Obstacles |
enum | ObstacleType { OBSTACLE_NONE = 0, OBSTACLE_PED = 1, OBSTACLE_VEHICLE = 3, OBSTACLE_END = 4, OBSTACLE_NEXTEND = 5, OBSTACLE_LINKCLOSED = 6, OBSTACLE_ARRIVALPOS = 7 } |
typedef std::vector< PState * > | Pedestrians |
typedef std::map< std::pair< const MSLane *, const MSLane * >, WalkingAreaPath > | WalkingAreaPaths |
Protected Member Functions | |
void | arriveAndAdvance (Pedestrians &pedestrians, SUMOTime currentTime, std::set< MSPerson *> &changedLane, int dir) |
handle arrivals and lane advancement More... | |
const ActiveLanes & | getActiveLanes () |
void | moveInDirection (SUMOTime currentTime, std::set< MSPerson *> &changedLane, int dir) |
move all pedestrians forward and advance to the next lane if applicable More... | |
void | moveInDirectionOnLane (Pedestrians &pedestrians, const MSLane *lane, SUMOTime currentTime, std::set< MSPerson *> &changedLane, int dir) |
move pedestrians forward on one lane More... | |
Static Protected Attributes | |
static const double | DIST_BEHIND |
static const double | DIST_FAR_AWAY |
static const double | DIST_OVERLAP |
Private Member Functions | |
const Obstacles & | getNextLaneObstacles (NextLanesObstacles &nextLanesObs, const MSLane *lane, const MSLane *nextLane, int stripes, int nextDir, double currentLength, int currentDir) |
Pedestrians & | getPedestrians (const MSLane *lane) |
retrieves the pedestian vector for the given lane (may be empty) More... | |
Static Private Member Functions | |
static void | addCloserObstacle (Obstacles &obs, double x, int stripe, int numStripes, const std::string &id, double width, int dir, ObstacleType type) |
static bool | addCrossingVehs (const MSLane *crossing, int stripes, double lateral_offset, int dir, Obstacles &crossingVehs) |
add vehicles driving across More... | |
static int | connectedDirection (const MSLane *from, const MSLane *to) |
returns the direction in which these lanes are connectioned or 0 if they are not More... | |
static void | DEBUG_PRINT (const Obstacles &obs) |
static WalkingAreaPath * | getArbitraryPath (const MSEdge *walkingArea) |
return an arbitrary path across the given walkingArea More... | |
static Obstacles | getNeighboringObstacles (const Pedestrians &pedestrians, int egoIndex, int stripes) |
static NextLaneInfo | getNextLane (const PState &ped, const MSLane *currentLane, const MSLane *prevLane) |
computes the successor lane for the given pedestrian and sets the link as well as the direction to use on the succesor lane More... | |
static const MSLane * | getNextWalkingArea (const MSLane *currentLane, const int dir, MSLink *&link) |
return the next walkingArea in the given direction More... | |
static int | getStripeOffset (int origStripes, int destStripes, bool addRemainder) |
static void | initWalkingAreaPaths (const MSNet *net) |
static int | numStripes (const MSLane *lane) |
return the maximum number of pedestrians walking side by side More... | |
static void | transformToCurrentLanePositions (Obstacles &o, int currentDir, int nextDir, double currentLength, double nextLength) |
Private Attributes | |
ActiveLanes | myActiveLanes |
store of all lanes which have pedestrians on them More... | |
MovePedestrians * | myCommand |
the MovePedestrians command that is registered More... | |
int | myNumActivePedestrians |
the total number of active pedestrians More... | |
Static Private Attributes | |
static MinNextLengths | myMinNextLengths |
static WalkingAreaPaths | myWalkingAreaPaths |
store for walkinArea elements More... | |
static Pedestrians | noPedestrians |
empty pedestrian vector More... | |
Friends | |
class | GUIPerson |
The pedestrian following model.
Definition at line 57 of file MSPModel_Striping.h.
|
protected |
Definition at line 167 of file MSPModel_Striping.h.
|
protected |
Definition at line 171 of file MSPModel_Striping.h.
|
protected |
Definition at line 169 of file MSPModel_Striping.h.
|
protected |
Definition at line 168 of file MSPModel_Striping.h.
|
protected |
Definition at line 165 of file MSPModel_Striping.h.
|
protected |
Definition at line 170 of file MSPModel_Striping.h.
|
protected |
Enumerator | |
---|---|
OBSTACLE_NONE | |
OBSTACLE_PED | |
OBSTACLE_VEHICLE | |
OBSTACLE_END | |
OBSTACLE_NEXTEND | |
OBSTACLE_LINKCLOSED | |
OBSTACLE_ARRIVALPOS |
Definition at line 194 of file MSPModel_Striping.h.
MSPModel_Striping::MSPModel_Striping | ( | const OptionsCont & | oc, |
MSNet * | net | ||
) |
Constructor (it should not be necessary to construct more than one instance)
Definition at line 112 of file MSPModel_Striping.cpp.
References MSEventControl::addEvent(), dawdling, DELTA_T, MSNet::getBeginOfTimestepEvents(), MSNet::getCurrentTimeStep(), OptionsCont::getFloat(), OptionsCont::getString(), initWalkingAreaPaths(), jamTime, myCommand, string2time(), stripeWidth, and SUMOTime_MAX.
MSPModel_Striping::~MSPModel_Striping | ( | ) |
Definition at line 128 of file MSPModel_Striping.cpp.
|
virtual |
register the given person as a pedestrian
Implements MSPModel.
Definition at line 133 of file MSPModel_Striping.cpp.
References MSTransportable::getCurrentStageType(), MSTransportable::getEdge(), Named::getID(), MSTransportable::getID(), MSNet::getInstance(), OptionsCont::getOptions(), MSTransportable::MOVING_WITHOUT_VEHICLE, myActiveLanes, myNumActivePedestrians, time2string(), and WRITE_WARNING.
|
staticprivate |
Definition at line 727 of file MSPModel_Striping.cpp.
References MSPModel::BACKWARD, and MSPModel::FORWARD.
Referenced by getActiveLanes(), and getNextLaneObstacles().
|
staticprivate |
add vehicles driving across
Definition at line 1022 of file MSPModel_Striping.cpp.
References MSPModel::BACKWARD, MSCFModel::brakeGap(), DEBUG_PRINT(), DEBUGCOND2, MSPModel::FORWARD, MSVehicle::getCarFollowModel(), Named::getID(), MSBaseVehicle::getID(), MSVehicleType::getLength(), MSLane::getLength(), MSLane::getLinkCont(), MSCFModel::getMaxDecel(), MSVehicle::getSpeed(), MSBaseVehicle::getVehicleType(), MSVehicleType::getWidth(), MSLane::getWidth(), MAX2(), MIN2(), MINGAP_TO_VEHICLE, OBSTACLE_VEHICLE, SIMTIME, and MSPModel_Striping::PState::stripe().
Referenced by getActiveLanes(), getNextLaneObstacles(), and moveInDirectionOnLane().
|
protected |
handle arrivals and lane advancement
Definition at line 814 of file MSPModel_Striping.cpp.
References MSPModel_Striping::PState::distToLaneEnd(), MSPModel_Striping::PState::moveToNextLane(), myActiveLanes, MSPModel_Striping::PState::myDir, MSPModel_Striping::PState::myLane, myNumActivePedestrians, and MSPModel_Striping::PState::myPerson.
Referenced by moveInDirection().
|
virtual |
whether a pedestrian is blocking the crossing of lane for the given vehicle bondaries
[in] | lane | The crossing to check |
[in] | vehside | The offset to the vehicle side near the start of the crossing |
[in] | vehWidth | The width of the vehicle |
[in] | oncomingGap | The distance which the vehicle wants to keep from oncoming pedestrians |
[in] | collectBlockers | The list of persons blocking the crossing |
Reimplemented from MSPModel.
Definition at line 168 of file MSPModel_Striping.cpp.
References DEBUGCOND, MSPModel::FORWARD, Named::getID(), MSPModel_Striping::PState::getLength(), getPedestrians(), MSPModel_Striping::PState::myDir, MSPModel_Striping::PState::myPerson, MSPModel_Striping::PState::myRelX, MSPModel_Striping::PState::myWaitingTime, SIMTIME, and TIME2STEPS.
|
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().
|
staticinherited |
remove state at simulation end
Definition at line 88 of file MSPModel.cpp.
References MSPModel::cleanupHelper(), and MSPModel::myModel.
Referenced by MSNet::clearAll().
|
virtual |
remove state at simulation end
Reimplemented from MSPModel.
Definition at line 265 of file MSPModel_Striping.cpp.
References myActiveLanes, myMinNextLengths, myNumActivePedestrians, and myWalkingAreaPaths.
returns the direction in which these lanes are connectioned or 0 if they are not
Definition at line 284 of file MSPModel_Striping.cpp.
References MSPModel::BACKWARD, MSPModel::FORWARD, MSLinkContHelper::getConnectingLink(), and MSPModel::UNDEFINED_DIRECTION.
Referenced by getActiveLanes(), and getNextLane().
|
staticprivate |
Definition at line 57 of file MSPModel_Striping.cpp.
References dawdling, DIST_BEHIND, DIST_FAR_AWAY, DIST_OVERLAP, INAPPROPRIATE_PENALTY, jamTime, LATERAL_PENALTY, LATERAL_SPEED_FACTOR, LOOKAHEAD_ONCOMING, LOOKAHEAD_SAMEDIR, LOOKAROUND_VEHICLES, MAX_WAIT_TOLERANCE, MIN_STARTUP_DIST, myMinNextLengths, myWalkingAreaPaths, noPedestrians, OBSTRUCTED_PENALTY, OBSTRUCTION_THRESHOLD, ONCOMING_CONFLICT_PENALTY, RESERVE_FOR_ONCOMING_FACTOR, RESERVE_FOR_ONCOMING_FACTOR_JUNCTIONS, SQUEEZE, and stripeWidth.
Referenced by addCrossingVehs(), getActiveLanes(), getNeighboringObstacles(), moveInDirectionOnLane(), and MSPModel_Striping::PState::walk().
|
inlineprotected |
Definition at line 399 of file MSPModel_Striping.h.
References addCloserObstacle(), addCrossingVehs(), connectedDirection(), DEBUG_PRINT(), getArbitraryPath(), getNeighboringObstacles(), getNextLane(), getNextLaneObstacles(), getNextWalkingArea(), getPedestrians(), getStripeOffset(), initWalkingAreaPaths(), myActiveLanes, numStripes(), and transformToCurrentLanePositions().
|
staticprivate |
return an arbitrary path across the given walkingArea
Definition at line 365 of file MSPModel_Striping.cpp.
References Named::getID(), MSEdge::getPredecessors(), MSEdge::getSuccessors(), MSEdge::isWalkingArea(), and myWalkingAreaPaths.
Referenced by getActiveLanes(), and MSPModel_Striping::PState::PState().
|
staticinherited |
Definition at line 65 of file MSPModel.cpp.
References MSNet::getInstance(), OptionsCont::getOptions(), OptionsCont::getString(), and MSPModel::myModel.
Referenced by MSPerson::MSPersonStage_Walking::abort(), MSLCM_LC2013::adaptSpeedToPedestrians(), MSLane::checkForPedestrians(), MSLane::detectCollisions(), MSLane::detectPedestrianJunctionCollision(), MSLink::getLeaderInfo(), MSVehicle::planMoveInternal(), MSPerson::MSPersonStage_Walking::proceed(), MSLCM_SL2015::updateExpectedSublaneSpeeds(), and MSPerson::MSPersonStage_Walking::walkDistance().
|
staticprivate |
Definition at line 559 of file MSPModel_Striping.cpp.
References DEBUG_PRINT(), DEBUGCOND, DIST_BEHIND, DIST_OVERLAP, MSPModel_Striping::PState::distanceTo(), MSTransportable::getID(), MSPModel_Striping::PState::myDir, MSPModel_Striping::PState::myPerson, MSPModel_Striping::PState::myWaitingToEnter, MSPModel_Striping::PState::otherStripe(), SIMTIME, and MSPModel_Striping::PState::stripe().
Referenced by getActiveLanes(), and moveInDirectionOnLane().
|
staticprivate |
computes the successor lane for the given pedestrian and sets the link as well as the direction to use on the succesor lane
[in] | currentLane | The lane the pedestrian is currently on |
[in] | ped | The pedestrian for which to compute the next lane |
Definition at line 384 of file MSPModel_Striping.cpp.
References MSPModel::BACKWARD, PedestrianRouter< E, L, N, V, INTERNALROUTER >::compute(), connectedDirection(), DEBUGCOND, MSPModel::FORWARD, MSPerson::MSPersonStage_Walking::getArrivalPos(), MSLinkContHelper::getConnectingLink(), MSLane::getEdge(), MSEdge::getFromJunction(), Named::getID(), MSTransportable::getID(), MSNet::getInstance(), MSLinkContHelper::getInternalFollowingLane(), MSEdge::getLanes(), MSEdge::getLength(), MSLane::getLinkCont(), MSLane::getLogicalPredecessorLane(), MSPerson::MSPersonStage_Walking::getMaxSpeed(), MSPerson::MSPersonStage_Walking::getNextRouteEdge(), getNextWalkingArea(), OptionsCont::getOptions(), MSNet::getPedestrianRouter(), MSPerson::MSPersonStage_Walking::getRoute(), MSEdge::getToJunction(), MSLink::getViaLaneOrLane(), MSEdge::isCrossing(), MSEdge::isInternal(), MSEdge::isWalkingArea(), MSPModel_Striping::PState::myDir, MSPModel_Striping::PState::myPerson, MSPModel_Striping::PState::myStage, POSITION_EPS, SIMTIME, time2string(), toString(), MSPModel::UNDEFINED_DIRECTION, and WRITE_WARNING.
Referenced by getActiveLanes(), moveInDirectionOnLane(), MSPModel_Striping::PState::moveToNextLane(), and MSPModel_Striping::PState::PState().
|
private |
Definition at line 609 of file MSPModel_Striping.cpp.
References addCloserObstacle(), addCrossingVehs(), MSPModel::BACKWARD, MSPModel::FORWARD, MSLane::getEdge(), MSTransportable::getID(), MSLane::getLength(), getPedestrians(), MSPModel_Striping::PState::getPosition(), MSLane::getShape(), getStripeOffset(), MSTransportable::getVehicleType(), MSVehicleType::getWidth(), MSLane::getWidth(), MSEdge::isCrossing(), MSEdge::isWalkingArea(), MSPModel_Striping::PState::myAmJammed, myMinNextLengths, MSPModel_Striping::PState::myPerson, MSPModel_Striping::PState::myRelY, MSPModel_Striping::PState::myStage, MSPModel_Striping::PState::myWaitingToEnter, numStripes(), OBSTACLE_END, OBSTACLE_NEXTEND, OBSTACLE_PED, MSPModel_Striping::PState::otherStripe(), MSPModel_Striping::Obstacle::speed, MSPModel_Striping::PState::stripe(), stripeWidth, transformToCurrentLanePositions(), PositionVector::transformToVectorCoordinates(), Position::x(), and Position::y().
Referenced by getActiveLanes(), and moveInDirectionOnLane().
|
staticprivate |
return the next walkingArea in the given direction
Definition at line 536 of file MSPModel_Striping.cpp.
References MSPModel::FORWARD, MSLane::getIncomingLanes(), MSLink::getLane(), and MSLane::getLinkCont().
Referenced by getActiveLanes(), and getNextLane().
|
private |
retrieves the pedestian vector for the given lane (may be empty)
Definition at line 253 of file MSPModel_Striping.cpp.
References myActiveLanes, and noPedestrians.
Referenced by blockedAtDist(), getActiveLanes(), getNextLaneObstacles(), hasPedestrians(), and nextBlocking().
|
staticprivate |
Definition at line 599 of file MSPModel_Striping.cpp.
Referenced by getActiveLanes(), getNextLaneObstacles(), and MSPModel_Striping::PState::moveToNextLane().
|
virtual |
whether the given lane has pedestrians on it
Reimplemented from MSPModel.
Definition at line 205 of file MSPModel_Striping.cpp.
References getPedestrians().
|
staticprivate |
Definition at line 298 of file MSPModel_Striping.cpp.
References MSPModel::BACKWARD, Position::distanceTo2D(), PositionVector::extrapolate(), MSPModel::FORWARD, MSEdge::getAllEdges(), MSLinkContHelper::getConnectingLink(), MSLane::getLength(), MSEdge::getPredecessors(), MSLane::getShape(), MSEdge::getSuccessors(), MSLane::getWidth(), MSEdge::isWalkingArea(), MSPModel_Striping::WalkingAreaPath::length, MIN2(), myMinNextLengths, myWalkingAreaPaths, POSITION_EPS, PositionVector::push_back_noDoublePos(), and PositionVector::reverse().
Referenced by getActiveLanes(), and MSPModel_Striping().
|
protected |
move all pedestrians forward and advance to the next lane if applicable
Definition at line 736 of file MSPModel_Striping.cpp.
References arriveAndAdvance(), DEBUGCOND, MSPModel_Striping::WalkingAreaPath::from, MSLane::getEdge(), Named::getID(), MSTransportable::getID(), MSPModel_Striping::PState::getPosition(), MSLane::getWidth(), Position::INVALID, MSEdge::isWalkingArea(), moveInDirectionOnLane(), myActiveLanes, MSPModel_Striping::PState::myDir, MSPModel_Striping::PState::myPerson, MSPModel_Striping::PState::myRelX, MSPModel_Striping::PState::myRelY, MSPModel_Striping::PState::mySpeed, MSPModel_Striping::PState::myStage, MSPModel_Striping::PState::myWalkingAreaPath, NUMERICAL_EPS, numStripes(), MSPModel_Striping::WalkingAreaPath::shape, SIMTIME, stripeWidth, MSPModel_Striping::WalkingAreaPath::to, PositionVector::transformToVectorCoordinates(), Position::x(), and Position::y().
|
protected |
move pedestrians forward on one lane
Definition at line 839 of file MSPModel_Striping.cpp.
References addCrossingVehs(), MSLane::anyVehiclesBegin(), MSLane::anyVehiclesEnd(), MSLane::anyVehiclesUpstreamBegin(), MSLane::anyVehiclesUpstreamEnd(), MSPModel::BACKWARD, DEBUG_PRINT(), DEBUGCOND, MSPModel_Striping::NextLaneInfo::dir, DIST_OVERLAP, MSPModel_Striping::PState::distanceTo(), MSPModel_Striping::PState::distToLaneEnd(), MSPModel::FORWARD, MSPModel_Striping::WalkingAreaPath::from, MSGlobals::gCheck4Accidents, gDebugFlag1, MSPerson::MSPersonStage_Walking::getArrivalPos(), MSVehicle::getBackPositionOnLane(), MSTransportable::Stage::getDestination(), MSTransportable::Stage::getDestinationStop(), MSLane::getEdge(), Named::getID(), MSBaseVehicle::getID(), MSTransportable::getID(), MSPModel_Striping::PState::getImpatience(), MSVehicle::getLateralPositionOnLane(), MSVehicleType::getLength(), MSPModel_Striping::PState::getLength(), MSLane::getLength(), MSPerson::MSPersonStage_Walking::getMaxSpeed(), MSPModel_Striping::PState::getMaxX(), MSPModel_Striping::PState::getMinGap(), MSPModel_Striping::PState::getMinX(), getNeighboringObstacles(), getNextLane(), getNextLaneObstacles(), MSVehicle::getSpeed(), MSLane::getVehicleNumberWithPartials(), MSBaseVehicle::getVehicleType(), MSTransportable::getVehicleType(), MSLink::getViaLaneOrLane(), MSVehicleType::getWidth(), MSLane::getWidth(), MSPModel_Striping::PState::ignoreRed(), MSEdge::isCrossing(), MSPModel_Striping::NextLaneInfo::lane, MSPModel_Striping::WalkingAreaPath::length, MSPModel_Striping::NextLaneInfo::link, LOOKAHEAD_ONCOMING, LOOKAHEAD_SAMEDIR, LOOKAROUND_VEHICLES, MAX2(), MSPModel_Striping::PState::mergeObstacles(), MIN2(), MSPModel_Striping::PState::myAmJammed, MSPModel_Striping::PState::myDir, MSPModel_Striping::PState::myLane, MSPModel_Striping::PState::myNLI, MSPModel_Striping::PState::myPerson, MSPModel_Striping::PState::myRelX, MSPModel_Striping::PState::myRelY, MSPModel_Striping::PState::mySpeed, MSPModel_Striping::PState::myStage, MSPModel_Striping::PState::myWaitingToEnter, MSPModel_Striping::PState::myWalkingAreaPath, NUMERICAL_EPS, numStripes(), OBSTACLE_ARRIVALPOS, OBSTACLE_LINKCLOSED, OBSTACLE_VEHICLE, MSLink::opened(), MSPModel_Striping::PState::otherStripe(), MSPModel::SAFETY_GAP, SIMTIME, MSPModel_Striping::Obstacle::speed, MSPModel_Striping::PState::stripe(), stripeWidth, time2string(), MSPModel_Striping::PState::walk(), WRITE_WARNING, and MSPModel_Striping::Obstacle::xFwd.
Referenced by moveInDirection().
|
virtual |
returns the next pedestrian beyond minPos that is laterally between minRight and maxLeft or 0
Reimplemented from MSPModel.
Definition at line 216 of file MSPModel_Striping.cpp.
References DEBUGCOND, MSPModel::FORWARD, Named::getID(), MSVehicleType::getLength(), MSVehicleType::getMaxSpeed(), getPedestrians(), MSTransportable::getVehicleType(), MSVehicleType::getWidth(), MSLane::getWidth(), MSPModel_Striping::PState::myDir, MSPModel_Striping::PState::myPerson, MSPModel_Striping::PState::myRelX, MSPModel_Striping::PState::myRelY, and stripeWidth.
|
staticprivate |
return the maximum number of pedestrians walking side by side
Definition at line 279 of file MSPModel_Striping.cpp.
References MSLane::getWidth(), and stripeWidth.
Referenced by getActiveLanes(), getNextLaneObstacles(), moveInDirection(), moveInDirectionOnLane(), MSPModel_Striping::PState::moveToNextLane(), MSPModel_Striping::PState::otherStripe(), MSPModel_Striping::PState::PState(), MSPModel_Striping::PState::stripe(), and MSPModel_Striping::PState::walk().
|
virtual |
remove the specified person from the pedestrian simulation
Implements MSPModel.
Definition at line 154 of file MSPModel_Striping.cpp.
References myActiveLanes.
|
staticprivate |
Definition at line 700 of file MSPModel_Striping.cpp.
References MSPModel::FORWARD, MSPModel_Striping::Obstacle::xBack, and MSPModel_Striping::Obstacle::xFwd.
Referenced by getActiveLanes(), and getNextLaneObstacles().
|
virtual |
whether movements on intersections are modelled
Implements MSPModel.
Definition at line 211 of file MSPModel_Striping.cpp.
References MSNet::getInstance(), MSGlobals::gUsingInternalLanes, and MSNet::hasInternalLinks().
|
friend |
Definition at line 59 of file MSPModel_Striping.h.
|
staticinherited |
Definition at line 109 of file MSPModel.h.
Referenced by addCloserObstacle(), addCrossingVehs(), MSPModel::canTraverse(), MSPModel_NonInteracting::PState::computeWalkingTime(), connectedDirection(), MSPModel_Striping::MovePedestrians::execute(), MSPModel_Striping::PState::getAngle(), getNextLane(), getNextLaneObstacles(), initWalkingAreaPaths(), moveInDirectionOnLane(), MSPModel_Striping::PState::moveToNextLane(), MSPModel_Striping::PState::PState(), and MSPModel_Striping::PState::walk().
|
static |
Definition at line 104 of file MSPModel_Striping.h.
Referenced by DEBUG_PRINT(), MSPModel_Striping(), and MSPModel_Striping::PState::walk().
|
staticprotected |
Definition at line 152 of file MSPModel_Striping.h.
Referenced by DEBUG_PRINT(), MSPModel_Striping::PState::distanceTo(), and getNeighboringObstacles().
|
staticprotected |
Definition at line 151 of file MSPModel_Striping.h.
Referenced by DEBUG_PRINT().
|
staticprotected |
Definition at line 153 of file MSPModel_Striping.h.
Referenced by DEBUG_PRINT(), MSPModel_Striping::PState::distanceTo(), getNeighboringObstacles(), moveInDirectionOnLane(), and MSPModel_Striping::PState::walk().
|
staticinherited |
Definition at line 105 of file MSPModel.h.
Referenced by addCloserObstacle(), addCrossingVehs(), blockedAtDist(), MSPModel::canTraverse(), MSPModel_NonInteracting::PState::computeWalkingTime(), connectedDirection(), MSPModel_Striping::PState::distanceTo(), MSPModel_Striping::PState::distToLaneEnd(), MSPModel_Striping::MovePedestrians::execute(), MSPModel_Striping::PState::getMaxX(), MSPModel_Striping::PState::getMinX(), getNextLane(), getNextLaneObstacles(), getNextWalkingArea(), initWalkingAreaPaths(), moveInDirectionOnLane(), MSPModel_Striping::PState::moveToNextLane(), nextBlocking(), MSPModel_Striping::PState::PState(), transformToCurrentLanePositions(), and MSPModel_Striping::PState::walk().
|
static |
Definition at line 123 of file MSPModel_Striping.h.
Referenced by DEBUG_PRINT(), and MSPModel_Striping::PState::walk().
|
static |
Definition at line 107 of file MSPModel_Striping.h.
Referenced by DEBUG_PRINT(), MSPModel_Striping(), and MSPModel_Striping::PState::walk().
|
static |
Definition at line 117 of file MSPModel_Striping.h.
Referenced by DEBUG_PRINT(), and MSPModel_Striping::PState::walk().
|
static |
Definition at line 142 of file MSPModel_Striping.h.
Referenced by DEBUG_PRINT(), and MSPModel_Striping::PState::walk().
|
static |
Definition at line 112 of file MSPModel_Striping.h.
Referenced by DEBUG_PRINT(), moveInDirectionOnLane(), and MSPModel_Striping::PState::walk().
|
static |
Definition at line 110 of file MSPModel_Striping.h.
Referenced by DEBUG_PRINT(), moveInDirectionOnLane(), and MSPModel_Striping::PState::walk().
|
static |
Definition at line 114 of file MSPModel_Striping.h.
Referenced by DEBUG_PRINT(), and moveInDirectionOnLane().
|
static |
Definition at line 139 of file MSPModel_Striping.h.
Referenced by DEBUG_PRINT(), and MSPModel_Striping::PState::getImpatience().
|
static |
Definition at line 145 of file MSPModel_Striping.h.
Referenced by DEBUG_PRINT(), and MSPModel_Striping::PState::walk().
|
private |
store of all lanes which have pedestrians on them
Definition at line 455 of file MSPModel_Striping.h.
Referenced by add(), arriveAndAdvance(), cleanupHelper(), getActiveLanes(), getPedestrians(), moveInDirection(), and remove().
|
private |
the MovePedestrians command that is registered
Definition at line 449 of file MSPModel_Striping.h.
Referenced by MSPModel_Striping().
|
staticprivate |
Definition at line 459 of file MSPModel_Striping.h.
Referenced by cleanupHelper(), DEBUG_PRINT(), getNextLaneObstacles(), and initWalkingAreaPaths().
|
private |
the total number of active pedestrians
Definition at line 452 of file MSPModel_Striping.h.
Referenced by add(), arriveAndAdvance(), and cleanupHelper().
|
staticprivate |
store for walkinArea elements
Definition at line 458 of file MSPModel_Striping.h.
Referenced by cleanupHelper(), DEBUG_PRINT(), getArbitraryPath(), initWalkingAreaPaths(), and MSPModel_Striping::PState::moveToNextLane().
|
staticprivate |
empty pedestrian vector
Definition at line 462 of file MSPModel_Striping.h.
Referenced by DEBUG_PRINT(), and getPedestrians().
|
static |
Definition at line 120 of file MSPModel_Striping.h.
Referenced by DEBUG_PRINT(), and MSPModel_Striping::PState::walk().
|
static |
Definition at line 129 of file MSPModel_Striping.h.
Referenced by DEBUG_PRINT(), and MSPModel_Striping::PState::walk().
|
static |
Definition at line 126 of file MSPModel_Striping.h.
Referenced by DEBUG_PRINT(), and MSPModel_Striping::PState::walk().
|
static |
Definition at line 135 of file MSPModel_Striping.h.
Referenced by DEBUG_PRINT(), and MSPModel_Striping::PState::walk().
|
static |
Definition at line 136 of file MSPModel_Striping.h.
Referenced by DEBUG_PRINT(), and MSPModel_Striping::PState::walk().
|
staticinherited |
Definition at line 113 of file MSPModel.h.
Referenced by MSLink::getLeaderInfo(), and moveInDirectionOnLane().
|
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().
|
static |
Definition at line 132 of file MSPModel_Striping.h.
Referenced by DEBUG_PRINT(), and MSPModel_Striping::PState::otherStripe().
|
static |
model parameters
Definition at line 101 of file MSPModel_Striping.h.
Referenced by DEBUG_PRINT(), getNextLaneObstacles(), MSPModel_Striping::PState::getPosition(), moveInDirection(), moveInDirectionOnLane(), MSPModel_Striping::PState::moveToNextLane(), MSPModel_Striping::PState::moveToXY(), MSPModel_Striping(), nextBlocking(), numStripes(), MSPModel_Striping::PState::otherStripe(), MSPModel_Striping::PState::PState(), MSPModel_Striping::PState::stripe(), and MSPModel_Striping::PState::walk().
|
staticinherited |
Definition at line 110 of file MSPModel.h.
Referenced by MSPModel_NonInteracting::PState::computeWalkingTime(), connectedDirection(), getNextLane(), and MSPModel_Striping::PState::moveToNextLane().