Структура CraneProgram содержит информацию о передвижении моста в виде списка задач по движению отдельных компонентов — моста, каретки или крюка — и пауз между этими движениями. Задачи выполняются последовательно в том порядке, в котором они перечислены. Каждая задача описывает движение компонента в виде смещения от текущего местоположения этого компонента.
Чтобы создать программу и начать движение моста по этой программе, необходимо:
-
Создать новую структуру:
CraneProgram program = new CraneProgram();
-
Последовательно перечислить каждый сегмент движения моста и паузы между движениями с помощью API CraneProgram:
program.moveBridge(2, METER);
program.moveTrolley(1.5, METER);
program.delay(15, SECOND);
... -
Вызвать функцию моста 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 — константа, определяющая единицы измерения времени
-
Как мы можем улучшить эту статью?
-