====== Объединение в цепи ======
Объединение в цепи - процесс отбора подмножества чанков (или ремней) на базе определённого [[ru:toolworks:docs:apparatus:filter|фильтр]]-критерия. Как только ремни и чанки были объединены в цепь, они блокируются и любые структурные их изменения минимизируются в целях целостности [[ru:toolworks:docs:apparatus:iterating|итерации]].
===== Организация в C++ =====
В реальности довольно просто. Вы не создаёте цепи вручную, но они, на самом деле, управляются [[appi>class_u_machine.html|объектом-Машиной]] (Machine class). Предположим, вы уже собрали необходимый [[ru:toolworks:docs:apparatus:filter|Фильтр]], всё что осталось сделать - так это вызвать глобальный метод Механизма, называемый [[appi>class_u_mechanism.html#ab9c5280bbf348bee04751204ce0687c1|Enchain]], передавая применяемый фильтр.
FChain& Chain = Mechanism->Enchain(Filter).Get();
Теперь вы готовы [[ru:toolworks:docs:apparatus:iterating|итерироваться]] или [[ru:toolworks:docs:apparatus:operating|оперировать]] над цепью, но есть ещё кое-что.
==== Твердотельные цепи ====
Вы можете создать специальную цепь, называемую //твердотельной//.
Твердотельные цепи дают некоторые дополнительные возможности: получение прямых ссылок на трейты, например, параллелизм итерирования, - но они также и ограничивают доступные операции над Сущностями, так что изменить их структуру не получится. Иными словами, вы не сможете добавлять или удалять трейты, если цепь твердотельная. Создание твердотельной цепи выглядит просто:
FSolidChain& Chain = Mechanism->EnchainSolid(Filter).Get();
==== Чанк - Прокси ====
Если вы хотите итерироваться по чанкам напрямую, вам следует объединить их в один список прокси-чанков.
Чтобы это сделать, доступен специальный перегруженный [[appi>class_a_mechanism.html#ae72188d973bed3d8484dc5ab87e5e1e1|метод]].
Он принимает [[ue>API/Runtime/Core/Containers/TArray|массив]] прокси-чанков своим вторым аргументом. Первый аргумент - фильтр.