ConnectivityとPartitionを使ってオブジェクトごとに番号を振り分けて、番号ごとにGroupを振り分ける

ConnectivityとはAttributeを作成して繋がってる物を同じ番号に振り分けてくれる。
(ちなみに今回紹介する方法ではなくCopyStamp > CreateOutputGroupsにチェックを入れると一発でgroupが振り分けされる)
例えばboxをgridでcopyして下記のように作る
f:id:shinobigiken:20170717071857p:plain

その次にConnectivityを繋げて
Connectivity > ConnectivityType(Attributeにするタイプを指定)
Connectivity > Attribute(デフォルトではclassになってるけど変えてもよい)
Connectivity > LocalVariable(ローカル変数を使う場合はチェックを入れる)
f:id:shinobigiken:20170717071955p:plain

この時点でGeometrySpreadsheetを確認すると
classというAttributeが出来てて0~7は0番、8~15は1番と番号が振られている。
f:id:shinobigiken:20170717072020p:plain

これはどういう事かというと
Connectivityは繋がっている部分を同じ番号でAttributeに追加してくれるノードである。
一つのboxには0~7のPointが存在しているのでこのような割り振りになっている。
f:id:shinobigiken:20170717072041p:plain

次にPartitionを繋ぎます
Partitionとは同じ番号同士のAttributeを別のGroupとして振り分けてくれる便利なノード
Partition > Points
Partition > Rules(ここにConnectivityで作ったローカル変数の名前を入れる)
下記はbox_$CLASSとなっている
box_は任意の名前で良い(新しく振り分けられるAttributeの頭文字になる)
$CLASSはconnectivityでclassというローカル変数を作ったので変数名が入ってる(大文字)
f:id:shinobigiken:20170717072103p:plain

この時点でGeometrySpreadsheetを確認すると
box_0が0~7のPoint
box_1が8~15のPoint
box_2が16~23のPoint
と同じ番号ごとにGroupが振り分けられているのが分かる
f:id:shinobigiken:20170717072119p:plain

これで繋がっているオブジェクトは一つのGroupになったので一個ずつに何かの処理をする事が可能になる
f:id:shinobigiken:20170717072137p:plain

ノードの全体像
f:id:shinobigiken:20170717072150p:plain