PedEnter

Блок принимает созданных пешеходов (например, пешеходов, созданных блоком Source Библиотеки моделирования процессов) во входном порту, задает их физические характеристики и добавляет их в заданное место моделируемой среды.
Блок может формировать группы из поступающих пешеходов, позволяя задавать время прибытия пешеходов, размеры создаваемых групп, интенсивность создания групп и т.д.
Также блок PedEnter можно использовать для изменения характеристик пешехода, таких как скорость, цвет, диаметр и др.
Параметры
- Место появления
- Здесь вы можете выбрать, хотите ли вы, чтобы пешеходы появлялись в моделируемой среде на заданной линии (опция линия), в точке с заданными координатами (опция точка (x,y)) или внутри заданной области (опция область). Область моделируется с помощью прямоугольного узла или многоугольного узла.
Имя: locationType
Значение по умолчанию: PedSource.LOCATION_LINE
Возможные значения:
PedSource.LOCATION_LINE - Целевая линия
PedSource.LOCATION_POINT - Точка с заданными координатами
PedSource.LOCATION_AREA - Прямоугольный узел или многоугольный узел
- Целевая линия [динамический]
- [Виден, если Место появления: линия] Целевая линия, на которой будут появляться создаваемые этим блоком пешеходы.
Тип значения: TargetLine
Локальная переменная: ped - пешеход
- Уровень [динамический]
- [Виден, если Место появления: точка (x,y)] Уровень, на котором задана точка появления пешеходов.
Тип значения: Level
Локальная переменная: ped - пешеход
- X, Y [динамический]
- [Виден, если Место появления: точка (x,y)] X (Y) координата точки, в которой будут появляться пешеходы.
Тип значения: double
Локальная переменная: ped - пешеход
- Область [динамический]
- [Виден, если Место появления: область] Прямоугольный узел или многоугольный узел, внутри которого будут появляться пешеходы.
Тип значения: AreaNode
Локальная переменная: ped - пешеход
- Комфортная скорость [динамический]
- Комфортная для пешехода скорость. Это та скорость, с которой будет двигаться пешеход при отсутствии внешних факторов.
Тип значения: double
Локальная переменная: ped - пешеход
- Начальная скорость [динамический]
- Начальная скорость пешехода.
Тип значения: double
Локальная переменная: ped - пешеход
- Диаметр [динамический]
- Диаметр пешехода.
Тип значения: double
Локальная переменная: ped - пешеход
- Группы пешеходов
- Параметры в этой секции видны, если выбрана опция Создает группы пешеходов.
- Создает группы пешеходов
- Если опция выбрана, то этот блок будет создавать группы пешеходов. Свойства группы задаются с помощью расположенных ниже параметров.
Синтаксис: boolean createGroups
- Группа создается
- [Виден, если установлен флажок Создавать группы] Определяет, что будет являться критерием завершения создания группы: будет ли создаваться группа С заданным числом человек, или В течение заданного времени, или создание группы будет завершаться, если время между приходами пешеходов превзойдет заданное максимальное значение (Пока соблюдается интенсивность).
Имя: groupingMode
Изменить значение: set_groupingMode(new value)
Возможные значения:
pedSource.GROUPING_MODE_SIZE_REACHED
pedSource.GROUPING_MODE_TIMEOUT
pedSource.GROUPING_MODE_TIME_GAP
- Число человек в группе [динамический]
- [Виден, если установлен флажок Создавать группы и Группа создается: С заданным числом человек] Число человек в группе. Если, например, вы оставите значение по умолчанию, то будут создаваться группы из двух и из трех человек (с равными вероятностями).
Тип значения: int
Значение по умолчанию: uniform_discr( 2, 3 )
Локальная переменная: leader - лидер группы
- Время формирования группы [динамический]
- [Виден, если установлен флажок Создавать группы и Группа создается: В течение заданного времени] Время, в течение которого будет собираться группа. Когда этот таймаут истечет, формирование группы будет закончено, и начнется формирование новой группы.
Тип значения: double
Значение по умолчанию: exponential(300/ hour())
- Макс. время между прибытиями для одной группы [динамический]
- [Виден, если установлен флажок Создавать группы и Группа создается: Пока соблюдается интенсивность] Максимальное время между прибытиями пешеходов одной группы. Если время между прибытиями превзойдет заданное здесь значение, то формирование одной группы будет завершено и начнется формирование новой.
Тип значения: double
Значение по умолчанию: 2 секунды
- Форма группы
- [Виден, если установлен флажок Создавать группы] Форма группы пешеходов: толпа, шеренга, цепочка.
Имя: groupFormation
Изменить значение: set_groupFormation(new value)
Возможные значения:
pedSource.GROUP_FORMATION_SWARM - толпа
pedSource.GROUP_FORMATION_CHAIN - цепочка
pedSource.GROUP_FORMATION_FRONT - шеренга
- Поведение группы в сервисах
- [Виден, если установлен флажок Создавать группы] Здесь вы можете задать, как создаваемые этим блоком группы пешеходов будут вести себя при прохождении сервисов (если в задающем сервис
блоке PedService не будет выбрано другое поведение). Возможны три варианта:
- Все члены группы обслуживаются индивидуально - Каждый член группы должен самостоятельно пройти через сервис. Пример такого сервиса - турникеты.
- Обслуживается только один член группы, остальные ждут в очереди - Вся группа стоит в очереди, но при достижении сервиса обслуживаться будет только один член этой группы, остальные просто его сопровождают. Пример - семья, стоящая в кассу кинотеатра. Места в кинозале выбирают все члены семьи, билеты же покупает только глава семьи. Соответственно, тратится время на обслуживание только одного пешехода, но стоящие вместе с ним сопровождающие лица могут создавать скопления.
- Обслуживается только один член группы, остальные ждут в области ожидания - В сервисе обслуживается (и соответственно, стоит в очереди к нему) только один член группы. Остальные члены группы ждут в стороне, в заданной для них области ожидания (эту область нужно будет задать с помощью блока PedArea, а имя этого блока указать в свойстве Область ожидания соответствующего блока PedService). Пример - экскурсионная группа, приобретающая билеты в музей. В очереди в кассу стоит только гид группы, экскурсанты организованно ждут его в стороне.
Имя serviceGroupBehavior
Изменить значение set_serviceGroupBehavior(new value)
Возможные значения:
pedSource.SGB_INDIVIDUAL_SERVING
pedSource.SGB_ONE_MEMBER_IS_SERVED_OTHERS_WAIT_IN_QUEUE
pedSource.SGB_ONE_MEMBER_IS_SERVED_OTHERS_WAIT_IN_AREA
- Отмена для пешехода распространяется на группу
- [Виден, если установлен флажок Создавать группы] Если флажок установлен, то при отмене какой-либо команды (например, "ждать" или "перейти") для одного пешехода из группы эта команда будет отменена и для всех остальных членов этой группы.
Синтаксис: boolean solidCancelling
- Действия
- При входе[код]
- Код, который выполняется, когда пешеход заходит в блок.
Локальная переменная: ped - пешеход
- При выходе [код]
- Код, выполняемый, когда пешеход покидает блок.
Локальная переменная: ped - пешеход
- При начале создания группы[код]
- Код, который выполняется, когда в блок приходит первый член новой группы.
Локальные переменные:
leader - лидер группы
PedGroup group - группа, сборка которой только что началась
- При окончании создания группы [код]
- Код, выполняемый в момент завершения сборки группы
Локальные переменные:
leader - лидер группы
PedGroup group - группа, сборка которой только что закончилась
Функции
long countPeds() - Возвращает количество пешеходов, покинувших блок.
long countGroups() - Возвращает количество созданных групп (включая группу, создаваемую в текущий момент времени).
int size() - Возвращает количество пешеходов, находящихся в этом блоке.
void take(Agent ped) - Посылает указанного агента через выходной порт блока out, тем самым добавляя данного агента в процесс.
Agent remove(Agent agent) - Извлекает указанного агента из блока.
Порты
- in
- Входной порт.
- out
- Выходной порт.