PedSettings

Блок PedSettings позволяет задавать общие параметры, относящиеся ко всем блокам Пешеходной библиотеки, и настраивать модель для конкретной задачи с целью получения максимальной производительности.

Социальная дистанция

В этом блоке вы можете задать расстояние, которое должны будут соблюдать между собой пешеходы. Такая опция будет полезной при моделировании пешеходных потоков и областей обслуживания во время пандемии или для моделирования пешеходных потоков в местности с низкой плотностью населения.

Индивидуальные пешеходы

Во время движения пешеходы будут стараться соблюдать социальную дистанцию между собой за исключением тех случаев, когда плотность пешеходов становится слишком высокой, например, в узких проходах, коридорах и т.д.. Пройдя подобные сложные зоны, пешеходы возобновят соблюдение социальной дистанции.

Во время движения пешеходы не соблюдают социальную дистанцию с другими пешеходами, ожидающими в очередях или областях ожидания.

Группы

Члены группы не соблюдают социальную дистанцию между собой во время движения, в очередях и в областях ожидания.

Очереди

Пешеходы в сервисных очередях соблюдают социальную дистанцию по сервисной линии. Если очередь-змейка нарисована так, что расстояние между пешеходами в этой очереди меньше заданной социальной дистанции, то дистанция будет соблюдаться каждым пешеходом только между собой и пешеходами, стоящими непосредственно впереди и позади. Расстояние между очередью и человеком внутри сервиса (servicePoint) не соблюдается.

Области ожидания

При входе в область ожидания пешеходы будут занимать такое место, чтобы соблюдалась социальная дистанция. Если плотность пешеходов внутри области ожидания становится слишком высокой, входящие в область пешеходы будут занимать любое свободное место, игнорируя требования социальной дистанции.

Примечание: Расположение пешеходов в области ожидания согласно аттракторам имеет более высокий приоритет, чем требования социальной дистанции.

Параметры

Соблюдать социальную дистанцию
Выбрав эту опцию, вы сможете задать расстояние между пешеходами, которое они будут стараться соблюдать при движении или ожидании в очереди или области ожидания. Социальная дистанция не будет соблюдаться между пешеходами внутри группы, а также между двигающимися пешеходами и ожидающими пешеходами.
Синтаксис: boolean enableSocialDistancing
Значение по умолчанию: true
Социальная дистанция
[Параметр доступен, если выбрана опция Соблюдать социальную дистанцию] Здесь вы можете задать расстояние в метрах, которое пешеходы соблюдать между собой.
Syntax: double socialDistance
Временной шаг
[Параметр недоступен, если выбрана опция Соблюдать социальную дистанцию] Синхронный шаг моделирования. Значение не может быть равно 0. Присвоение данному параметру малых значений вынуждает пешехода двигаться более точно, но требует более высокой производительности. Рекомендуемое значение: 0.3 секунды. Если выбрана опция Соблюдать социальную дистанцию, шаг моделирования будет равен 0.1 секунды.
Имя: timeStep
Тип: double
Изменить значение: set_timeStep(новое значение)
Разрешить выделение пешехода мышью
Если опция выбрана (true), пользователь может выделить пешехода или снять выделение, щелкнув по нему мышью.
Имя: allowPedestrianSelectionByClick
Тип: boolean
Значение по умолчанию: true
Действия
При выборе пешехода [код]
Код, выполняемый при выделении пешехода. Вы можете выделить пешехода, щелкнув мышью по его фигуре анимации или программно с помощью функции PedSettings.
Локальная переменная: ped - выделенный пешеход
При отмене выбора пешехода [код]
Код, выполняемый при отмене выделения пешехода. Вы можете отменить выделение пешехода, щелкнув мышью в любом месте презентации модели или программно с помощью функции deselect(ped) блока PedSettings.
Локальная переменная: ped - пешеход
При формировании группы [код]
Здесь вы можете написать Java код, который будет выполняться в момент окончания формирования новой группы пешеходов.
Локальная переменная: group - группа
При расформировании группы [код]
Здесь вы можете написать Java код, который будет выполняться в момент окончания расформирования группы пешеходов.
Локальная переменная: group - группа
При изменении лидера группы [код]
Здесь вы можете написать Java код, который будет выполняться в момент смены лидера группы пешеходов.
Локальные переменные:
При изменении формы группы [код]
Здесь вы можете написать Java код, который будет выполняться в момент смены формы (строя) группы пешеходов.
Локальные переменные:
При добавлении пешехода в группу [код]
Здесь вы можете написать Java код, который будет выполняться в момент добавления пешехода в группу.
Локальные переменные:
При удалении пешехода из группы [код]
Здесь вы можете написать Java код, который будет выполняться в момент удаления пешехода из группы.
Локальные переменные:

Функции

double socialDistance() - Возвращает социальную дистанцию между пешеходами в метрах.

double socialDistance(LengthUnits units) - Возвращает социальную дистанцию между пешеходами в указанных единицах длины.
Параметр:
units - константа, задающая единицу измерения длины

boolean enableSocialDistance() - Проверяет, включена ли опция Соблюдать социальную дистанцию. Если включена, то функция возвращает true. В противном случае возвращает false.

void selectPed(Agent ped) - Выделяет на анимации запущенной модели заданного аргументом пешехода.

void deselectPed() - Снимает выделение с выделенного в данный момент времени пешехода.

Agent getSelectedPed() - Возвращает выделенного в текущий момент времени пешехода (если такового нет, то null).

Set<Agent>getPeds() - Возвращает неизменяемую переменную типа коллекция, содержащую всех пешеходов, находящихся в модели.

Set<PedGroup>getGroups - Возвращает неизменяемую переменную типа коллекция, содержащую все группы пешеходов, находящихся в модели.

double pixelsToMeters(double value) - Преобразовывает заданное аргументом количество пикселей анимации в длину в метрах согласно заданному блоком масштабу анимации.

double metersToPixels(double value) - Преобразовывает заданную аргументом длину в метрах в длину в количество пикселей анимации согласно заданному блоком масштабу анимации.

int countGroups - Returns number of groups in this model.

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