Функции CraneProgram

Структура CraneProgram содержит информацию о передвижении моста в виде списка задач по движению отдельных компонентов - моста, каретки или крюка - и пауз между этими движениями. Задачи выполняются последовательно в том порядке, в котором они перечислены. Каждая задача описывает движение компонента в виде смещения от текущего местоположения этого компонента.

Чтобы создать программу и начать движение моста по этой программе, необходимо:

  1. Создать новую структуру:

    CraneProgram program = new CraneProgram();

  2. Последовательно перечислить каждый сегмент движения моста и паузы между движениями с помощью API CraneProgram:

    program.moveBridge(2, METER);
    program.moveTrolley(1.5, METER);
    program.delay(15, SECOND);
    ...

  3. Вызвать функцию моста moveByProgram() и передать в качестве аргумента созданную структуру CraneProgram:

    bridge.moveByProgram(program);

Для работы со структурой CraneProgram можно использовать следующие функции:

Работа с программой

Функция

Описание

CraneProgram appendProgram(CraneProgram program)

Присоединяет указанную в качестве аргумента программу к данной программе. Все команды указанной программы будут последовательно размещены после последней команды данной программы.

Параметр:
program - программа, которая должна быть присоединена к данной программе

CraneProgram clone()

Создает копию существующей программы.

CraneProgram()

Создает новую программу.


Задачи на движение компонентов

Функция

Описание

CraneProgram moveBridge(double offset, LengthUnits units)

Создает команду для перемещения моста на расстояние, заданное смещением offset от текущего положения моста, в указанных единицах измерения длины.

Параметры:
offset - смещение от текущего положения моста до точки назначения движения
units - константа, определяющая единицы измерения длины

CraneProgram moveTrolley(double offset, LengthUnits units)

Создает команду для перемещения каретки на расстояние, заданное смещением offset от текущего положения каретки, в указанных единицах измерения длины.

Параметры:
offset - смещение от текущего положения каретки до точки назначения
units - константа, определяющая единицы измерения длины

CraneProgram moveHook(double offset, LengthUnits units)

Создает команду для перемещения крюка на расстояние, заданное смещением offset от текущего положения крюка, в указанных единицах измерения длины.

Параметры:
offset - смещение от текущего положения крюка до точки назначения
units - константа, определяющая единицы измерения длины

CraneProgram moveToPoint(Point destinationPx, double safeHeight, LengthUnits units)

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

Параметры:
destinationPx - точка назначения в пикселях
safeHeight - безопасная высота, которую должен соблюдать крюк
units - константа, определяющая единицы измерения длины

CraneProgram moveComponentsConcurrently(double bridgeOffset, double trolleyOffset, double hookOffset, LengthUnits units)

Создает команду для одновременного перемещения всех компонентов (моста, каретки, крюка) на заданные расстояния в указанных единицах измерения длины.

bridgeOffset - смещение от текущего положения моста до точки назначения
trolleyOffset - смещение от текущего положения каретки до точки назначения
hookOffset - смещение от текущего положения крюка до точки назначения
units - константа, определяющая единицы измерения длины


Задача на остановку движения

Функция

Описание

CraneProgram delay(double delayTime, TimeUnits units)

Создает команду для остановки всех компонентов на заданный отрезок времени в указанных единицах измерения времени.

delayTime - отрезок времени, в течение которого все компоненты будут неподвижны
units - константа, определяющая единицы измерения времени