PedSource


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

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

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

Чтобы создавать пешеходов класса, унаследованного от базового класса Ped (например, MyPed), напишите new MyPed() в параметре Новый пешеход.

Параметры класса

Класс пешехода
Класс пешехода, проходящего сквозь объект. Он должен быть унаследован от класса Ped. Если Вы используете собственный класс для создания пешеходов, то рекомендуем Вам указать его здесь, чтобы иметь возможность явно обращаться к собственным полям этого класса в динамических параметрах. В противном случае собственные поля класса будут недоступны.
Синтаксис T extends Ped
Значение по умолчанию Ped

Порты

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

Параметры

Объект создает
Определяет, создает ли этот объект Пешеходов или Группы пешеходов.
Синтаксис boolean createGroups
Значение по умолчанию Пешеходов (false)
Пешеходы прибывают согласно 
[Виден, если Объект создает Пешеходов] Определяет, будут ли пешеходы прибывать согласно:
Интенсивности - пешеходы прибывают согласно заданной интенсивности прибытия (эквивалентной экспоненциально распределенному времени между прибытиями со средним значением, равным 1/интенсивность).
Времени между прибытиями - время между двумя последовательными прибытиями определяется заданным выражением (используйте эту опцию для периодической генерации пешеходов или для генерации пешеходов с интервалами времени, не подчиняющимися экпоненциальному закону распределения).
Расписанию интенсивностей - пешеходы генерируются согласно расписанию интенсивностей - расписанию, определяющему, как интенсивность прибытия пешеходов изменяется с течением времени.
Расписанию прибытий - пешеходы генерируются согласно расписанию прибытий - расписанию, в котором заданы времена прибытия пешеходов и количество пешеходов, прибывающее в каждый указанный в расписании момент времени.
Таблице интенсивностей (устар.) - пешеходы генерируются согласно таблице интенсивностей - табличной функции, определяющей, как интенсивность прибытия пешеходов изменяется с течением времени. Начиная с версии 6.5.1 эта опция оставлена в основном для совместимости ранее разработанных моделей с программой, рекомендуется использовать вместо этой опции опцию Расписанию интенсивностей и использовать вместо табличной функции расписание.
Таблице прибытий (устар.) - пешеходы генерируются согласно расписанию - табличной функции, в которой заданы времена прибытия пешеходов и количество пешеходов, прибывающее в каждый указанный в таблице момент времени. Начиная с версии 6.5.1 эта опция оставлена в основном для совместимости ранее разработанных моделей с программой, рекомендуется использовать вместо этой опции опцию Расписанию прибытий и использовать вместо табличной функции расписание.
Вызовам метода inject() - пешеходы создаются не автоматически, а только при вызове метода inject().
Синтаксис int arrivalType
Значение по умолчанию Интенсивности
Группы прибывают согласно 
[Виден, если Объект создает Группы пешеходов] Определяет, будут ли группы пешеходов прибывать согласно:
Интенсивности - группы пешеходов прибывают согласно заданной интенсивности прибытия (эквивалентной экспоненциально распределенному времени между прибытиями со средним значением, равным 1/интенсивность).
Времени между прибытиями - время между двумя последовательными прибытиями определяется заданным выражением (используйте эту опцию для периодической генерации групп пешеходов или для генерации групп с интервалами времени, не подчиняющимися экпоненциальному закону распределения).
Расписанию интенсивностей - группы пешеходов генерируются согласно расписанию интенсивностей - расписанию, определяющему, как интенсивность прибытия групп изменяется с течением времени.
Расписанию прибытий - группы генерируются согласно расписанию прибытий - расписанию, в котором заданы времена прибытия групп и количество групп, прибывающее в каждый указанный в таблице момент времени.
Таблице интенсивностей (устар.) - группы генерируются согласно таблице интенсивностей - табличной функции, определяющей, как интенсивность прибытия групп изменяется с течением времени. Начиная с версии 6.5.1 эта опция оставлена в основном для совместимости ранее разработанных моделей с программой, рекомендуется использовать вместо этой опции опцию Расписанию интенсивностей и использовать вместо табличной функции расписание.
Таблице прибытий (устар.) - группы генерируются согласно табличной функции, в которой заданы времена прибытия групп и количество групп, прибывающее в каждый указанный в таблице момент времени. Начиная с версии 6.5.1 эта опция оставлена в основном для совместимости ранее разработанных моделей с программой, рекомендуется использовать вместо этой опции опцию Расписанию прибытий и использовать вместо табличной функции расписание.
Вызовам метода inject() - группы создаются не автоматически, а только при вызове метода inject().
Синтаксис int groupArrivalType
Значение по умолчанию Интенсивности
Интенсивность, пешеходов в ед. времени
[Виден, если Объект создает Пешеходов и Пешеходы прибывают согласно Интенсивности] Интенсивность прибытия пешеходов, в пешеходах в единицу модельного времени.
Синтаксис double rate
Значение по умолчанию 1000/hour()
Интенсивность, групп в ед. времени 
[Виден, если Объект создает Группы пешеходов и Группы прибывают согласно Интенсивности] Интенсивность прибытия групп пешеходов, в группах в единицу модельного времени.
Синтаксис double groupRate
Значение по умолчанию 300/hour()
Время между прибытиями пешеходов [динамический]
[Параметр виден, если Объект создает Пешеходов и Пешеходы прибывают согласно Времени между прибытиями] Выражение, вычисляющее время до прибытия следующего пешехода.
Синтаксис double interArrivalTime
Значение по умолчанию exponential(1000 / hour())
Время формирования группы [динамический]
[Параметр виден, если Объект создает Группы пешеходов и Группы прибывают согласно Времени между прибытиями] Выражение, вычисляющее время до прибытия следующей группы.
Синтаксис  double groupInterArrivalTime
Значение по умолчанию exponential(300 / hour())
Расписание интенсивностей, пешеходов в минуту
[Параметр виден, если Объект создает Пешеходов и Пешеходы прибывают согласно Расписанию интенсивностей] Имя расписания, определяющего, как интенсивность прибытия пешеходов изменяется с течением времени. 
Синтаксис Schedule rateSchedule
Таблица интенсивностей, групп в ед. времени
[Параметр виден, если Объект создает Группы пешеходов и Группы прибывают согласно Расписанию интенсивностей] Имя расписания, определяющего, как интенсивность прибытия групп пешеходов изменяется с течением времени. 
Синтаксис Schedule groupRateSchedule
Таблица прибытий, пешеходов в ед. времени
[Параметр виден, если Объект создает Пешеходов и Пешеходы прибывают согласно Расписанию прибытий] Имя расписания, в котором заданы времена прибытия пешеходов и количество пешеходов, прибывающее в каждый указанный в расписании момент времени.
Синтаксис Schedule arrivalSchedule
Таблица прибытий групп
[Параметр виден, если Объект создает Группы пешеходов и Группы прибывают согласноРасписанию прибытий] Имя расписания, в котором заданы времена прибытия групп пешеходов и количество групп, прибывающее в каждый указанный в расписании момент времени.
Синтаксис Schedule groupArrivalSchedule
Таблица интенсивностей, пешеходов в минуту
[Параметр виден, если Объект создает Пешеходов и Пешеходы прибывают согласно Таблице интенсивностей (устар.)] Имя табличной функции, задающей изменение интенсивности прибытия пешеходов во времени. Табличная функция может быть циклической и должна быть интерполированной. В заданные в таблице моменты времени текущая интенсивность прибытия пешеходов будет пересчитана в соответствии с ее новым значением. Запрещается иметь в таблице строки с нулевым значением интенсивности.
Начиная с версии 6.5.1 эта опция оставлена в основном для совместимости ранее разработанных моделей с программой, рекомендуется использовать вместо этой опции опцию Расписанию интенсивностей и использовать вместо табличной функции расписание.
Синтаксис TableFunction rateTable
Таблица интенсивностей, групп в ед. времени
[Параметр виден, если Объект создает Группы пешеходов и Группы прибывают согласно Таблице интенсивностей (устар.)] Имя табличной функции, задающей изменение интенсивности прибытия групп пешеходов во времени. Табличная функция может быть циклической и должна быть интерполированной. В заданные в таблице моменты времени текущая интенсивность прибытия групп пешеходов будет пересчитана в соответствии с ее новым значением. Запрещается иметь в таблице строки с нулевым значением интенсивности.
Начиная с версии 6.5.1 эта опция оставлена в основном для совместимости ранее разработанных моделей с программой, рекомендуется использовать вместо этой опции опцию Расписанию интенсивностей и использовать вместо табличной функции расписание.
Синтаксис TableFunction groupRateTable
Таблица прибытий, пешеходов в ед. времени
[Параметр виден, если Объект создает Пешеходов и Пешеходы прибывают согласно Таблице прибытий (устар.)] Имя табличной функции, в которой заданы времена прибытия пешеходов и количество пешеходов, прибывающее в каждый указанный в таблице момент времени. Например, если Вы укажете здесь таблицу с двумя строками (20, 100) и (50, 150), то объект выдаст 100 пешеходов в момент времени 20 и 150 пешеходов в момент времени 50. Табличная функция может быть циклической. Запрещается иметь в таблице строки с нулевым значением количества прибывающих пешеходов.
Начиная с версии 6.5.1 эта опция оставлена в основном для совместимости ранее разработанных моделей с программой, рекомендуется использовать вместо этой опции опцию Расписанию прибытий и использовать вместо табличной функции расписание.
Синтаксис TableFunction arrivalTable
Таблица прибытий групп
[Параметр виден, если Объект создает Группы пешеходов и Группы прибывают согласноТаблице прибытий (устар.)] Имя табличной функции, в которой заданы времена прибытия групп пешеходов и количество групп, прибывающее в каждый указанный в таблице момент времени. Например, если Вы укажете здесь таблицу с двумя строками (20, 100) и (50, 150), то объект выдаст 100 групп в момент времени 20 и 150 групп в момент времени 50. Табличная функция может быть циклической. Запрещается иметь в таблице строки с нулевым значением количества прибывающих пешеходов.
Начиная с версии 6.5.1 эта опция оставлена в основном для совместимости ранее разработанных моделей с программой, рекомендуется использовать вместо этой опции опцию Расписанию прибытий и использовать вместо табличной функции расписание.
Синтаксис TableFunction groupArrivalTable
Количество прибытий ограничено 
Если опция выбрана (true), то количество прибытий (пешеходов или групп), генерируемое этим объектом, будет ограничено заданным ниже Максимальным количеством прибытий.
Синтаксис boolean limitArrivals
Значение по умолчанию true
Максимальное количество прибытий 
[Виден, если выбран Количество прибытий ограничено] Максимально допустимое количество генераций пешеходов/групп, которое может быть совершено этим объектом.
Синтаксис int maxArrivals
Значение по умолчанию Integer.MAX_VALUE
Число человек в группе [динамический]
[Параметр виден, если Объект создает Группы пешеходов] Число человек в группе.
Если, например, Вы оставите значение по умолчанию, то будут создаваться группы из двух и из трех человек (с равными вероятностями). 
Синтаксис: int groupSize
Значение по умолчанию: uniform_discr( 2, 3 )
Время между прибытиями пешеходов в группе [динамический]
[Параметр виден, если Объект создает Группы пешеходов] Время между прибытиями пешеходов, входящих в состав одной группы.
Синтаксис double pedInGroupInterArrivalTime
Значение по умолчанию exponential(3 / second())
Новый пешеход [динамический]
Тип создаваемого пешехода. Это может быть класс Ped или его наследник с собственными полями и функциональностью.
Синтаксис Ped newPed
Значение по умолчанию new Ped() 
Диаметр, в метрах [динамический]
Диаметр пешехода в метрах.
Синтаксис double diameter
Локальная переменная T entity - пешеход
Значение по умолчанию uniform(0.4,0.5)
Комфортная скорость, в м/с [динамический]
Комфортная для пешехода скорость, в м/с. Это та скорость, с которой будет двигаться пешеход при отсутствии внешних факторов.
Синтаксис double speed
Локальная переменная T ped - пешеход.
Значение по умолчанию uniform(0.5,1)
Фигура анимации [динамический]
Фигура, используемая для отображения на анимации пешеходов, созданных данным объектом. Введите здесь имя фигуры (это может быть любая фигура презентации AnyLogic или их группа; рисунок, загруженный с помощью элемента Изображение; любое стандартное 2D или 3D изображение с палитры Картинки или 3D Объекты; любое другое трехмерное изображение, загруженное с помощью элемента 3D Объект). Поскольку этот параметр динамический, Вы можете задавать различные фигуры для различных заявок, или вообще задать уникальную фигуру для каждого пешехода, написав здесь, например, new ShapeOval().
Синтаксис Shape animationShape
Локальная переменная T ped - пешеход.
Уникальная фигура для каждого пешехода
Если опция выбрана (true), то объект создаст копию заданной Фигуры анимации и присвоит ее создаваемому пешеходу. В этом случае свойства фигуры (и ее содержимого, если это группа фигур) могут быть изменены отдельно для каждого пешехода. Если же опция не выбрана, то все пешеходы будут отображаться с помощью одной и той же фигуры, и любое изменение ее свойств приведет к изменению анимаций всех таких пешеходов.
Синтаксис: boolean uniqueAnimationShape
Значение по умолчанию: false
Разрешить вращение
Если опция выбрана (true), то при движении пешеходов их фигуры анимации будут всегда поворачиваться согласно текущему направлению движения пешехода.
Синтаксис: boolean enableAnimationRotation
Значение по умолчанию: false
Цвет [динамический]
Цвет фигуры стандартной анимации пешехода (применяется только тогда, когда в поле Фигура анимации не задана фигура, которая должна использоваться вместо стандартной анимации пешехода). 
Синтаксис Color color
Локальная переменная T ped - пешеход
Форма группы
[Параметр виден, если Объект создает Группы пешеходов] Форма группы пешеходов: толпашеренгацепочка, или другая (в последнем случае форма задается ломаной, имя которой указывается в поле Другая форма (ломаная).
Синтаксис: int form
Значение по умолчанию: толпа
Другая форма (ломаная)
[Параметр виден, если Объект создает Группы пешеходов и Форма группы другая] Ломаная, задающая форму группы. Точки ломаной обозначают желаемые места расположения пешеходов в группе.
Синтаксис: ShapePolyline customForm
Значение по умолчанию: null
Группа будет ждать "застрявших" пешеходов
[Параметр виден, если Объект создает Группы пешеходов] Если опция выбрана (true), то все пешеходы из группы будут ждать, если какой-то пешеход из их группы "застрянет" из-за возникших сложностей с конфигурацией стен и/или чрезмерной плотностью движения пешеходов. 
Синтаксис: boolean waitForStalledPed
Значение по умолчанию: false
Отмена для пешехода распространяется на группу
[Параметр виден, если Объект создает Группы пешеходов] Если опция выбрана (true), то при отмене какой-либо команды (например, "ждать" или "перейти") для одного пешехода из группы эта команда будет отменена и для всех остальных членов этой группы. 
Синтаксис: boolean solidCancelling
Значение по умолчанию: true
Этаж для создаваемых пешеходов (PedGround) [динамический]
PedGround объект, задающий этаж, на котором появляются пешеходы.
Синтаксис PedGround ground
Локальная переменная T ped - пешеход.
Начальная скорость, м/с [динамический]
Начальная скорость пешехода, в м/с.
Синтаксис double initialSpeed
Локальная переменная T ped - пешеход.
Значение по умолчанию ped.desiredSpeed
Место появления (линия, ломаная) [динамический]
Линия, на которой появляется пешеход в моделируемой среде. Это может быть линия или ломаная.
Синтаксис Shape location
Локальная переменная T ped - пешеход.
Отступ, в метрах [динамический]
Задает конкретную точку на входной линии или ломаной, на которой появляется пешеход в моделируемой среде. Задается отступом от начала фигуры в метрах для каждого пешехода.
Синтаксис double tieOffset
Локальные переменные: T ped - пешеход.
                          double length - длина входной линии/ломаной.
Значение по умолчанию uniform(0,length)
Первоначальное направление, в радианах 
Первоначальное направление движения пешеходов, в радианах.
Синтаксис double initialDirection
Значение по умолчанию Восток
Действие при выходе первого члена группы [динамический]
[Параметр виден, если Объект создает Группы пешеходов] Код, который выполняется, когда первый член группы покидает блок.
Синтаксис: void onExitGroupBegin
Локальные переменные: T ped - пешеход.
             Group group - группа, которая начала собираться.
Действие при выходе [динамический]
Код, выполняемый, когда пешеход покидает объект. 
Синтаксис void onExit
Локальная переменная T ped - пешеход.
Действие при выходе последнего члена группы [динамический]
[Параметр виден, если Объект создает Группы пешеходов] Код, который выполняется, когда последний член группы покидает блок.
Синтаксис: void onExitGroupEnd
Локальные переменные: T ped - пешеход.
             Group group - только что созданная группа.
Показать дополнительные параметры
Если опция выбрана (true), то будут показаны дополнительные параметры объекта (они перечислены ниже).
Синтаксис boolean advanced
Значение по умолчанию false
Алгоритм моделирования движения пешеходов [динамический]
[Виден, если выбран параметр Показать дополнительные параметры] Алгоритм моделирования движения пешеходов.
Синтаксис Algorithm pedSimulationAlgorithm
Локальная переменная T ped - пешеход.
Значение по умолчанию pedConf.algorithmSocialForceModel

Функции

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

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

int getArrivalCount() - Возвращает количество прибывших в этот объект пешеходов или групп (в зависимости от того, пешеходов или групп создает данный объект).