PedWait


Заставляет пешеходов перейти в заданное место и ожидать там в течение определенного периода времени. 

Место может быть выбрано случайно внутри заданной области (с аттракторами или без них) или указано вручную. Аттракторы это места внутри области, которые притягивают пешеходов во время их ожидания. Используйте аттракторы для моделирования информационных стендов и экранов, витрин с товарами в магазинах и т.д.

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

Демо модель: PedWait and PedAttractor Demo

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

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

Порты

Port in
Входной порт.
Port out
Выходной порт, через который пешеходы покидают объект в случае успешного завершения команды.
Port ccl
Выходной порт, через который пешеходы покидают объект в случае события "отмены" (возникшего в результате вызова метода cancel или метода cancelAll).

Параметры

Место ожидания выбирается
Режим выбора места ожидания: случайно внутри заданной области (опция Случайно внутри области), или вручную (Вручную путем задания точки).
В первом случае Вам следует задать имя объекта PedArea в параметре Область ожидания (PedArea) - область, в которой пешеходы должны ожидать.
Во втором случае Вам следует нарисовать точку, в которой пешеход будет ожидать, и задать ее в параметре Место ожидания (точка).
Синтаксис int waitingLocationMode
Значение по умолчанию Случайно внутри области
Место ожидания (точка) [динамический]
[Виден, если параметр Место ожидания выбирается Вручную путем задания точки] Точка, в которой пешеходы будут ожидать.
Синтаксис int position
Локальная переменная: T ped - пешеход
Область ожидания (PedArea) [динамический]
[Виден, если Место ожидания выбирается Случайно внутри области] PedArea объект, задающий область, в которой пешеходы будут ожидать.
Синтаксис PedArea position
Локальная переменная: T ped - пешеход
Значение по умолчанию null
Использовать аттракторы
Если опция выбрана (true), то для ожидания пешеходы будут приходить к аттрактору. Аттрактор задается в параметре Аттрактор (PedAttractor).
Синтаксис boolean useAttractors
Значение по умолчанию false
Аттрактор (PedAttractor) [динамический]
[Виден, если выбран параметр Использовать аттракторы] Объект PedAttractor, задающий аттрактор – место (линия или ломаная), которое будет притягивать пешеходов на время их ожидания.
Синтаксис PedAttractor attractor
Локальная переменная: T ped - пешеход
Значение по умолчанию null
Тип
Задает, будут ли пешеходы ожидать в области в течение указанного времени (опция Задержка), или же они будут ожидать вечно, пока пользователь не вызовет метод free() (опция Ручной (ждать до вызова метода free()).
Синтаксис int type
Значение по умолчанию Задержка
Время задержки [динамический]
[Виден, если выбран Тип Задержка] Выражение, вычисляющее время ожидания для пешехода (в единицах модельного времени).
Синтаксис double delay
Локальная переменная: T ped - пешеход
Значение по умолчанию uniform(0.5*second(), 1.0*second())
Задержка начинается когда
[Виден, если выбран Тип Задержка] Параметр задает, при каком событии будет начинаться время ожидания. Возможны следующие варианты:
Пешеход входит в объект - ожидание начинается, когда пешеход входит в блок PedWait;
Пешеход останавливается у точки - ожидание начинается, когда пешеход останавливается у точки заданного места ожидания;
Вызван метод activate() - ожидание начинается, когда пользователь вызвал метод activate()
Синтаксис int delayStartsWith
Значение по умолчанию Пешеход останавливается у точки
Действие при входе [динамический]
Код, который выполняется, когда пешеход заходит в объект.
Синтаксис void onEnter
Локальная переменная: T ped - пешеход
Действие при выходе [динамический]
Код, который выполняется, когда пешеход покидает объект через выходной порт out в случае успешного завершения команды.
Синтаксис void onExit
Локальная переменная: T ped - пешеход
Действие при отмене [динамический]
Код, который выполняется, когда пешеход покидает объект через выходной порт ccl.
Синтаксис void onCancel
Локальная переменная: T ped - пешеход
Точность достижения места ожидания, в метрах [динамический]
Задает расстояние в метрах, на которое пешеход должен приблизиться к месту ожидания, чтобы ожидание началось.
Синтаксис double waitPointReachTolerance
Локальная переменная: T ped - пешеход
Значение по умолчанию 0.1

Функции

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

void free(T ped)-  Прерывает выполнение команды для заданного пешехода и заставляет его покинуть объект через порт OUT. Для каждого пешехода, покидающего блок, вызывается код параметра "Действие при выходе".

void freeAll()
- Прерывает выполнение команды для всех пешеходов и заставляет их покинуть объект через порт OUT. Для каждого пешехода, покидающего блок, вызывается код параметра "Действие при выходе".

void cancel(T ped)-  Прерывает команду для заданного пешехода и заставляет его покинуть объект через порт CCL. Для каждого пешехода, покидающего блок, вызывается код параметра "Действие при отмене".

void cancelAll()
- Прерывает выполнение команды для всех пешеходов и заставляет их покинуть объект через порт CCL. Для каждого пешехода, покидающего блок, вызывается код параметра"Действие при отмене" .

void activate(T ped) - Запускает команду ожидания для заданного пешехода. Доступен только если Задержка начинается когда Вызван метод activate().