Дорога (Road)

Класс Road задает сегмент дороги (прямой или закругленный) с неизменным количеством полос. Вы задаете дорогу, рисуя ее основание с помощью линии или дуги. Нарисованная фигура задает длину дороги и количество полос на ней. При создании задается ограничение скорости - для прямой дороги оно задается равным ограничению, заданному по умолчанию для всей дорожной сети, а для закругленной дороги оно выбирается в соответствии с параметрами объекта RoadNetwork. Вы можете всегда изменить ограничение скорости с помощью функций класса Road.

Класс Road предлагает следующий программный интерфейс:

Функции

RoadNetwork getRoadNetwork() - Возвращает дорожную сеть, которой принадлежит данная дорога.

Shape getShape() -  Возвращает фигуру (линию ShapeLine или дугу ShapeArc), задающую эту дорогу.

String getName() -  Возвращает имя фигуры дороги.

double getLength() -  Возвращает длину дороги, в метрах.

double getDirection() -  Возвращает направление дороги относительно направления ее фигуры. Возвращает true, если направления одинаковы, в противном случае - false.

double getSpeedLimit() -  Возвращает скорость движения по дороге, в м/с.

void setSpeedLimit( double speedLimit ) - Задает новое ограничение скорости для данной дороги. Значение должно быть > 0.
     Параметр: speedLimit - новое ограничение скорости, в м/с.

Road[] nextRoads() - Возвращает массив дорог, которые следуют за данной дорогой (их количество может быть равно 0, 1 и т.д.)

int[] nextRoadLaneIndexDeltas() -  Возвращает массив значений - разностей индексов полос этой дороги и соединенных с ними полос следующей дороги.

int getNLanes() -  Возвращает количество полос на данной дороге.

Lane getLane( int index ) -  Возвращает полосу с заданным индексом index (значение 0 соответствует самой левой полосе).

boolean isEmpty() -  Проверяет, находятся ли на данной дороге автомобили (по крайней мере, частично). Возвращает true, если таковых нет; false - в противном случае.

double offsetToX( double offset ) -  Возвращает Х-координату (в пикселях) точки заданного смещения от начала дороги, относительно группы сети дорог.

double offsetToY( double offset ) -  Возвращает Y-координату (в пикселях) точки заданного смещения от начала дороги, относительно группы сети дорог.

double offsetToZ( double offset ) -  Возвращает Z-координату (в пикселях) точки заданного смещения от начала дороги, относительно группы сети дорог.

double offsetToAngle( double offset ) - Возвращает угол поворота машины в плоскости (x,y) в точке смещения offset от начала дороги, в радианах

void highlight( boolean yes ) - Подсвечивает / снимает выделение дороги на анимации. Подсвеченная дорога рисуется полупрозрачным красным цветом.
     Параметр: yes - если true, то выделить дорогу на анимации, в противном случае - снять выделение

boolean isHighlighted() - Проверяет, выделена ли дорога на анимации. Возвращает true, если дорога выделена, и false - если нет.