![]() |
Eclipse 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 | PStateVehicle |
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... | |
void | add (PedestrianState *pState, const MSLane *lane) |
put the given state on lane 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 int | canTraverse (int dir, const ConstMSEdgeVector &route) |
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 SUMOTime | jamTimeCrossing |
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, bool prio) |
add vehicles driving across More... | |
static bool | addVehicleFoe (const MSVehicle *veh, const MSLane *walkingarea, const Position &relPos, double lateral_offset, double minY, double maxY, Pedestrians &toDelete, Pedestrians &transformedPeds) |
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 Obstacles | getVehicleObstacles (const MSLane *lane, int dir, PState *ped=0) |
retrieve vehicle obstacles on the given lane More... | |
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) |
static bool | usingInternalLanesStatic () |
Private Attributes | |
ActiveLanes | myActiveLanes |
store of all lanes which have pedestrians on them More... | |
bool | myAmActive |
whether an event for pedestrian processing was added More... | |
int | myNumActivePedestrians |
the total number of active pedestrians More... | |
Static Private Attributes | |
static MinNextLengths | myMinNextLengths |
static MSPModel * | myModel |
static std::map< const MSEdge *, std::vector< const MSLane * > > | myWalkingAreaFoes |
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 50 of file MSPModel_Striping.h.
|
protected |
Definition at line 165 of file MSPModel_Striping.h.
|
protected |
Definition at line 169 of file MSPModel_Striping.h.
|
protected |
Definition at line 167 of file MSPModel_Striping.h.
|
protected |
Definition at line 166 of file MSPModel_Striping.h.
|
protected |
Definition at line 163 of file MSPModel_Striping.h.
|
protected |
Definition at line 168 of file MSPModel_Striping.h.
|
protected |
Enumerator | |
---|---|
OBSTACLE_NONE | |
OBSTACLE_PED | |
OBSTACLE_VEHICLE | |
OBSTACLE_END | |
OBSTACLE_NEXTEND | |
OBSTACLE_LINKCLOSED | |
OBSTACLE_ARRIVALPOS |
Definition at line 192 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 107 of file MSPModel_Striping.cpp.
References dawdling, OptionsCont::getFloat(), OptionsCont::getString(), initWalkingAreaPaths(), jamTime, jamTimeCrossing, string2time(), stripeWidth, and SUMOTime_MAX.
MSPModel_Striping::~MSPModel_Striping | ( | ) |
Definition at line 126 of file MSPModel_Striping.cpp.
|
virtual |
register the given person as a pedestrian
Implements MSPModel.
Definition at line 131 of file MSPModel_Striping.cpp.
References MSEventControl::addEvent(), DELTA_T, MSNet::getBeginOfTimestepEvents(), MSTransportable::getCurrentStageType(), MSNet::getCurrentTimeStep(), MSTransportable::getEdge(), Named::getID(), MSTransportable::getID(), MSNet::getInstance(), OptionsCont::getOptions(), MSTransportable::MOVING_WITHOUT_VEHICLE, myActiveLanes, myAmActive, myNumActivePedestrians, time2string(), and WRITE_WARNING.
Referenced by MSPModel_Striping::PState::moveToXY().
void MSPModel_Striping::add | ( | PedestrianState * | pState, |
const MSLane * | lane | ||
) |
put the given state on lane
Definition at line 157 of file MSPModel_Striping.cpp.
References myActiveLanes.
|
staticprivate |
Definition at line 800 of file MSPModel_Striping.cpp.
References MSPModel::BACKWARD, MSPModel::FORWARD, and numStripes().
Referenced by getNextLaneObstacles().
|
staticprivate |
add vehicles driving across
Definition at line 1097 of file MSPModel_Striping.cpp.
References MSPModel::BACKWARD, MSCFModel::brakeGap(), DEBUG_PRINT(), DEBUGCOND2, MSPModel::FORWARD, gDebugFlag1, MSVehicle::getCarFollowModel(), Named::getID(), MSBaseVehicle::getID(), MSLink::getLeaderInfo(), MSVehicleType::getLength(), MSLane::getLength(), MSLane::getLinkCont(), MSCFModel::getMaxDecel(), MSVehicle::getSpeed(), MSBaseVehicle::getVehicleType(), MSVehicleType::getWidth(), MSLane::getWidth(), MAX2(), MIN2(), MINGAP_TO_VEHICLE, NUMERICAL_EPS, OBSTACLE_VEHICLE, SIMTIME, MSPModel_Striping::PState::stripe(), SUMO_const_haltingSpeed, MSPModel_Striping::Obstacle::xBack, and MSPModel_Striping::Obstacle::xFwd.
Referenced by getNextLaneObstacles(), and moveInDirectionOnLane().
|
staticprivate |
Definition at line 911 of file MSPModel_Striping.cpp.
References Position::INVALID, Position::x(), and Position::y().
Referenced by moveInDirection().
|
protected |
handle arrivals and lane advancement
Definition at line 928 of file MSPModel_Striping.cpp.
References MSPModel_Striping::PState::distToLaneEnd(), MSPerson::MSPersonStage_Walking::moveToNextEdge(), MSPModel_Striping::PState::moveToNextLane(), myActiveLanes, MSPModel_Striping::PState::myDir, MSPModel_Striping::PState::myLane, myNumActivePedestrians, MSPModel_Striping::PState::myPerson, and MSPModel_Striping::PState::myStage.
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 178 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 |
Definition at line 99 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().
|
staticinherited |
remove state at simulation end
Definition at line 89 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 280 of file MSPModel_Striping.cpp.
References myActiveLanes, myMinNextLengths, myNumActivePedestrians, myWalkingAreaFoes, and myWalkingAreaPaths.
returns the direction in which these lanes are connectioned or 0 if they are not
Definition at line 295 of file MSPModel_Striping.cpp.
References MSPModel::BACKWARD, MSPModel::FORWARD, MSLinkContHelper::getConnectingLink(), and MSPModel::UNDEFINED_DIRECTION.
Referenced by getNextLane().
|
staticprivate |
Definition at line 51 of file MSPModel_Striping.cpp.
Referenced by addCrossingVehs(), getNeighboringObstacles(), moveInDirectionOnLane(), and MSPModel_Striping::PState::walk().
|
inlineprotected |
Definition at line 427 of file MSPModel_Striping.h.
References myActiveLanes.
|
staticprivate |
return an arbitrary path across the given walkingArea
Definition at line 398 of file MSPModel_Striping.cpp.
References Named::getID(), MSEdge::getPredecessors(), MSEdge::getSuccessors(), MSEdge::isWalkingArea(), and myWalkingAreaPaths.
Referenced by MSPModel_Striping::PState::PState().
|
staticinherited |
Definition at line 63 of file MSPModel.cpp.
References MSNet::getInstance(), OptionsCont::getOptions(), OptionsCont::getString(), MSGlobals::gNumSimThreads, and MSPModel::myModel.
Referenced by MSPerson::MSPersonStage_Walking::abort(), MSLCM_LC2013::adaptSpeedToPedestrians(), MSLaneChanger::checkChange(), MSLane::checkForPedestrians(), MSLane::detectCollisions(), MSLane::detectPedestrianJunctionCollision(), MSLink::getLeaderInfo(), MSPModel_Striping::PState::moveToXY(), MSVehicle::planMoveInternal(), MSPerson::MSPersonStage_Walking::proceed(), MSLCM_SL2015::updateExpectedSublaneSpeeds(), and MSPerson::MSPersonStage_Walking::walkDistance().
|
staticprivate |
Definition at line 626 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 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 417 of file MSPModel_Striping.cpp.
References MSPModel::BACKWARD, PedestrianRouter::compute(), connectedDirection(), DEBUGCOND, MSPModel::FORWARD, MSPerson::MSPersonStage_Walking::getArrivalPos(), MSLane::getCanonicalSuccessorLane(), MSLinkContHelper::getConnectingLink(), MSLane::getEdge(), MSEdge::getFromJunction(), Named::getID(), MSTransportable::getID(), MSNet::getInstance(), MSLinkContHelper::getInternalFollowingLane(), MSEdge::getLanes(), MSLane::getLength(), MSEdge::getLength(), MSLane::getLinkCont(), MSLane::getLogicalPredecessorLane(), MSPerson::MSPersonStage_Walking::getMaxSpeed(), MSPerson::MSPersonStage_Walking::getNextRouteEdge(), getNextWalkingArea(), OptionsCont::getOptions(), MSNet::getPedestrianRouter(), MSPerson::MSPersonStage_Walking::getRoute(), MSLink::getTLLogic(), MSEdge::getToJunction(), MSLink::getViaLaneOrLane(), MSNet::hasPedestrianNetwork(), 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, usingInternalLanesStatic(), and WRITE_WARNING.
Referenced by moveInDirectionOnLane(), MSPModel_Striping::PState::moveToNextLane(), and MSPModel_Striping::PState::PState().
|
private |
Definition at line 676 of file MSPModel_Striping.cpp.
References addCloserObstacle(), addCrossingVehs(), MSPModel::BACKWARD, MSPModel::FORWARD, MSLane::getEdge(), MSTransportable::getID(), MSLane::getIncomingLanes(), MSLane::getLength(), getPedestrians(), MSPModel_Striping::PState::getPosition(), MSLane::getShape(), getStripeOffset(), MSLink::getTLLogic(), MSLane::getVehicleNumberWithPartials(), getVehicleObstacles(), MSTransportable::getVehicleType(), MSVehicleType::getWidth(), MSLane::getWidth(), MSLink::havePriority(), MSEdge::isCrossing(), MSEdge::isWalkingArea(), MSPModel_Striping::PState::mergeObstacles(), 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 moveInDirectionOnLane().
|
staticprivate |
return the next walkingArea in the given direction
Definition at line 603 of file MSPModel_Striping.cpp.
References MSPModel::FORWARD, MSLane::getIncomingLanes(), MSLink::getLane(), and MSLane::getLinkCont().
Referenced by getNextLane().
|
private |
retrieves the pedestian vector for the given lane (may be empty)
Definition at line 268 of file MSPModel_Striping.cpp.
References myActiveLanes, and noPedestrians.
Referenced by blockedAtDist(), getNextLaneObstacles(), hasPedestrians(), and nextBlocking().
|
staticprivate |
Definition at line 666 of file MSPModel_Striping.cpp.
Referenced by getNextLaneObstacles(), and MSPModel_Striping::PState::moveToNextLane().
|
staticprivate |
retrieve vehicle obstacles on the given lane
Definition at line 1175 of file MSPModel_Striping.cpp.
References MSLane::anyVehiclesBegin(), MSLane::anyVehiclesEnd(), MSLane::anyVehiclesUpstreamBegin(), MSLane::anyVehiclesUpstreamEnd(), MSPModel::BACKWARD, DEBUGCOND, DEBUGCOND2, MSPModel::FORWARD, MSVehicle::getBackPositionOnLane(), Named::getID(), MSBaseVehicle::getID(), MSTransportable::getID(), MSVehicle::getLateralPositionOnLane(), MSVehicleType::getLength(), MSLane::getLength(), MSPModel_Striping::PState::getMaxX(), MSPModel_Striping::PState::getMinX(), MSVehicle::getSpeed(), MSBaseVehicle::getVehicleType(), MSTransportable::getVehicleType(), MSVehicleType::getWidth(), MSLane::getWidth(), LOOKAHEAD_SAMEDIR, LOOKAROUND_VEHICLES, MAX2(), MIN2(), MSPModel_Striping::PState::myPerson, MSPModel_Striping::PState::myRelY, numStripes(), OBSTACLE_VEHICLE, MSPModel::SAFETY_GAP, SIMTIME, MSPModel_Striping::PState::stripe(), stripeWidth, MSPModel_Striping::Obstacle::xBack, and MSPModel_Striping::Obstacle::xFwd.
Referenced by getNextLaneObstacles(), and moveInDirectionOnLane().
|
virtual |
whether the given lane has pedestrians on it
Reimplemented from MSPModel.
Definition at line 215 of file MSPModel_Striping.cpp.
References getPedestrians().
|
staticprivate |
Definition at line 309 of file MSPModel_Striping.cpp.
References MSPModel::BACKWARD, Position::distanceTo2D(), PositionVector::extrapolate(), MSPModel::FORWARD, MSEdge::getAllEdges(), MSLinkContHelper::getConnectingLink(), MSEdge::getLanes(), MSLane::getLength(), MSEdge::getPredecessors(), MSLane::getShape(), MSEdge::getSuccessors(), MSLane::getWidth(), MSEdge::isCrossing(), MSEdge::isWalkingArea(), MSPModel_Striping::WalkingAreaPath::length, MIN2(), myMinNextLengths, myWalkingAreaFoes, myWalkingAreaPaths, POSITION_EPS, PositionVector::push_back_noDoublePos(), and PositionVector::reverse().
Referenced by MSPModel_Striping().
|
protected |
move all pedestrians forward and advance to the next lane if applicable
Definition at line 809 of file MSPModel_Striping.cpp.
References addVehicleFoe(), MSLane::anyVehiclesBegin(), MSLane::anyVehiclesEnd(), arriveAndAdvance(), DEBUGCOND, MSPModel_Striping::WalkingAreaPath::from, MSVehicle::getBackPosition(), MSLane::getEdge(), Named::getID(), MSTransportable::getID(), MSVehicleType::getLength(), MSPModel_Striping::PState::getPosition(), MSVehicle::getPosition(), MSBaseVehicle::getVehicleType(), 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, myWalkingAreaFoes, 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 954 of file MSPModel_Striping.cpp.
References addCrossingVehs(), DEBUG_PRINT(), DEBUGCOND, DELTA_T, 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(), MSTransportable::Stage::getDestination(), MSTransportable::Stage::getDestinationStop(), MSLane::getEdge(), Named::getID(), MSTransportable::getID(), MSPModel_Striping::PState::getImpatience(), MSPModel_Striping::PState::getLength(), MSLane::getLength(), MSPerson::MSPersonStage_Walking::getMaxSpeed(), MSPModel_Striping::PState::getMinGap(), getNeighboringObstacles(), getNextLane(), getNextLaneObstacles(), MSLane::getVehicleNumberWithPartials(), getVehicleObstacles(), MSLink::getViaLaneOrLane(), MSPModel_Striping::PState::ignoreRed(), Position::INVALID, MSEdge::isCrossing(), MSPModel_Striping::NextLaneInfo::lane, MSPModel_Striping::WalkingAreaPath::length, MSPModel_Striping::NextLaneInfo::link, LOOKAHEAD_ONCOMING, LOOKAHEAD_SAMEDIR, MSPModel_Striping::PState::mergeObstacles(), 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::myRemoteXYPos, MSPModel_Striping::PState::mySpeed, MSPModel_Striping::PState::myStage, MSPModel_Striping::PState::myWaitingToEnter, MSPModel_Striping::PState::myWalkingAreaPath, NUMERICAL_EPS, numStripes(), OBSTACLE_ARRIVALPOS, OBSTACLE_LINKCLOSED, MSLink::opened(), MSPModel_Striping::PState::otherStripe(), SIMTIME, MSPModel_Striping::Obstacle::speed, MSPModel_Striping::PState::stripe(), time2string(), toString(), MSPModel_Striping::PState::walk(), and WRITE_WARNING.
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 231 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 290 of file MSPModel_Striping.cpp.
References MSLane::getWidth(), MAX2(), and stripeWidth.
Referenced by addCloserObstacle(), getNextLaneObstacles(), getVehicleObstacles(), 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 165 of file MSPModel_Striping.cpp.
References myActiveLanes.
Referenced by MSPModel_Striping::PState::moveToXY().
|
staticprivate |
Definition at line 773 of file MSPModel_Striping.cpp.
References MSPModel::FORWARD, MSPModel_Striping::Obstacle::xBack, and MSPModel_Striping::Obstacle::xFwd.
Referenced by getNextLaneObstacles().
|
virtual |
whether movements on intersections are modelled /
Implements MSPModel.
Definition at line 221 of file MSPModel_Striping.cpp.
References usingInternalLanesStatic().
|
staticprivate |
Definition at line 226 of file MSPModel_Striping.cpp.
References MSNet::getInstance(), MSGlobals::gUsingInternalLanes, and MSNet::hasInternalLinks().
Referenced by getNextLane(), and usingInternalLanes().
|
friend |
Definition at line 52 of file MSPModel_Striping.h.
|
staticinherited |
Definition at line 106 of file MSPModel.h.
Referenced by MSPModel_Remote::add(), addCloserObstacle(), addCrossingVehs(), MSPModel::canTraverse(), MSPModel_NonInteracting::PState::computeWalkingTime(), connectedDirection(), MSPModel_Striping::MovePedestrians::execute(), MSPModel_Striping::PState::getAngle(), getNextLane(), getNextLaneObstacles(), getVehicleObstacles(), initWalkingAreaPaths(), MSPModel_Striping::PState::moveToNextLane(), MSPModel_Striping::PState::PState(), MSPModel_Striping::PState::walk(), and MSPerson::MSPersonStage_Walking::walkDistance().
|
static |
Definition at line 101 of file MSPModel_Striping.h.
Referenced by MSPModel_Striping(), and MSPModel_Striping::PState::walk().
|
staticprotected |
Definition at line 150 of file MSPModel_Striping.h.
Referenced by MSPModel_Striping::PState::distanceTo(), and getNeighboringObstacles().
|
staticprotected |
Definition at line 149 of file MSPModel_Striping.h.
Referenced by MSPModel_Striping::PState::distanceTo().
|
staticprotected |
Definition at line 151 of file MSPModel_Striping.h.
Referenced by MSPModel_Striping::PState::distanceTo(), getNeighboringObstacles(), moveInDirectionOnLane(), and MSPModel_Striping::PState::walk().
|
staticinherited |
Definition at line 102 of file MSPModel.h.
Referenced by MSPModel_Remote::add(), 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(), getVehicleObstacles(), initWalkingAreaPaths(), MSPModel_Striping::PState::mergeObstacles(), moveInDirectionOnLane(), MSPModel_Striping::PState::moveToNextLane(), nextBlocking(), MSPModel_Striping::PState::PState(), transformToCurrentLanePositions(), MSPModel_Striping::PState::walk(), and MSPerson::MSPersonStage_Walking::walkDistance().
|
static |
Definition at line 121 of file MSPModel_Striping.h.
Referenced by MSPModel_Striping::PState::walk().
|
static |
Definition at line 104 of file MSPModel_Striping.h.
Referenced by MSPModel_Striping(), and MSPModel_Striping::PState::walk().
|
static |
Definition at line 105 of file MSPModel_Striping.h.
Referenced by MSPModel_Striping(), and MSPModel_Striping::PState::walk().
|
static |
Definition at line 115 of file MSPModel_Striping.h.
Referenced by MSPModel_Striping::PState::walk().
|
static |
Definition at line 140 of file MSPModel_Striping.h.
Referenced by MSPModel_Striping::PState::walk().
|
static |
Definition at line 110 of file MSPModel_Striping.h.
Referenced by moveInDirectionOnLane(), and MSPModel_Striping::PState::walk().
|
static |
Definition at line 108 of file MSPModel_Striping.h.
Referenced by getVehicleObstacles(), moveInDirectionOnLane(), and MSPModel_Striping::PState::walk().
|
static |
Definition at line 112 of file MSPModel_Striping.h.
Referenced by getVehicleObstacles().
|
static |
Definition at line 137 of file MSPModel_Striping.h.
Referenced by MSPModel_Striping::PState::getImpatience().
|
static |
Definition at line 143 of file MSPModel_Striping.h.
Referenced by MSPModel_Striping::PState::walk().
|
private |
store of all lanes which have pedestrians on them
Definition at line 488 of file MSPModel_Striping.h.
Referenced by add(), arriveAndAdvance(), cleanupHelper(), getActiveLanes(), getPedestrians(), moveInDirection(), and remove().
|
private |
whether an event for pedestrian processing was added
Definition at line 491 of file MSPModel_Striping.h.
Referenced by add().
|
staticprivate |
Definition at line 496 of file MSPModel_Striping.h.
Referenced by cleanupHelper(), getNextLaneObstacles(), and initWalkingAreaPaths().
|
staticprivateinherited |
Definition at line 131 of file MSPModel.h.
Referenced by MSPModel::cleanup(), MSPModel_Striping::MovePedestrians::execute(), and MSPModel::getModel().
|
private |
the total number of active pedestrians
Definition at line 485 of file MSPModel_Striping.h.
Referenced by add(), arriveAndAdvance(), and cleanupHelper().
|
staticprivate |
Definition at line 495 of file MSPModel_Striping.h.
Referenced by cleanupHelper(), initWalkingAreaPaths(), and moveInDirection().
|
staticprivate |
store for walkinArea elements
Definition at line 494 of file MSPModel_Striping.h.
Referenced by cleanupHelper(), getArbitraryPath(), initWalkingAreaPaths(), and MSPModel_Striping::PState::moveToNextLane().
|
staticprivate |
empty pedestrian vector
Definition at line 499 of file MSPModel_Striping.h.
Referenced by getPedestrians().
|
static |
Definition at line 118 of file MSPModel_Striping.h.
Referenced by MSPModel_Striping::PState::walk().
|
static |
Definition at line 127 of file MSPModel_Striping.h.
Referenced by MSPModel_Striping::PState::walk().
|
static |
Definition at line 124 of file MSPModel_Striping.h.
Referenced by MSPModel_Striping::PState::walk().
|
static |
Definition at line 133 of file MSPModel_Striping.h.
Referenced by MSPModel_Striping::PState::walk().
|
static |
Definition at line 134 of file MSPModel_Striping.h.
Referenced by MSPModel_Striping::PState::walk().
|
staticinherited |
Definition at line 110 of file MSPModel.h.
Referenced by MSLink::checkWalkingAreaFoe(), MSLink::getLeaderInfo(), MSPModel_Striping::PStateVehicle::getMaxX(), MSPModel_Striping::PStateVehicle::getMinX(), and getVehicleObstacles().
|
staticinherited |
the offset for computing person positions when walking on edges without a sidewalk
Definition at line 113 of file MSPModel.h.
Referenced by MSPModel_NonInteracting::PState::getPosition(), GUINet::initGUIStructures(), and MSPModel_Striping::PState::moveToXY().
|
static |
Definition at line 130 of file MSPModel_Striping.h.
Referenced by MSPModel_Striping::PState::otherStripe().
|
static |
model parameters
Definition at line 98 of file MSPModel_Striping.h.
Referenced by getNextLaneObstacles(), MSPModel_Striping::PState::getPosition(), getVehicleObstacles(), moveInDirection(), 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 107 of file MSPModel.h.
Referenced by MSPModel::canTraverse(), MSPModel_NonInteracting::PState::computeWalkingTime(), connectedDirection(), getNextLane(), MSPModel_Striping::PState::moveToNextLane(), MSPModel_Striping::PState::PState(), and MSPerson::MSPersonStage_Walking::walkDistance().