PedSource


Создает пешеходов. Обычно используется в качестве начальной точки блок-схемы, формализующей поток пешеходов. Создает пешеходов через случайные промежутки времени. 

Есть несколько способов задания того, когда и сколько пешеходов следует создавать. Пешеходы могут создаваться согласно заданной интенсивности (которая может изменяться динамически с помощью метода set_rate()), времени между прибытиями, изменяющейся во времени интенсивности, заданной с помощью таблицы интенсивностей, расписанию, задающему точные времена и количество прибывающих пешеходов, или "вручную" путем вызова метода объекта inject(). Например, Пуассоновский поток появления пешеходов можно реализовать либо выбирая определенную интенсивность генерации пешеходов, либо задавая экспоненциально распределенное время между генерациями пешеходов. Вы также можете задать число генераций и количество пешеходов, создаваемых при каждой генерации. 

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

Чтобы создавать пешеходов собственного типа, выберите этот тип в параметре Новый пешеход.

Параметры

Место появления
Здесь вы можете задать, будут ли появляться пешеходы в заданной линии, точке или области.
Имя: locationType
Изменить значение: set_locationType()
Значение по умолчанию: PedSource.LOCATION_LINE
Возможные значенияPedSource.LOCATION_LINE - Линия
                                      PedSource.LOCATION_POINT - Точка
                                      PedSource.LOCATION_AREA - Область
Целевая линия [динамический]
[Виден, если Место появления: линия] Целевая линия, на которой будут появляться созадваемые этим блоком пешеходы.
Тип значения: TargetLine
Локальная переменная: ped - пешеход
Этаж [динамический]
[Виден, если Место появленияточка (x,y) ] Этаж, на котором задана точка появления пешеходов.
Тип значения: Ground
Локальная переменная: ped - пешеход
X, Y [динамический]
[Виден, если Место появленияточка (x,y) ] X (Y) координата точки, в которой будут появляться пешеходы. 
Тип значения: double
Локальная переменная: ped - пешеход
Область [динамический]
[Виден, если Место появления: область] Имя области, внутри которой будут появляться пешеходы.
Тип значенияAreaNode
Локальная переменная: ped - пешеход
Прибывают согласно 
Определяет, будут ли пешеходы (группы пешеходов) прибывать согласно:
ИмяarrivalType
Изменить значение: set_arrivalType()
Значение по умолчанию: PedSource.RATE
Возможные значения: PedSource.RATE - Интенсивности
                   PedSource.INTERARRIVAL_TIME - Времени между прибытиями
                   PedSource.RATE_SCHEDULE - Расписанию интенсивностей
                   PedSource.ARRIVAL_SCHEDULE - Расписанию прибытий
                   PedSource.MANUAL - Вызовам функции inject()
