アンパックマージ (UnpackAndMergeData)
機能説明
本ツールは、データの次元を下げながら再結合するために使用します。たとえば、入力が [[A], [B], [C]] の場合、アンパックマージ後の出力は [A, B, C] になります。

使用シーン
汎用的なデータ降次元手順。
入力
リスト:アンパック対象のデータリストです。PoseList、NumberList、StringList、Vector3DList、BoolList、IndexList に対応しています。
出力
処理済みリスト:アンパック結合後のリスト。入力データリストと同じタイプ。
手順原理
入力データを n 次元、操作層を x(x < n - 1)とします。
アンパック過程では、まず第 x 層リスト内の要素を取り出し、その親リスト(x + 1 層)内でのインデックスに従って再編成します。同じインデックスの要素同士をまとめ、新しい n - 1 次元リストを構成します。
結合過程では、アンパック後に得られた複数リストから、第 x 層で同じインデックスを持つ要素同士を結合します。結合後の結果は元のインデックス順に並べられ、新しい n - 1 次元リストになります。
x = n - 1 の場合、アンパックマージ結果は元データと同じです。
x > n - 1 の場合は、入力データに対して次元拡張を行います。
パラメータ説明
次元設定
操作層:アンパック操作を行う次元を指定します。操作層が 0 の場合は、リスト内の各基本要素に対して処理を行います。
操作層の考え方は次のとおりです。
NumberList、StringList、Vector3DList、BoolList、IndexListなどのデータ構造において: [第1層 [第0層 xx,xx,xx...],[第0層 xx,xx,xx...] ]
PoseListにおいて: [第1層 [第0層[x,y,z,qx,qy,qz,w]],[第0層[x,y,z,qx,qy,qz,w]] ]
例
アンパックマージツールが次の 3 次元入力を受け取るとします。 [[[0,1],[2,3]],[[4,5],[6,7]]]
第 0 層の要素: [0,1](親リスト内のインデックス 0)、[2,3](親リスト内のインデックス 1)、[4,5](親リスト内のインデックス 0)、[6,7](親リスト内のインデックス 1) 第 1 層の要素: [[0,1],[2,3]]、[[4,5],[6,7]]
操作層が 0 の場合、この入力は 2 つのリストに分解されます。 [[0,1],[4,5]]と[[2,3],[6,7]]、結合結果は: [[0,1,2,3],[4,5,6,7]]。
操作層が 1 の場合、この入力は 2 つのリストに分解されます。 [[0,1],[2,3]]と[[4,5],[6,7]]、結合結果は: [[0,1],[2,3],[4,5],[6,7]]。