AnyLogic
Развернуть
Размер шрифта

Гейт между уровнями

С помощью элемента Гейт между уровнями можно задать для транспортеров с произвольной навигацией возможность передвигаться между разными уровнями. Пешеходы не могут перемещаться посредством гейтов.

Гейт всегда работает в паре с таким же гейтом на другом уровне. Чтобы соединить гейты, необходимо указать один из них в свойствах другого.

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

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

Демо-модель: Level Gate Открыть страницу модели в AnyLogic Cloud. Там можно запустить модель или скачать ее по ссылке Исходные файлы модели.

Чтобы создать пару гейтов между уровней

  1. Перетащите элемент Гейт между уровнями из секции Разметка пространства палитры Библиотека производственных систем на нужный уровень в графическом редакторе и разместите в необходимой точке.
  2. Таким же образом добавьте второй гейт.
  3. Откройте свойства одного из гейтов, щелкнув по нему.
  4. Если гейты, которые вы хотите соединить, расположены на графической диаграмме одного агента, откройте выпадающий список в параметре Связан с гейтом и выберите нужный вам гейт.
    Гейт для связи можно также задать, щелкнув по кнопке справа от выпадающего списка. Все элементы, кроме подходящих для соединения гейтов, будут обесцвечены в графическом редакторе, и вы сможете выбрать нужный гейт, щелкнув по нему.
  5. Если гейты расположены на графических диаграммах разных агентов, переключите параметр в режим редактора динамических значений и введите соответствующее <имя агента>.<имя гейта между уровнями>. Чтобы установить соединение, не нужно прописывать парный элемент в свойствах обоих гейтов, достаточно сделать это для одного из них.

Свойства

Основные свойства

Имя — Имя гейта. Имя используется для идентификации гейта и доступа к нему.

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

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

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

Связан с гейтом — Задает гейт, с которым вы хотите установить связь.

Цвет линии — Задает цвет гейта.

Местоположение и размер

Уровень — Уровень, на котором находится гейт.

X — X-координата начальной точки гейта.

Y — Y-координата начальной точки гейта.

dX — X-координата конечной точки гейта относительно его начальной точки.

dY — Y-координата конечной точки гейта относительно его начальной точки.

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

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

Функции

Местоположение
Функция Описание
double getX() Возвращает X-координату начальной точки гейта.
double getY() Возвращает Y-координату начальной точки гейта.
double getDx() Возвращает X-координату конечной точки гейта.
double getDy() Возвращает Y-координату конечной точки гейта.
Связь гейтов
Функция Описание
MarkupPort getPairedPort() Возвращает гейт, с которым установлена связь.
setPairedPort(MarkupPort pairedPort) Задает гейт, с которым установлена связь.

pairedPort — гейт с другого уровня
Точки
Функция Описание
boolean contains(double px, double py) Проверяет, содержит ли гейт точку с заданными координатами (относительно координат самой фигуры). Возвращает true, если гейт содержит точку с заданными координатами.

px — координата X относительно содержимого фигуры
py — координата Y относительно содержимого фигуры
boolean contains(double px, double py, double distance) Возвращает true, если гейт содержит точку с заданными координатами с учетом заданной погрешности distance; в противном случае возвращает false.

px — X-координата точки
py — Y-координата точки
distance — погрешность расстояния, позволяющая определить, находится ли заданная точка в непосредственной близости от гейта
boolean containsSq(double px, double py, double squareDistance) Возвращает true, если гейт содержит точку с заданными координатами с учетом заданной погрешности square distance; в противном случае возвращает false.

px — X-координата точки
py — Y-координата точки
squareDistance — квадратичная погрешность расстояния, позволяющая определить, находится ли заданная точка в непосредственной близости от гейта
Уровень
Функция Описание
Level getLevel() Возвращает уровень, на котором расположен данный элемент.
Видимость
Функция Описание
boolean isVisible() Проверяет, отображается ли гейт на анимации во время выполнения модели. Если функция возвращает true — значит, гейт отображается, если false — нет.
void setVisible(boolean v) Задает видимость гейта.

v — видимость. Если значение vравно true, то гейт будет отображаться, если равно false — то нет.
Цвет
Функция Описание
Color getColor() Возвращает цвет гейта или null, если у гейта нет цвета.
void setColor(Color color) Задает цвет гейта.

color — новый цвет
Удаление
Функция Описание
void remove() Удаляет гейт из презентации. Если гейт не является частью презентации, функция не выполняет ничего. Обратите внимание, что удаление из презентации не обязательно подразумевает удаление из логики модели, поскольку логические сети и маршруты могли быть заданы еще до удаления элемента.
Как мы можем улучшить эту статью?