Класс 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 - если нет.