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

MoveTo

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

Параметры

Агент
Выберите, перемещается ли агент в новое местоположение или помещается (мгновенно).
Имя: mode
Допустимые значения:
MoveTo.MODE_MOVE_TO — перемещается
MoveTo.MODE_PLACE_TO — помещается (мгновенно)
Место назначения
Задайте место назначения:
Узел сети / ГИС — агент перемещается в заданный узелсети, в ГИС точку или в ГИС регион.
Аттрактор — агент перемещается в указанный аттрактор.
Захваченный ресурс — агент перемещается в текущее местоположение захваченного ресурса (указанного ниже в поле Ресурс). Базовый узел захваченного ресурса — агент перемещается в базовое местоположение захваченного ресурса (указанного ниже в поле Ресурс).
Агент/ресурс — агент перемещается в местоположение указанного агента.
Точка — агент перемещается в точку с указанными координатами.
Узел / Точка — агент перемещается в заданный узел сети, после чего перемещается в точку с заданными ниже координатами.
X,Y,Z. Этот режим используется, когда нужно переместить агента в определенную точку внутри узла. Обратите внимание, что вы задаете абсолютные координаты, и при несоответствии этих координат с координатами самого узла агент будет перемещаться в точку, лежащую за пределами узла.
(широта, долгота) — агент перемещается в точку на карте с заданными координатами Широты и Долготы.
Географ. место — агент перемещается в определенное место на карте. Вы можете задать это местоположение в параметре Имя места.

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

Агент, который содержит меня — ресурс перемещается к агенту, который его содержит
Другой ресурс, захваченный моим агентом — ресурс перемещается к другому ресурсу, захваченному тем же агентом
Базовый узел другого ресурса — ресурс перемещается в базовый узел другого ресурса
Имя: destinationType
Допустимые значения:
MoveTo.DEST_NODE — Узел сети / ГИС
MoveTo.DEST_ATTRACTOR — Аттрактор
MoveTo.DEST_RESOURCE — Захваченный ресурс
MoveTo.DEST_RESOURCE_HOME — Базовый узел захваченного ресурса
MoveTo.DEST_AGENT — Агент/ресурс
MoveTo.DEST_XYZ — Точка
MoveTo.DEST_NODE_XYZ — Узел / Точка
MoveTo.DEST_LATLON — (широта, долгота)
MoveTo.DEST_GEO_PLACE — Географ. место
MoveTo.DEST_POSSESSING_ENTITY — Агент, который содержит меня
MoveTo.DEST_OTHER_RESOURCE — Другой ресурс, захваченный моим агентом
MoveTo.DEST_OTHER_RESOURCE_HOME — Базовый узел другого ресурса
Узел
[Параметр виден, если Место назначения: Узел сети / ГИС или Узел Точка]
Узел сети, ГИС точка или ГИС регион, куда отправляются агенты, созданные этим блоком.
Локальная переменная: agent — агент
Аттрактор
[Параметр виден, если Место назначения: Аттрактор]
Аттрактор, куда отправляются агенты, созданные этим блоком.
Тип значения: Attractor
Локальная переменная: agent — агент
Ресурс
[Параметр виден, если Место назначения: Захваченный ресурс или Базовый узел захваченного ресурса]
Имя блока ResourcePool, который задает набор ресурсов. Агент будет перемещаться в текущее местоположение (или базовый узел) захваченного ресурса этого типа. Если захвачены несколько ресурсов одного типа, будет выбран первый из списка.
Тип значения: ResourcePool
Локальная переменная: agent — агент
Агент
[Параметр виден, если Место назначения: Агент/ресурс]
Имя агента, в чье местоположение будет перемещаться агент. (Это может быть, например, ресурс другого агента).
Тип значения: Agent
Локальная переменная: agent — агент
Координаты X, Y, Z
[Параметр виден, если Место назначения: Точка или Узел Точка]
X,Y,Z координаты точки, куда будет перемещаться агент. Обратите внимание, что здесь вы задаете абсолютные координаты, и при несоответствии этих координат с координатами самого узла агент будет перемещаться в точку, лежащую за пределами узла.
Тип значения: double
Локальная переменная: agent — агент
Широта, Долгота
[Параметр виден, если Место назначения: (широта, долгота)]
Координаты широты и долготы точки на ГИС карте, куда будут помещены агенты.
Тип значения: double
Локальная переменная: agent — агент
Имя места
[Параметр виден, если Место назначения: Географ. место]
Имя конкретного места на карте ГИС, куда будут помещены агенты. Укажите имя как текст в кавычках, например, "London". ГИС карта выполнит поиск места по этому имени. Первый результат в списке результатов ГИС поиска будет использован в качестве местоположения, куда будут помещены агенты.
Тип значения: String
Локальная переменная: agent — агент
Поворот по прибытию
[Параметр виден, если Место назначения: Точка или Узел Точка]
Выберите эту опцию, если хотите повернуть фигуру после прибытия на место назначения.
Синтаксис: boolean destinationUseRotation
Поворот по горизонтали
[Параметр виден, если выбрана опция Поворот по прибытию]
Здесь вы можете задать угол горизонтального поворота агента, прибывшего на место назначения.
Тип значения: double
Локальная переменная: T agent — агент
Поворот по вертикали
[Параметр виден, если выбрана опция Поворот по прибытию]
Здесь вы можете задать угол вертикального поворота агента, прибывшего на место назначения.
Тип значения: double
Локальная переменная: agent — агент
... в сети
[Параметр виден, если Агент: помещается (мгновенно): (точка), (широта, долгота), или Географ. место]
Выберите эту опцию, если хотите задать точку или место, которые находятся в сети.
Синтаксис: boolean destinationInNetwork
Значение по умолчанию: false
Сеть
[Параметр виден, если выбрана опция ...в сети]
Выберите здесь сеть, к которой относятся заданные выше точка или место.
Тип значения: INetwork
Локальная переменная: agent — агент
Уровень
[Параметр виден, если Место назначения: Точка]
Выберите здесь уровень, к которому относится заданная выше точка.
Тип значения: Level
Локальная переменная: agent — агент
По прямой
[Параметр виден, если Агент: перемещается]
Выберите эту опцию, если хотите исключить движение агента из сети, то есть, задать перемещение агента по прямой линии.
Синтаксис: boolean straightMovement
Значение по умолчанию: false
... С отступом
[Параметр виден, если для параметра Место назначения: не выбрано, или Точка, или Узел Точка]
Синтаксис: boolean useOffsets
Значение по умолчанию: false
Отступ по X, Y, Z
[Параметр виден, если выбрана опция ... С отступом]
Здесь вы можете задать координаты отступа.
Тип значения: double
Локальная переменная: agent — агент
Значение по умолчанию: 0
Перемещение задается
[Параметр виден, если Агент: перемещается]
Выберите, как должно задаваться перемещение: Расстоянием / Скоростью или Временем передвижения.
Локальная переменная: agent — агент
Задать скорость агента
[Параметр виден, если Перемещение задается: Расстоянием / Скоростью]
Выберите эту опцию, если хотите задать скорость передвижения агента.
Тип значения: boolean
Локальная переменная: agent — агент
Значение по умолчанию: false
Скорость
[Параметр виден, если выбрана опция Задать скорость агента]
Выражение, вычисляющее скорость агента.
Тип значения: double
Локальная переменная: agent — агент
Время передвижения
[Параметр виден, если Перемещение задается: Временем передвижения]
Тип значения: double
Локальная переменная: agent — агент
Значение по умолчанию: triangular( 0.5, 1, 1.5 )
Вернуть прежнюю скорость
[Параметр виден, если Перемещение задается: Временем передвижения]
Когда перемещение агента задается временем перемещения, скорость агента меняется. Выберите этот параметр, если хотите вернуть агенту изначальную скорость по прибытию на место назначения.
Синтаксис: boolean restoreSpeedOnArrival
Значение по умолчанию: false

