Группа эскалаторов

Группа эскалаторов - это фигура анимации для группы параллельных эскалаторов, используемая в моделях движения пешеходов. Вы рисуете эскалаторы в графическом редакторе и настраиваете их (задавая количество эскалаторов, скорость движения ступеней эскалатора, глубину ступеней и угол наклона) в свойствах фигуры. Чтобы смоделировать процесс транспортировки пешеходов эскалаторами, вам нужно вставить в диаграмму процесса блок PedEscalator из Пешеходной библиотеки. В нем вы можете определить, будет ли данный блок перемещать пешеходов вниз или вверх.

Демо модель: Escalator

Группа эскалаторов во время выполнения модели, в 3D анимации

Устройство эскалатора


Блокирование и включение/выключение эскалаторов

Во время выполнения модели, вы можете динамически блокировать и включать/выключать эскалатор(ы), используя функции данного элемента.

Когда вы блокируете эскалатор, то вход на эскалатор закрывается, и пешеходы больше не могут зайти на него.

Когда вы выключаете эскалатор, то электрическое питание эскалатора отключается, так что ступени эскалатора больше не движутся, но пешеходы могут передвигаться по нему сами.

Рисование группы эскалаторов

Чтобы нарисовать группу эскалаторов

  1. Перетащите элемент Группа эскалаторов из секции Разметка Пространства палитры Пешеходной библиотеки в графический редактор. Обычно модели движения пешеходов включают в себя план моделируемого помещения (здания) со всеми важными областями и сервисами, отмеченными на нем. Поместите фигуру эскалатора поверх плана. Если при распооложении фигуры прямо поверх изображения эскалаторов на плане картинка становится нечитаемой, вы можете временно поместить данный эскалатор поблизости, пока вы точно не настроите размеры компонент всех фигур (см. рисунок ниже).
  1. Откройте Свойства фигуры группы эскалаторов. Укажите, сколько эскалаторов находится в данной группе, используя поле Кол-во эскалаторов. В нашем примере у нас два параллельных эскалатора.

  1. Вы увидите, что теперь группа состоит из двух эскалаторов:
  1. Если эскалатор перемещает пешеходов на другой уровень, который представлен в вашей модели как другой этаж, вам нужно указать имя данного этажа в параметре эскалатора Верхний этаж
  2. Теперь вам нужно изменить размеры фигуры эскалаторов в графическом редакторе. Сделайте так, чтобы фигура в точности соответствовала изображениею эскалаторов на плане. Первое, что нужно сделать, это Приблизить графический редактор и отключить выравнивание, нажав на кнопку Отобразить/Спрятать сетку на панели управления для того, чтобы упростить изменение размеров компонент фигуры, которые выглядят довольно маленькими на диаграмме процесса в ее стандартном приближении.
  3. Выберите фигуру щелчком мыши, и вы увидите маркеры, которые вы можете использовать для настройки ширины компонент эскалатора. Обратите внимание на то, что сделав еще один щелчок мыши по какому-нибудь из эскалаторов в группе, вы выберете данный конкретный эскалатор. Следующий же щелчок выбирает весь этаж, состоящий из множества элементов разметки пространства пешеходов. Для того, чтобы иметь возможность изменять размеры компонент группы эскалаторов, вы должны увидеть, что данная группа выбрана, как показано на рисунке ниже:
  1. Давайте сделаем так, чтобы первый эскалатор точно соответствовал своему изображению на плане. Для этого следуйте инструкциям на рисунках:

  1. Далее, настройте ширину эскалатора. Вы увидите, что оба эскалатора будут иметь одинаковую ширину:
  1. Теперь вам нужно изменить ширину внутренней балюстрады:

  1. Настройте ширину внешних балюстрад:

  1. Наконец, переместите фигуру поверх изображения эскалаторов на плане, и настройте длину эскалаторов и верхней и нижней платформ, используя маркеры, отмеченные на рисунке ниже:
  1. Теперь установите направление движения ступеней эскалатора. Чтобы изменить направление движения конкретного эскалатора, выберите его щелчком мыши и в секции Свойства установите Направление: Вверх или Вниз.

Свойства

Общие

Имя– Имя фигуры. Данное свойство используется для того, чтобы обращаться к этой фигуре из свойств блока PedEscalator и иметь доступ к группе эскалаторов из программного кода.

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

Отображается на верхнем уровнеЕсли опция выбрана, то фигура будет видна на презентации типа агента, в который будет вложен данный агент.

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

Видимость – В данной опции вы можете указать, будет ли фигура видна во время анимации при выполнении модели или нет. Используя элемент управления, выберите да или нет.

Этаж – Нижний этаж. Пешеходы находятся на данном этаже, когда они заходят на эскалатор.

Верхний этаж – Верхний этаж. Пешеходы попадают на данный этаж, когда они сходят с эскалатора.

Кол-во эскалаторов – Количество эскалаторов в группе эскалаторов.

Скорость – Скорость движения ступеней эскалатора.

Ширина ступеньки – Глубина ступени эскалатора.

Задает наклон как – Здесь вы можете выбрать то, как вы хотите задать наклон эскалатора: через угол наклона или через задание подъема эскалатора (в данном случае угол будет вычислен автоматически. В расчете значения параметра эскалатора угол будут использованы значение параметра подъем и значение длины эскалатора).

Угол – [Параметр виден и применяется, если опция Задает наклон как: угол] Угол наклона эскалатора (обычно равен 30 градусам).

Подъем – [Параметр виден и применяется, если опция Задает наклон как: подъем] Высота эскалатора, которая будет использоваться для расчета угла наклона эскалатора.

Специфические

Отображать в – Здесь вы можете выбрать, будет ли фигура отображаться В 2D и в 3D, Только в 2D или Только в 3D.

Отображать имя – Если опция выбрана, то имя фигуры будет отображаться в графическом редакторе.

Направление движения эскалатора

Фигура разметки пространства Группа Эскалаторов состоит из заданного числа фигур Эскалатор.

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

Чтобы узнать направление движения эскалатора, выберите его щелчком мыши в графическом редакторе.

Чтобы изменить направление движения эскалатора
  1. Щелкните по фигуре группы эскалаторов.
  2. Выберите один эскалатор из данной группы эскалаторов щелчком мыши.
  3. В секции Свойства установите параметр Направление: Вверх или Вниз. Вы увидетие, что стрелка изменила свое направление.

Функции

Блокировка эскалаторов
Когда вы блокируете эскалатор, вход на эскалатор закрывается, и пешеходы больше не могут зайти на эскалатор.

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) - Возвращает текущее направление движения эскалатора, заданного переменной index. Возможные возвращаемые значения: EscalatorMovementDirection.UP и EscalatorMovementDirection.DOWN

setMovementDirection(EscalatorMovementDirection movementDirection) - Задает новое направление движения для всех эскалаторов в группе. Вы задаете новое значение, передавая одно из следующих значений в качестве аргумента функции: EscalatorMovementDirection.UP или EscalatorMovementDirection.DOWN

setMovementDirection(int index, EscalatorMovementDirection movementDirection) - Устанавливает направление движения для эскалатора, заданного переменной index. Вы задаете новое значение, передавая одно из следующих значений в качестве второго аргумента функции: EscalatorMovementDirection.UP или EscalatorMovementDirection.DOWN