PedGround


Этот объект позволяет задавать двумерное пространство в моделируемой среде, представляющее собой «этаж», т.е. поверхность, по которой будут перемещаться пешеходы. Этажи могут быть ограничены какой-то стеной или быть неограниченными. Стены - это объекты, которые пешеходы не могут пересекать. Стены являются частью этажа, то есть одна стена не может быть использована несколькими этажами. 

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

Поскольку этажи независимы, использование нескольких “небольших” этажей обычно приводит к лучшему быстродействию, чем использование одного “большого” этажа со сложной конфигурацией стен. Использование нескольких этажей может существенно повысить производительность модели. 

Объект PedGround позволяет задавать различные параметры этажа и получать статистику по количеству присутствующих на нем пешеходов.

Перемещение пешеходов с одного этажа на другой моделируется с помощью объекта PedChangeGround.

Демо модель: Several Floors

Параметры

Стены (группа, необязательный)
Стены, заданные на данном этаже. Стены - это объекты, которые пешеходы не могут пересекать. Стены можно задавать с помощью различных фигур презентации, добавленных в одну группу. После запуска модели объект PedGround анализирует заданный набор стен и создает информацию о прохождении этажа с точки зрения транзитных линий и возможных путей. Пешеходная библиотека будет использовать эту информацию для вычисления путей от текущего местоположения к заданной конечной точке.
Процедура анализа конфигурации стен запускается только один раз, при запуске модели. Изменение этого параметра в процессе исполнения модели будет проигнорировано.
Допустимое значение: группа, содержащая одну или несколько линий, ломаных, прямоугольников. Если в моделируемой области нет стен, то данный параметр можно опустить.
Синтаксис Group walls
Значение по умолчанию null
Точность стыковки стен, в пикселях
Максимальное расстояние (в пикселях), при котором считается, что разрыва между стенами, препятствиями, границами областей и т.д. не существует.
При выполнении анализа конфигурации стен этот параметр определяет, как следует обрабатывать соединения фигур презентации. Стены, чьи концы находятся на расстоянии большем, чем заданная величина, рассматриваются как отдельные. Стены, чьи концы расположены на меньшем расстоянии, чем заданная величина, рассматриваются как сплошные.
Цель параметра в том, чтобы исправлять неточности при графическом задании среды, поскольку в большинстве случаев невозможно нарисовать фигуры презентации точно.
Синтаксис double wallsTouchTolerance
Значение по умолчанию 0.2
Дополнительные транзиты (группа линий)
Если путь пешехода задан вручную (используя ломаные линии), то каждая точка ломаной должна лежать близко к транзиту. Эти транзиты не могут быть определены автоматически. Этот параметр позволяет задавать дополнительные транзиты, которые также следует учитывать при вычислении возможных путей между стенами.
Допустимое значение: группа линий.
Синтаксис Group additionalTies
Значение по умолчанию null
Z координата этажа, в метрах
Здесь Вы можете задать Z-координату этажа (в метрах). Это обычно требуется тогда, когда в Вашей модели есть несколько этажей, располагающихся на разных высотах. Если же вся динамика модели проистекает на одной плоскости, то смысла явно задавать для областей Z-координаты нет.
Синтаксис: double z
Значение по умолчанию: 0
Показать дополнительные параметры
Если опция выбрана (true), то будут показаны дополнительные параметры объекта (они перечислены ниже).
Синтаксис boolean showAdvanced
Значение по умолчанию false
Интервал от транзита до стены, в метрах
[Виден, если выбран параметр Показать дополнительные параметры] Минимальное расстояние между транзитом и стеной, задается в метрах. Установка этого параметра в 0 сделает автоматический поиск путей невозможным.
Синтаксис double gapBetweenTieAndWall 
Значение по умолчанию 0.3
Максимальная длина транзита, в метрах
[Виден, если выбран параметр Показать дополнительные параметры] Задает максимальную длину транзита в метрах. Длина всех автоматически созданных транзитов будет меньше этого значения.
Установка этого параметра в минимальное значение (оно зависит от конкретной модели) может заметно увеличить производительность.
Синтаксис double maximumTieLength
Значение по умолчанию 5
Минимальный угол между транзитами, в радианах
[Виден, если выбран параметр Показать дополнительные параметры] Задает минимальный угол между транзитом внутреннего узла и угловым транзитом. Все угловые транзиты, составляющие меньший угол с транзитом внутреннего узла, чем это значение, будут удалены.
Синтаксис double minimumAngleBetweenTies
Значение по умолчанию 0.3
Удалять пересекающиеся транзиты
[Виден, если выбран параметр Показать дополнительные параметры] Если опция выбрана (true), то будет удалять транзиты внутренних узлов. В некоторых случаях это позволяет не учитывать неиспользуемые транзиты, и тем самым увеличить производительность модели.
Синтаксис boolean deleteCrossingInternodeTies
Значение по умолчанию false
Показывать узлы
[Виден, если выбран параметр Показать дополнительные параметры] Если опция выбрана (true), то узлы будут отображены на презентации. 
Синтаксис boolean renderNodes
Значение по умолчанию false
Цвет узлов
[Виден, если выбран параметр Показывать узлы] Цвет, используемый для отрисовки узлов.
Синтаксис Color nodeColor
Значение по умолчанию BLUE
Показывать края
[Виден, если выбран параметр Показать дополнительные параметры] Если опция выбрана (true), то края будут показаны на презентации. 
Синтаксис boolean renderEdges
Значение по умолчанию false
Цвет краев
[Виден, если выбран параметр Показывать края] Цвет, используемый для отрисовки краев.
Синтаксис Color edgeColor
Значение по умолчанию MAGENTA
Показывать транзиты
[Виден, если выбран параметр Показать дополнительные параметры] Если опция выбрана (true), то транзиты будут показаны на презентации. 
Синтаксис boolean renderTies
Значение по умолчанию false
Цвет транзитов
[Виден, если выбран параметр Показывать транзиты] Цвет, используемый для отрисовки транзитов.
Синтаксис Color tieColor
Значение по умолчанию RED
Показывать препятствия
[Виден, если выбран параметр Показать дополнительные параметры] Если опция выбрана (true), то препятствия будут показаны на презентации. 
Синтаксис boolean renderObstacles
Значение по умолчанию false
Цвет препятствий
[Виден, если выбран параметр Показывать препятствия] Цвет, используемый для отрисовки препятствий.
Синтаксис Color obstacleColor
Значение по умолчанию YELLOW

Функции

int size() - Возвращает количество пешеходов, находящихся в данный момент на этаже. 

Collection<T> getPeds() - Возвращает неизменяемую переменную типа коллекция, содержащую пешеходов, находящихся на этом этаже. 

WGTie createShapeTie( ShapeLine sl ) - Создает новый транзит, заданный пользователем с помощью указанной фигуры.

WGTie createShapeTieAtRuntime( ShapeLine sl ) - Создает во время выполнения модели новый транзит, заданный пользователем с помощью указанной фигуры.