Road Network Descriptor

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

Кроме того, с помощью этого блока вы можете включить отображение пробок на дорогах.

Параметры

Дорожная сеть
Дорожная сеть, свойства которой задает этот блок.
Синтаксис: RoadNetwork roadNetwork
Изменить значение: set_roadNetwork(новое значение)
Длина участка дороги
Длина дорожной секции (не может быть меньше 1 метра). Все дороги сети делятся на секции одинаковой длины (секция в конце дороги может быть короче). Эти секции используются в карте пробок на дорогах и отчетах о средней скорости.
Синтаксис: double roadSectionLength
Изменить значение: set_roadSectionLength(новое значение)
Карта пробок на дорогах
Показывать пробки
Если опция выбрана, карта пробок будет видна, в противном случае - не видна. Карта пробок представляет собой полупрозрачное окрашивание дороги в цвет, который зависит от средней скорости автомобиля на каждой секции дороги. Анимация карты пробок доступна как в 2D, так и в 3D.
Синтаксис: boolean enableDensityMap
Изменить значение: set_enableDensityMap(новое значение)
Зеленый цвет, если скорость выше
[Параметр виден, если выбрана опция Показывать пробки] Если средняя скорость автомобилей на секции дороги равна либо больше значения этого параметра, карта пробок для этой секции будет окрашена в зеленый цвет. Значение параметра Зеленый цвет, если скорость выше всегда должнj быть больше значения параметра Красный цвет, если скорость выше.
Синтаксис: double greenSpeedLevel
Изменить значение: set_greenSpeedLevel(новое значение)
Красный цвет, если скорость ниже
[Параметр виден, если выбрана опция Показывать пробки] Если средняя скорость автомобилей на секции дороги равна либо меньше значения этого параметра, карта пробок для этой секции будет окрашена в красный цвет.
Синтаксис: double redSpeedLevel
Изменить значение: set_redSpeedLevel(новое значение)
Прозрачность (0 = прозрачный)
[Параметр виден, если выбрана опция Показывать пробки] Прозрачность карты пробок на дорогах. Значение этого параметра может варьироваться в пределах [0...1], где 0 - непрозрачная карта, 1 - прозрачная карта.
Синтаксис: double densityMapTransparency
Изменить значение: set_densityMapTransparency(новое значение)
Действия
При входе в сеть [код]
Код выполняется каждый раз, когда автомобиль поступает в дорожную сеть.
Локальная переменная: car - автомобиль, поступающий в дорожную сеть
При выходе из сети [код]
Код выполняется каждый раз, когда автомобиль покидает дорожную сеть.
Локальная переменная: car - автомобиль, покидающий дорожную сеть
При въезде на дорогу [код]
Код выполняется каждый раз, когда автомобиль въезжает на дорогу.
Локальные переменные: car - автомобиль, въезжающий на дорогу
                                            Road road - дорога, на которую въезжает автомобиль
                                            boolean isRoadForwardtrue, если автомобиль въезжает на полосу основного движения, false в противном случае
При съезде с дороги [код]
Код выполняется каждый раз, когда автомобиль съезжает с дороги.
Локальные переменные: car - автомобиль, который съезжает с дороги
                                            Road road - дорога, с кторой съезжает автомобиль
                                            boolean isRoadForwardtrue, если автомобиль двигался по полосе основного движения, false в противном случае
При въезде на перекрёсток [код]
Код выполняется каждый раз, когда автомобиль въезжает на перекресток.
Локальные переменные: car - автомобиль, который въезжает на перекресток
                                   Intersection intersection - перекресток, на который въезжает автомобиль
При съезде с перекрёстка [код]
Код выполняется каждый раз, когда автомобиль съезжает с перекрестка.
Локальные переменные: car - автомобиль, который съезжает с перекрестка
                                   Intersection intersection - перекресток, с которого съезжает автомобиль
При смене полосы [код]
Код выполняется каждый раз, когда автомобиль завершает вираж смены полосы.
Локальная переменная:  car - автомобиль, который завершает вираж смены полосы
                                          Road road - дорога, на которой находится автомобиль во время смены полосы
                                          boolean isRoadForwardtrue, если автомобиль движется по дороге в основном направлении, false - в противном случае
                                          int previousLaneIndex - индекс полосы (нумерация начинается с нуля), которую покинул автомобиль
                                          int currentLaneIndex - индекс полосы (нумерация начинается с нуля), на которую переместился автомобиль
При остановке [код]
Код выполняется каждый раз, когда автомобиль останавливается. Для остановки автомобиля может быть несколько причин:
- впереди есть автомобиль, который не движется
- автомобилю задана нулевая предпочитаемая скорость
- автомобиль остановился перед стоп-линией
- автомобиль достиг пункта назначения (автобусная остановка или парковочное место)
Локальная переменная: car - автомобиль, который остановился
                                         Road road - дорога, на которой находится автомобиль после остановки или null, если автомобиль остановился за пределами дороги (к примеру, на перекрестке)
                                         boolean isRoadForwardtrue, если автомобиль двигался по дороге в основном направлении движения, false - в противном случае
При возобновлении движения [код]
Код выполняется каждый раз, когда автомобиль возобновляет движение после остановки.
Локальная переменная: car - автомобиль, который возобновил движение
                                         Road road - дорога, на которой находится автомобиль, во время возобновления движения или null, если автомобиль находится за пределами дорог (к примеру, на перекрестке)
                                         boolean isRoadForwardtrue, если автомобиль двигается по дороге в основном направлении движения, false - в противном случае
При щелчке по автомобилю [код]
Код выполняется каждый раз, когда вы щелкаете по автомобилю мышкой.
Локальная переменная: car - автомобиль, по которому щелкают мышкой
Дополнительные настройки
Авторазрешение заторов
Включает / отключает авторазрешение заторов. Затор - это ситуация, в которой автомобили создают друг другу помеху и не могут продолжить движение. Если эта опция выбрана, библиотека определит наличие затора и временно позволит автомобилям проезжать сквозь друг друга, чтобы избежать полной блокировки модели.
Синтаксис: boolean automaticallyResolveDeadlocks
Изменить значение: set_automaticallyResolveDeadlocks(новое значение)
Точность геом. вычислений
Точность геометрических вычислений (в пикселях). Параметр можно изменить, если модель не запускается с текущими настройками.
Синтаксис: double geometricCalculationsPrecision
Изменить значение: set_geometricCalculationsPrecision(новое значение)
Точность вычислений времен
Точность вычислений времен (в секундах). Параметр можно изменить, если модель не запускается с текущими настройками.
Синтаксис: double temporalCalculationsPrecision
Изменить значение: set_temporalCalculationsPrecision(новое значение)

Функции

int size() - Возвращает количество автомобилей в дорожной сети.

Agent getCar(int index) - Возвращает автомобиль с заданным индексом в этой дорожной сети или null, если нет такого автомобиля.