Интенсивность, пешеходов (групп) в ед. вр.
[Виден, если Прибывают согласно Интенсивности] Интенсивность прибытия пешеходов (или групп пешеходов, если выбрана опция Создает группы пешеходов). Задается как количество пешеходов (или групп) в единицу модельного времени.
Синтаксис: double rate
Значение по умолчанию: 1000/hour()
Время между прибытиями [динамический]
[Параметр виден, Прибывают согласно Времени между прибытиями] Выражение, вычисляющее время до прибытия следующего пешехода (или группы, если выбрана опция Создает группы пешеходов).
Тип значения: double
Таблица интенсивностей
[Параметр виден, если Прибывают согласно Расписанию интенсивностей] Имя расписания, определяющего, как интенсивность прибытия пешеходов (или групп пешеходов, если выбрана опция Создает группы пешеходов) изменяется с течением времени. Значения интенсивности задаются как количество пешеходов (или групп), создаваемых в среднем в единицу модельного времени.
СинтаксисSchedule<?> rateSchedule
Изменить интенсивность
[Параметр виден, Прибывают согласно Расписанию интенсивностей] Если опция выбрана, то вы можете изменить считанную из таблицы интенсивность, домножив ее на какой-то коэффициент, или задав более сложное выражение в расположенном ниже поле Согласно выражению.
Синтаксисboolean modifyRate
Согласно выражению [динамический]
[Параметр виден, если выбрана опция Изменить интенсивность] Здесь вы можете задать выражение, согласно которому будут измененяться считанные из таблицы значения интенсивности. Текущее значение интенсивности из таблицы доступно в выражении как baseRate.
Тип значения: double
Локальная переменная: double baseRate - значение интенсивности из таблицы
Расписание прибытий
[Параметр виден, если Прибывают согласно Расписанию прибытий] Имя расписания, в котором заданы времена прибытия пешеходов (или групп пешеходов, если выбрана опция Создает группы пешеходов) и количество пешеходов/групп, прибывающее в каждый указанный в расписании момент времени.
Синтаксис: Schedule<Integer> arrivalSchedule
Количество прибытий ограничено 
Если опция выбрана, то количество прибытий (пешеходов или групп), генерируемое этим объектом, будет ограничено заданным ниже Максимальным количеством прибытий.
Синтаксис: boolean limitArrivals
Максимальное количество прибытий 
[Виден, если выбран Количество прибытий ограничено] Максимально допустимое количество генераций пешеходов/групп, которое может быть совершено этим объектом.
Синтаксис: int maxArrivals
Пешеход
Новый пешеход [динамический]
Тип создаваемого пешехода. По умолчанию это базовый тип агента Agent, но если вы создали свой собственный тип пешехода, и хотите, чтобы данный блок создавал пешеходов именно этого типа, то выберите здесь имя созданного вами типа пешехода.
Тип значения: Agent 
Комфортная скорость [динамический]
Комфортная для пешехода скорость. Это та скорость, с которой будет двигаться пешеход при отсутствии внешних факторов.
Тип значения: double
Локальная переменная: ped - пешеход
Значение по умолчанию: uniform(0.5, 1) м/c
Начальная скорость [динамический]
Начальная скорость пешехода.
Тип значения: double
Локальная переменная: ped - пешеход
Значение по умолчанию: uniform(0.3, 0.7) м/c
Диаметр [динамический]
Диаметр пешехода.
Тип значения: double
Локальная переменная: ped - пешеход
Значение по умолчанию: uniform(0.4, 0.5) м.
Группы пешеходов
Параметры в этой секции видны, если выбрана опция Создает группы пешеходов.
Число человек в группе [динамический]
Число человек в группе. Если, например, вы оставите значение по умолчанию, то будут создаваться группы из двух и из трех человек (с равными вероятностями). 
Тип значения: int
Значение по умолчанию: uniform_discr( 2, 3 )
Локальная переменная: leader - лидер группы
Время между прибытиями пешеходов в группе [динамический]
Время между прибытиями пешеходов, входящих в состав одной группы.
Тип значения: double
Форма группы
Форма группы пешеходов: толпашеренга или цепочка.
Имя: groupFormation  Изменить значение: set_groupFormation(новое значение)
Возможные значения: 
   GROUP_FORMATION_SWARM 
толпа
   GROUP_FORMATION_CHAIN
 - цепочка
   GROUP_FORMATION_FRONT
 - шеренга
Поведение группы в сервисах
[Параметр виден, если Объект создает Группы пешеходов] Здесь вы можете задать, как создаваемые этим объектом группы пешеходов будут вести себя при прохождении сервисов (если в задающем сервис объекте 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
Специфические
Добавлять пешеходов в
Здесь вы можете выбрать, хотите ли вы добавлять пешеходов, которых этот блок создает, в популяцию агентов по умолчанию или в другую популяцию (вы можете указать ее имя в параметре ниже). Популяцию по умолчанию, содержащуюся внутри агента верхнего уровня (Java-коллекцию типа AgentList<Agent>), можно выбрать с помощью вызова функции агента getDefaultPopulation().
Синтаксис: boolean addToCustomPopulation
Популяция [динамический]
[Параметр виден, если выбрано Добавлять пешеходов в: другую популяцию] Имя попуояции агентов, в которую будут добавлены пешеходы.
Тип значения: AgentList<? super T>
Локальная переменная:
 ped - пешеход.
Действия
При выходе [код]
Код, выполняемый, когда пешеход покидает объект. 
Локальная переменная: ped - пешеход.
При начале формирования группы [код]
Код, выполняемый, когда первый пешеход из новой группы входит в объект.
Локальные переменные: PedGroup group - группа пешеходов
                     leader
 - лидер группы
При окончании группировки [код]
Код, выполняемый, когда завершено формирование группы.
Локальные переменные: PedGroup group группа пешеходов
                     leader
 лидер группы

Порты

out
Выходной порт.

Функции

void inject(int count) - Метод добавляет заданное количество пешеходов (count) в моделируемую среду. Применим только в том случае, если Пешеходы прибывают согласно Вызовам метода inject().

long сountPeds() - Возвращает количество всех созданных объектом пешеходов.

long сountGroups() - Возвращает количество прибывших в этот объект групп пешеходов.

int size() - Возвращает количество пешеходов, находящихся внутри объекта.