PedTie


Когда пешеходы двигаются в среде, они пересекают специальный элемент среды, который называется "транзит". Транзит – это линия или точка, представляющая собой цель движения пешехода. Например, фигуры входа и выхода автоматически превращаются в транзиты. При обработке препятствий библиотека создает вокруг них сеть из транзитов, таким образом пешеходы обходят стены. В некоторых случаях требуется задать транзиты вручную и описать, как пешеходы должны их проходить. 

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

Демо модель: Controlling Tie Crossing

Параметры

Отступ до точки пересечения транзита, в метрах [динамический]
Задает конкретную точку, в которой заданный пешеход пересекает транзитную линию. Точка задается отступом от начала фигуры, в метрах.
Синтаксис double tieCrossingOffset
Локальные переменные: T ped - пешеход
             Shape tie - фигура транзита.
             Shape next - (необязательный) следующая фигура транзита, позволяющая библиотеке автоматически установить направление движения к следующей цели.
Значение по умолчанию defaultTiePassagePosition(ped,tie,next) 

Функции

Tie getTie(Shape shape) - Возвращает транзит, соответствующий заданной фигуре.

double defaultTiePassagePosition(Ped ped, Tie tt, Shape next) - Вычисляет точку на транзите, в которой указанный пешеход будет по умолчанию его пересекать. Задается как отступ от начала фигуры (в метрах). Этот метод используется для задания значения по умолчанию параметра  tieCrossingOffset.

boolean updateTieCoordinates(Shape shape)- Обновляет транзит, пересчитывая его координаты. Если ни один транзит не ассоциирован с фигурой, то создает новый транзит. Возвращает true, если транзит был создан, иначе возвращает false.