en:toolworks:docs:apparatus:enchaining

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
en:toolworks:docs:apparatus:enchaining [2021/09/01 15:56] vladiusen:toolworks:docs:apparatus:enchaining [2022/07/18 18:12] (current) – Fix trouble. jispar
Line 1: Line 1:
 ====== Enchaining ====== ====== Enchaining ======
  
-Enchaining is the process of selecting a subset of Chunks (or Belts) based on a certain Filter criteria. Once enchained Belts and Chunks become locked, the structural changes become minimized for the sake of consistent iterating.+Enchaining is process of selecting a subset of Chunks (or Belts) based on a certain [[en:toolworks:docs:apparatus:filter|Filter]] criteria. Once they are Enchained the corresponding Belts and Chunks are becoming locked, i.e. any structural changes become minimized for the sake of consistent [[en:toolworks:docs:apparatus:iterating|Iterating]].
  
 ===== C++ Workflow ===== ===== C++ Workflow =====
  
-That's pretty basic, really. You don't create (instantiate) Chains manually but those are actually managed by the [[appi>class_u_machine.html|Machine class]]. Assuming you've already assembled the needed [[en:toolworks:docs:apparatus:filter|Filter]] all you have to do is tp call a global (static) Machine method named [[appi>class_u_machine.html#aa7eade82d0047499c688abcde2a01f2b|Enchain]] passing it the applied filter.+That's pretty basic, really. You don't create (instantiate) Chains manually but those are actually managed by the [[appi>class_u_machine.html|Machine class]]. Assuming you've already assembled the needed [[en:toolworks:docs:apparatus:filter|Filter]] all you have to do is to call a global Mechanism method named [[appi>class_u_mechanism.html#ab9c5280bbf348bee04751204ce0687c1|Enchain]] passing it the applied filter.
  
 <code cpp> <code cpp>
-FChainChain = Mechanism->Enchain(Filter);+FChainChain = Mechanism->Enchain(Filter).Get();
 </code> </code>
  
Line 21: Line 21:
  
 <code cpp> <code cpp>
-FSolidChainChain = Mechanism->EnchainSolid(Filter);+FSolidChainChain = Mechanism->EnchainSolid(Filter).Get();
 </code> </code>
 +
 +==== Chunks Proxies ====
 +
 +If you want to Iterate the Chunks directly, you would have to Enchain them into a list of Chunks Proxies.
 +
 +In order to do that, a special overloaded [[appi>class_a_mechanism.html#ae72188d973bed3d8484dc5ab87e5e1e1|method]] is present within the API.
 +It accepts an [[ue>API/Runtime/Core/Containers/TArray|array]] of Chunks Proxies as its argument second argument. The first one is of course, a Filter.
  • en/toolworks/docs/apparatus/enchaining.1630500985.txt.gz
  • Last modified: 2021/09/01 15:56
  • by vladius