3.1.13: Dispatch Elements
Last updated
Last updated
AAll structural elements in Karamba3D can be given identifiers, or names. Names are case-sensitive and must start with a letter or underscore. After the initial letter, numbers and letters may follow. Names do not need to be unique; two elements can have the same name without causing issues in Karamba3D. Each element has a default identifier: its index. This is why an integer number is not allowed as an element identifier.
Fig. 3.1.13.1 shows how a list of elements can be split into two data trees using their identifiers. The “Dispatch Elements” component expects a list of elements in “Elems” and a list of identifiers or regular expressions in “Id”. Regular expressions must be prefixed by a “&” and represent a powerful selection tool. In Fig. 3.1.13.1, three use cases are shown:
“&.[1-2]”: The “.” matches any character; “[1-2]” matches one character in the range of “1” to “2”. This is equivalent to “[12]”.
“&b.”: Matches any identifier that starts with “b” followed by any character.
“&.[13]”: Matches any identifier that starts with any character followed either by “1” or “3”.
There are two output plugs on the “Dispatch Elements” component: “SElem” returns the selected elements that match the selection criteria, and “RElem” returns the rest. The entries in the “SElem” and “RElem” output data retain their positions in the original list of elements. Rejoining them results in the original order of elements.