Автомобиль

Функции

Размеры автомобиля

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

double getLength( LengthUnits units ) - Возвращает длину автомобиля в указанных единицах измерения длины. К примеру, getLength(FOOT)возвращает длину автомобиля в футах.

void setLength( double length ) - Задает длину автомобиля в метрах. Новое значение длины должно быть > 0. Длина может быть задана только для автомобиля, не содержащегося в дорожной сети.

void setLength( double length, LengthUnits units ) - Задает длину автомобиля в указанных единицах измерения длины. К примеру, setLength(4.5, METER) задает длину автомобиля равной 4.5 метрам. Новое значение длины должно быть > 0. Длина может быть задана только для автомобиля, не содержащегося в дорожной сети.

double getWidth() - Возвращает ширину автомобиля в метрах.

double getWidth( LengthUnits units ) - Возвращает ширину автомобиля в указанных единицах измерения длины. К примеру, getWidth(METER) возвращает ширину автомобиля в метрах.

Скорость

double getSpeed() -  Возвращает текущую скорость автомобиля в метрах в секунду.

double getSpeed(SpeedUnits units) -  Возвращает текущую скорость автомобиля в указанных единицах измерения скорости. К примеру, getSpeed(KPH) возвращает текущую скорость автомобиля в километрах в час. 

double getPreferredSpeed() -  Возвращает предпочитаемую скорость автомобиля в метрах в секунду.

double getPreferredSpeed(SpeedUnits units) -  Возвращает предпочитаемую скорость автомобиля в указанных единицах измерения скорости. К примеру, getPreferredSpeed(KPH) возвращает предпочитаемую скорость автомобиля в километрах в час. 

void setPreferredSpeed( double speed ) -  Задает новую предпочитаемую скорость автомобиля в метрах в секунду.
Параметр: speed - новая предпочитаемая скорость автомобиля

void setPreferredSpeed( double speed, SpeedUnits units ) -  Задает новую предпочитаемую скорость автомобиля в указанных единицах измерения скорости. К примеру, setPreferredSpeed(70, KPH) задает предпочитаемую скорость равной 70 километрам в час. 

Ускорение / замедление

boolean isAccelerating() -  Проверяет, ускоряется ли автомобиль. Возвращает true, если автомобиль ускоряется (т.е. его ускорение > 0), в противном случае false.

boolean isDecelerating() -  Проверяет, замедляется ли автомобиль. Возвращает true, если автомобиль замедляется (т.е. его ускорение < 0), в противном случае false.

double getAcceleration() - Возвращает текущее ускорение/замедление автомобиля в метрах в секунду.

double getAcceleration( AccelerationUnits units ) - Возвращает текущее ускорение/замедление автомобиля в указанных единицах измерения ускорения. К примеру, getAcceleration(FPS_SQ) возвращает текущее ускорение автомобиля в футах в секунду. 

double getMaxAcceleration() - Возвращает максимально возможное ускорение автомобиля в метрах в секунду.

double getMaxAcceleration( AccelerationUnits units ) - Возвращает максимально возможное ускорение автомобиля в указанных единицах измерения ускорения. К примеру, getMaxAcceleration(FPS_SQ) возвращает максимально возможное ускорение в футах в секунду. 

double getMaxDeceleration() - Возвращает максимально возможное замедление автомобиля в метрах в секунду.

double getMaxDeceleration( AccelerationUnits units ) - Возвращает максимально возможное замедление автомобиля в указанных единицах измерения ускорения. К примеру, getMaxDeceleration(FPS_SQ) возвращает максимально возможное замедление в футах в секунду. 

void setMaxAcceleration(double maxAcceleration) - Задает новое максимально возможное ускорение автомобиля в метрах в секунду. Значение должно быть > 0.

void setMaxAcceleration(double maxAcceleration, AccelerationUnits units) - Задает новое максимально возможное ускорение автомобиля в указанных единицах измерения ускорения. К примеру, setMaxAcceleration(3, FPS_SQ) задает максимально возможное ускорение автомобиля равным 3 футам в секунду. maxAcceleration должно быть > 0.

void setMaxDeceleration(double maxDeceleration) - Задает новое максимально возможное замедление автомобиля в метрах в секунду. Значение должно быть > 0.

void setMaxDeceleration(double maxDeceleration, AccelerationUnits units) - Задает новое максимально возможное замедление автомобиля в указанных единицах измерения ускорения. К примеру, setMaxDeceleration(3, FPS_SQ) Задает максимально возможное замедление равным 3 футам в секунду. maxDeceleration должно быть > 0.


Пройденное расстояние

double getDistanceDriven() - Возвращает пройденное расстояние в метрах с момента создания автомобиля или с момента последнего вызова функции resetDistanceDriven().

double getDistanceDriven( LengthUnits units ) -  Возвращает пройденное расстояние в указанных единицах измерения с момента создания автомобиля или с момента последнего вызова функции resetDistanceDriven().

void resetDistanceDriven() - Сбрасывает значение пройденного расстояния в 0.

Местоположение автомобиля

Road getRoad() - Возвращает дорогу, на которой расположен этот автомобиль, или null, если автомобиль не находится на дороге.

int getLaneIndex() - Возвращает полосу, в которой в данный момент находится автомобиль. Нумерация полос начинается с внешней полосы (ей присвоен номер 0). Если автомобиль в данный момент перестраивается в другую полосу или не находится на дороге (к примеру, он на перекрестке), то функция возвращает -1.

double getRoadOffset() - Возвращает текущее смещение автомобиля (измеряемое вдоль оси дороги, т.е., середины её разделительной полосы, в проекции на плоскость XY) относительно начала дороги. Если автомобиль находится не на дороге (к примеру, он  на перекрестке), то функция возвращает -1. Смещение измеряется в метрах.

Intersection getIntersection() - Возвращает перекресток, на котором находится автомобиль, или null, если автомобиль в данный момент не на перекрестке.

ParkingLot getParkingLot() - Возвращает парковку, на которой находится автомобиль, или null, если автомобиль в данный момент не на парковке.

BusStop getBusStop() - Возвращает автобусную остановку, на которой находится автомобиль, или null, если автомобиль в данный момент не на автобусной остановке.

boolean isCarOn( Object roadNetworkPart ) - Проверяет, находится ли автомобиль в указанном месте дорожной сети (на дороге, перекрестке, парковке или автобусной остановке). Возвращает true, если автомобиль находится в указанном месте дорожной сети, false в противном случае.
Параметр: roadNetworkPart - указанное место дорожной сети (дорога, перекресток, парковка или автобусная остановка)

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

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

Другие

RoadNetworkDescriptor getRoadNetworkDescriptor() - Возвращает блок RoadNetworkDescriptor, который задает настройки для дорожной сети, содержащей в данный момент автомобиль. Возвращает null, если автомобиль не в дорожной сети.

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

Agent getCarInFront() -  Возвращает автомобиль, который находится впереди этого автомобиля в пределах дальности обнаружения. Возвращает null, если впереди этого автомобиля нет машин. Дальность обнаружения автомобиля зависит от скорости автомобиля и рассчитывается динамически.

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


См. также

 Задание типов автомобилей

 Учебное пособие по Библиотеке дорожного движения