インデックスで要素を並べ替え (ReorderByIndexList)
機能説明
与えられたインデックスマッピングに基づいて入力データを並べ替えます。複数のネストデータ構造に対する再ソートにも対応しています。

使用シーン
入力インデックスに従って元データを並べ替えたい場合に使用します。通常はソート系手順の後に接続して使います。
入力
マッピングインデックス(必連):ソート順序を指定するインデックスリスト。
名前なし(必連):並べ替え対象のデータです(1〜16 組の並列入力に対応)。
出力
名前なし:インデックスマッピングに従って並べ替えられたデータです。
パラメータ説明
ポート個数(1~16)
複数組データの同時並べ替えに対応しています。すべてのポートは同一のインデックスマッピングを使用します。範囲は 1〜16 です。
操作層
並べ替え操作をどの階層に対して適用するかを指定します。
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]] ]
例
操作層 = 0(デフォルト)
リスト内のサブアイテムを並べ替えます。
入力
元データ: [['A', 'B', 'C'], ['D', 'E', 'F']]
インデックス: [[2, 0, 1],[2, 0, 1]]
出力
[['C', 'A', 'B'], ['F', 'D', 'E']]
操作層 = 1
第 1 次元リスト内を並べ替えます。
入力
元データ: [['A', 'B', 'C'], ['D', 'E', 'F'], ['G', 'H', 'I']]
インデックス: [2, 0, 1]
出力
[['G', 'H', 'I'], ['A', 'B', 'C'], ['D', 'E', 'F']]
操作層 = 2
第 2 次元リスト内を並べ替えます。
入力
元データ: [[['A','B'], ['C','D']], [['E','F'], ['G','H']]]
インデックス: [1, 0]
出力
[[['E','F'], ['G','H']], [['A','B'], ['C','D']]]