Unpack and Merge Data
Function Description
This tool is used for data dimension reduction. It can unpack and merge data lists. For example, input [[A], [B], [C]], output [A, B, C] after unpacking and merging.

Use Cases
General-purpose data dimension reduction step.
Inputs
List: Data list to be unpacked. Supported data types include PoseList, NumberList, StringList, Vector3DList, BoolList, IndexList.
Outputs
Processed List: List after unpacking and merging, same type as the input data list.
Step Principle
Assume the input data is n-dimensional, and the operation layer is set to x (x < n-1).
Unpacking process: First extracts elements from the x-th layer list and reorganizes them according to their index in the parent list (x+1 layer) (elements with the same index are reorganized together) to form a new n-1 dimensional list.
Merging process: Merges elements with the same index at the x-th layer from multiple lists obtained after unpacking (direct concatenation). The merged result is arranged in the original index order to form a new n-1 dimensional list.
When x = n-1, the unpack and merge result is itself.
When x > n-1, the input data will be upgraded in dimension.
Parameters
Dimension Settings
Operation Layer: Specifies the dimension to perform the unpack operation. If the operation layer is 0, operations are performed on each basic element in the list.
Operation layer description is as follows
For data structures such as NumberList, StringList, Vector3DList, BoolList, IndexList, the operation layers are introduced as follows: [Layer 1 [Layer 0 xx,xx,xx…],[Layer 0 xx,xx,xx…] ]
For PoseList, the operation layers are introduced as follows: [Layer 1 [Layer 0 [x,y,z,qx,qy,qz,w]],[Layer 0 [x,y,z,qx,qy,qz,w]] ]
Examples
The unpack and merge tool receives a three-dimensional input parameter: [[[0,1],[2,3]],[[4,5],[6,7]]]
Layer 0 parameters: [0,1] (index 0 in parent list), [2,3] (index 1 in parent list), [4,5] (index 0 in parent list), [6,7] (index 1 in parent list) Layer 1 parameters: [[0,1],[2,3]],[[4,5],[6,7]]
When the operation layer is 0, the input parameter is unpacked into 2 lists: [[0,1],[4,5]] and [[2,3],[6,7]], and the merge result is: [[0,1,2,3],[4,5,6,7]].
When the operation layer is 1, the input parameter is unpacked into 2 lists: [[0,1],[2,3]] and [[4,5],[6,7]], and the merge result is: [[0,1],[2,3],[4,5],[6,7]].