
Этот блок позволяет осуществить сборку одной новой заявки из определенного числа заявок, пришедших из различных источников (до 5). Он может быть использован, например, для объединения различных этапов работы. Класс новой заявки, так же как и ее инициализация, определяется пользователем. Число заявок, которые должны поступить на каждый отдельно взятый порт для того, чтобы могла быть создана одна новая заявка, задается с помощью параметров объекта (Количество 1, Количество 2, и т.д.). Поступившие заявки ожидают поступления всех необходимых для сборки заявок. Как только новая заявка может быть собрана, начинается операция сборки. Время сборки задается в параметре Время задержки.
Операция сборки может потребовать участия ресурсов - в этом случае Вы должны соединить соответствующий объект ResourcePool к нижнему порту объекта Assembler и задать количество ресурсов этого типа, необходимое для сборки, в поле Количество ресурсов.
Новая заявка может быть любой из первоначально поступивших в объект заявок (возможно, измененной пользователем), а может быть и совершенно новой, чьи свойства могут зависеть от свойств первоначальных заявок.
Объект Assembler может использоваться для различных целей. Например, он может служить точкой синхронизации, позволяющей одной заявке продолжать свое движение только после прихода другой.
Пожалуйста, обратите внимание, что в этом объекте могут уничтожаться заявки. Но поскольку объект не знает, какие именно заявки будут уничтожены, он не проверяет выполнение у заявок условий, необходимых для их уничтожения (см. описание объекта Sink). Обеспечение выполнения всех этих условий входит в Вашу обязанность.
Все прибывающие в объект заявки могут
отображаться на анимации в заданных пользователем областях.
int queueSize( int n ) - возвращает количество заявок в очереди с заданным индексом.
T queueGet( int n, int index ) - возвращает заявку, находящуюся в очереди с заданным индексом n в позиции с номером index (ближайшая к выходу из очереди позиция имеет номер 0).
int delaySize() - возвращает количество заявок во вложенном объекте Delay.
T delayGet( int index ) - возвращает заявку, находящуюся во вложенном объекте Delay в позиции с номером index (самая "старая" заявка находится в позиции с номером 0).