Сервис
является неотъемлемой частью таких элементов разметки пространства, как
Сервис с очередями
и
Сервис с областью. Правило обслуживания пешеходов, задаваемые для
Сервиса с очередями
или
Сервиса с областью, применяются ко всем содержащимся в них элементам
Сервис. При этом для каждого отдельного элемента Сервис вы можете выбрать свое правило обслуживания пешеходов, чей приоритет будет выше, чем у правила, заданного для исходного элемента.
Существуют два вида сервисов:
Имя – Имя сервиса. Данное свойство используется для того, чтобы иметь доступ к этому элементу из программного кода.
Отображать имя – Если опция выбрана, имя элемента будет отражаться в графическом редакторе.
Отображается на верхнем агенте – Если опция выбрана, то фигура будет видна на презентации типа агента, в который будет вложен данный агент.
Переопределить правило выбора очереди
– Приоритет этого выбора выше, чем приоритет правила, выбранного для элементов
Сервис с очередями
или
Сервис с областью. Он задает очередь, пешеходов из которой будет обслуживать этот сервис. Когда сервис становится свободным, он выбирает очередь заново в соответствии с выбранной опцией. Доступны следующие опции:
Самой длинной очереди
- очередь, содержащая наибольшее количество пешеходов.
Ближайшей очереди
- очередь, которая расположена ближе всего к сервису, вне зависимости от того, содержит она пешеходов или нет.
Ближайшей непустой очереди -
очередь с пешеходами, которая расположена ближе всего к сервису.
Следующей очереди (по порядку)
-
очереди выбираются по порядку друг за другом.
Очереди с приоритетом
- очередь с наивысшим приоритетом (в соответствии с выражением, заданным в поле
Заданной очереди).
Очередь задается пользователем
- очередь возвращается при выполнении выражения, заданного в поле
Очередь.
Очередь – [Доступен, если в параметре Переопределить правило выбора очереди выбрана опция Очередь задается пользователем] Здесь вы можете ввести выражение Java, которое будет возвращать выбранную очередь. Как правило, именно здесь необходимо размещать вызов вашей нестандартной функции Java.
X – X-координата точки сервиса (если сервис Точечного типа) или начальной точки линии сервиса (если сервис Линейного типа).
Y – Y-координата точки сервиса (если сервис Точечного типа) или начальной точки линии сервиса (если сервис Линейного типа).
Направление пешехода – [Доступен, если сервис Точечного типа]. Задает угол вращения для 2D / 3D модели пешехода и позволяет развернуть агента в нужную сторону в точке сервиса.
dX – [Доступен, если сервис Линейного типа] X-координата конечной точки линии сервиса.
dY – [Доступен, если сервис Линейного типа] Y-координата конечной точки линии сервиса.
Функция |
Описание |
getLongestQueue() |
Возвращает очередь, которая содержит наибольшее количество пешеходов. |
getClosestQueue() |
Возвращает очередь, которая расположена ближе всего к сервису, вне зависимости от того, содержит она пешеходов или нет. |
getClosestQueueNotEmpty() |
Возвращает непустую очередь, расположенную ближе всего к сервису. |
int queuePriority(queue) |
Данный метод должен быть замещен, чтобы вернуть приоритет очереди если для параметра Переопределить правило выбора очереди выбрана опция Очереди с приоритетом.
Параметр: |
customSelectQueue() |
Данный метод должен быть замещен, чтобы вернуть очередь, если для параметра
Переопределить правило выбора очереди
выбрана опция
Очередь задается пользователем.
|
boolean isSuspended() |
Возвращает true, если элемент Сервис находится в состоянии приостановки; в противном случае возвращает false. Элемент в состоянии приостановки не активен и не принимает пешеходов. |
setSuspended(boolean suspended) |
Помещает элемент
Сервис
в состояние приостановки, если значение
suspended
равно
true; в противном случае помещает элемент в активное состояние. |
Color getColor() |
Возвращает цвет элемента. |
setColor(Color color) |
Задает цвет элемента.
Параметр: |
Функция |
Описание |
double getStartX() double getStartY() double getStartZ() |
Возвращает координату X (Y, Z) начальной точки линии сервиса. |
double getEndX() double getEndY() double getEndZ() |
Возвращает координату X (Y, Z) конечной точки линии сервиса. |
double length() |
Возвращает длину линии сервиса в пространстве 2D (в пикселях). |
Position
getForwardStartPosition
Position
getReverseStartPosition |
Возвращает объект типа Position, который содержит координаты начальной (конечной)точки линии сервиса, а также углы вращения по горизонтали и вертикали.
Параметр: |
Position
getForwardPositionByOffset
Position
getReversePositionByOffset |
Возвращает объект out типа Position, который содержит координаты точки, находящейся на заданном расстоянии от начальной(конечной) точки линии сервиса, а также углы вращения по горизонтали и вертикали(в радианах.
Параметры: |
double getForwardOrientation() double getReverseOrientation() |
Возвращает значение угла вращения линии сервиса по горизонтали вокруг начальной (конечной) точки (в радианах). |
Функция |
Описание |
double getX() double getY() double getZ() |
Возвращает координату X (Y, Z) точки сервиса. |
Position getPosition(Position out) |
Возвращает объект out типа Position, который содержит координаты точки сервиса, а также углы вращения по горизонтали и вертикали.
Параметр: |
double getOrientation() |
Возвращает ориентацию сервиса (в радианах), т.е. угол вращения, заданный для 2D / 3D модели пешехода, проходящего обслуживание. |