Группа эскалаторов - это фигура анимации для группы параллельных эскалаторов, используемая в моделях движения пешеходов. Вы рисуете эскалаторы в графическом редакторе и настраиваете их (задавая количество эскалаторов, скорость движения ступеней эскалатора, глубину ступеней и угол наклона) в свойствах фигуры. Чтобы смоделировать процесс транспортировки пешеходов эскалаторами, вам нужно вставить в диаграмму процесса блок PedEscalator из Пешеходной библиотеки. В нем вы можете определить, будет ли данный блок перемещать пешеходов вниз или вверх.
Группа эскалаторов состоит из одного или нескольких простых элементов разметки пространства Эскалатор. С его помощью можно задать направление движения для конкретного эскалатора в группе, а также выполнять другие задания в ходе выполнения модели, используя функции (включить/выключить эскалатор, изменить скорость и т.д.).
Демо модель: Escalator
Во время выполнения модели, вы можете динамически блокировать и включать/выключать эскалатор(ы), используя функции данного элемента.
Когда вы блокируете эскалатор, то вход на эскалатор закрывается, и пешеходы больше не могут зайти на него.
Когда вы выключаете эскалатор, то электрическое питание эскалатора отключается, так что ступени эскалатора больше не движутся, но пешеходы могут передвигаться по нему сами.
Чтобы нарисовать группу эскалаторов
Имя – Имя фигуры. Данное свойство используется для того, чтобы обращаться к этой фигуре из свойств блока PedEscalator и иметь доступ к группе эскалаторов из программного кода.
Исключить – Если опция выбрана, то фигура будет исключена из модели.
Отображается на верхнем агенте
– Если опция выбрана, то фигура будет видна на презентации типа агента, в который будет вложен данный агент.
Блокировать – Если опция выбрана, то фигура будет считаться заблокированной, и не будет реагировать на щелчки мыши. Таким образом, вы не сможете выбрать заблокированную фигуру в графическом редакторе до тех пор, пока вы не снимете с нее блокировку.
Видимость – В данной опции вы можете указать, будет ли фигура видна во время анимации при выполнении модели или нет. Используя элемент управления, выберите да или нет.
Уровень
– Нижний
уровень. На этом уровне пешеходы заходят на эскалатор.
Верхний уровень – Верхний уровень. На этом уровне пешеходы сходят с эскалатора.
Кол-во эскалаторов – Количество эскалаторов в группе эскалаторов.
Скорость – Скорость движения ступеней эскалатора.
Ширина ступеньки
– Глубина ступени эскалатора.
Задает наклон как – Здесь вы можете выбрать то, как вы хотите задать наклон эскалатора: через угол наклона или через задание подъема эскалатора (в данном случае угол будет вычислен автоматически. В расчете значения параметра эскалатора угол будут использованы значение параметра подъем и значение длины эскалатора).
Угол
– [Параметр виден и применяется, если опция
Задает наклон как:
угол] Угол наклона эскалатора (обычно равен 30 градусам).
Подъем – [Параметр виден и применяется, если опция Задает наклон как: подъем] Высота эскалатора, которая будет использоваться для расчета угла наклона эскалатора.
Отображать в – Здесь вы можете выбрать, будет ли фигура отображаться В 2D и в 3D, Только в 2D или Только в 3D.
Отображать имя – Если опция выбрана, то имя фигуры будет отображаться в графическом редакторе.
Фигура разметки пространства Группа Эскалаторов состоит из заданного числа фигур Эскалатор.
Направление движения эскалатора (вверх или вниз) задается в свойствах каждого конкретного эскалатора. Более того, направление движения можно изменять динамически во время выполнения модели, используя функции конкретного эскалатора. Обычно это делается в соответствии с преобладающим потоком толпы, вручную или автоматически.
Чтобы узнать направление движения эскалатора, выберите его щелчком мыши в графическом редакторе.
block() - Блокирует все эскалаторы в данной группе.
block(int index) - Блокирует эскалатор с номером index.
unblock() - Разблокирует все эскалаторы в данной группе.
unblock(int index) - Разблокирует эскалатор с заданным индексом index.
boolean isBlocked(int index) - Проверяет, является ли эскалатор с заданным индексом index заблокированным или нет. Если эскалатор заблокирован, то функция возвращает значение true, в противном случае функция возвращает значение false.
turnOff() - Выключает все эскалаторы в данной группе.
turnOff(int index) - Выключает эскалатор с заданным индексом index.
turnOn() - Включает все эскалаторы в данной группе.
turnOn(int index) - Включает эскалатор с заданным индексом index.
boolean isRunning(int index) - Проверяет, движется ли в данный момент эскалатор с заданным индексом index или нет. Если эскалатор движется, то функция возвращает значение true, в противном случае функция возвращает значение false.
getMovementDirection(int index) - Возвращает текущее направление движения эскалатора c заданным индексом index. Возможные возвращаемые значения: EscalatorMovementDirection.UP и EscalatorMovementDirection.DOWN.
setMovementDirection(EscalatorMovementDirection movementDirection) - Задает новое направление движения всем эскалаторам данной группы. Вы задаете новое значение, передавая одно из следующих значений в качестве аргумента функции: EscalatorMovementDirection.UP или EscalatorMovementDirection.DOWN.
setMovementDirection(int index, EscalatorMovementDirection movementDirection) - Задает новое направление движения эскалатору с заданным индексом index. Вы задаете новое значение, передавая одно из следующих значений в качестве второго аргумента функции: EscalatorMovementDirection.UP или EscalatorMovementDirection.DOWN.
Level getLevel() - Возвращает уровень, на котором расположена данная группа эскалаторов.
void remove() - Удаляет группу эскалаторов из презентации. Если группа не является частью презентации, функция не выполняет ничего. Обратите внимание, что удаление из презентации не обязательно подразумевает удаление из логики модели, поскольку логические сети и маршруты могли быть заданы еще до удаления элемента и не исчезают.