Действия

При входе
Код, выполняемый, когда агент поступает в блок.
Локальная переменная: agent — агент
При выходе
Код, выполняемый, когда агент покидает блок.
Локальная переменная: agent — агент
При извлечении
Код, выполняемый, когда агент умышленно извлекается из блока посредством вызова функции агента remove(). Этот код вызывается автоматически после вызова функции remove().
Локальная переменная: agent — агент

Функции

Функция Описание
int size() Возвращает количество агентов, перемещаемых этим блоком в текущий момент времени.
T remove(Agent agent) Удаляет указанного агента из блока и возвращает его. Возвращает null, если агент не принадлежит этому блоку.

agent — агент.
Iterator<T> iterator() Возвращает итератор над агентами (порядок: первый — у выхода, последний имеет самое большое время, оставшееся до его задержки).
double getDistanceTravelled(Agent agent) Возвращает дистанцию в метрах, пройденную агентом за время нахождения внутри блока. Как только агент покидает блок, это значение сбрасывается.
Недоступно, если блок работает в режиме MODE_PLACE_TO (агент помещается в место назначения мгновенно).

agent — агент.
double getDistanceTravelled(Agent agent, LengthUnits units) Возвращает дистанцию в заданных единицах измерения длины, пройденную агентом за время нахождения внутри блока. Как только агент покидает блок, это значение сбрасывается.
Недоступно, если блок работает в режиме MODE_PLACE_TO (агент помещается в место назначения мгновенно).

agent — агент.
units — единицы измерения длины.

Порты

in
Входной порт.
out
Выходной порт.
Как мы можем улучшить эту статью?