PedSettings

PedSettings block allows specifying general parameters related to all blocks of the Pedestrian Library and allows tuning the models for a specific task in order to get maximum model performance.

Social distancing

This block provides an option to enable customizable social distancing between pedestrians. This may come handy when modeling pedestrian flows and service areas during pandemic or when you want to model pedestrian flow in areas with low density of population.

Individual pedestrians

Moving pedestrians will strive to observe the specified social distance between each other unless the density of pedestrians is too high (e.g. in bottle-neck situations). After passing such choke points, pedestrians will resume observing the social distance.

Moving pedestrians do not observe social distance with pedestrians who wait in queues or waiting areas.

Groups

Group members do not observe social distance with each other during movement, in queues, or in waiting areas.

Queues

Pedestrians in service queues observe social distance if it is enabled. The distance is observed only along the service line. If the curves of serpentine queue are less than the specified social distance, each pedestrian will keep the distance only between themselves and two other pedestrians: in front of them and behind them. The distance between a person inside the service (servicePoint) and the queue is not observed.

Waiting areas

Pedestrians that enter the waiting area and remain there until the waiting period is over will strive to observe social distance with each other if it is enabled. If the density of pedestrians inside the waiting area becomes too high, a new pedestrian that enters the area will ignore the social distance.

Note: Attractors in waiting areas have priority over social distance requirements.

Parameters

Enable social distancing
Selecting this option lets you specify a social distance between pedestrians. They will try to observe it while moving or waiting in area or queue. When moving in group or moving through the waiting pedestrians, social distance is not observed.
Syntax: boolean enableSocialDistancing
Default value: true
Social distance
[Visible only if Enable social distancing is enabled] Here you can specify the distance in meters that pedestrians should keep between each other.
Syntax: double socialDistance
Time step, sec.
[Visible if Enable social distancing is not selected] Synchronous model time step. Value should never be equal to 0. Setting this parameter to lower values cause pedestrians to move more precisely, however requires much more performance. Recommended value is 0.3 seconds. With social distancing applied, the time step is always 0.1 seconds.
Syntax: double timeStep
Allow pedestrian selection by click
If you select this option, you will be ables to select/deselect a pedestrian by clicking on it.
Syntax: boolean allowPedestrianSelectionByClick
Default value: true
Actions
On pedestrian selected [code]
Code executed when a pedestrian becomes selected. You can select a pedestrian by clicking on his animation shape, or programmatically using the function select(ped) of PedSettings block.
Local variable: Agent ped - the selected pedestrian
On pedestrian deselected [code]
Code executed when pedestrian becomes deselected. You can deselect a pedestrian by clicking anywhere in the presentation, or programmatically using the function deselect(ped) of PedSettings block.
Local variable: Agent ped - the deselected pedestrian
On group assembled [code]
Code executed when pedestrian group is assembled.
Local variable: PedGroup group - the group being assembled
On group disassembled [code]
Code executed when pedestrian group is disassembled.
Local variable: PedGroup group - the group being disassembled
On group leader changed [code]
Code executed when the leader of the group is changed.
Local variables:
On group formation changed [code]
Code executed when the formation of the group is changed.
Local variables:
On group member added [code]
Code executed when a pedestrian is added to the group.
Local variables:
On group member removed [code]
Code executed when a pedestrian is removed from the group.
Local variables:

Functions

double socialDistance() - Returns social distance between pedestrians in meters.

double socialDistance(LengthUnits units) - Returns social distance between pedestrians in specified length units.
Parameter:
units - a constant defining the length units

boolean enableSocialDistance() - Checks whether social distance between pedestrians is enabled. If enabled, the function returns true. Otherwise, it returns false.

int countGroups() - Returns number of groups in this model.

int countPeds() - Returns total number of pedestrians in this model.

void selectPed(Agent ped) - Selects the pedestrian (specified via the function argument) on the animation of the running model.

void deselectPed() - Deselects the currently selected pedestrian.

Agent getSelectedPed() - Returns the currently selected pedestrian (if some pedestrian is selected at the moment, null otherwise).

Set<agent> getPeds() - Returns a non-modifiable collection of all pedestrians in the model.

Set<pedgroup> getGroups() - Returns a non-modifiable collection of all groups in the model

double pixelsToMeters(double value) - Converts the specified number of pixels to the length in meters according to the animation scale defined by this block.

double metersToPixels(double value)- Converts the specified length in meters to the number of pixels according to the animation scale defined by this block.