ICE オペレータ以外でインタラクティブにモデリングする場合は、ビューポートで選択することによって対象のコンポーネントを指定します。ICE を使って手続き型でモデリングする場合も、何らかの方法でコンポーネントを指定する必要があります。これはコンポーネントのインデックスを使用して行われます。コンポーネントは、それらのインデックスを明示的にリストすることによって指定するか、希望のインデックス値を手続き型で計算することができます。[Delete Vertex]などのトポロジ ノードの多くでは、コンポーネント インデックスを、1 つの整数、整数の配列、または(おそらくフィルタされた)整数の集合として指定できます。
ICE トポロジ ノードのスライダを使って 1 つのコンポーネントを指定できます。または、配列を接続することによって複数のコンポーネントを指定できます。Build Array(配列の作成)またはString to Array(配列する文字列)などのさまざまな配列ノードで配列を作成することができます。
エクスプリシット インデックスは ICE モデリングを学習するときには便利ですが、コンパウンドの開発およびデバッグを行う際にはとても制限的なものです。さまざまな条件に基づいてインデックスを手続き型で計算する方がより強力です。
インデックスを手続き型で計算する 1 つの方法として、1 つ以上の条件を満たさないインデックスをフィルタで除外する方法があります。Test Polygon Inside Null(ヌルの内側のポリゴンのテスト)コンパウンドは、Preset Manager の[タスク](Tasks) [トポロジ](Topology)グループの[条件付き](Conditionals)グループにあります。または、結果がブール値である計算を使って独自のテストを作成することができます。
[条件付き](Conditionals)グループにも、Test Edge Index(エッジインデックスのテスト)、Test Polygon Index(ポリゴンインデックスのテスト)、Test PolyNode Index(ポリノード インデックスのテスト)、Test Vertex Index(頂点インデックスのテスト)という、さまざまな方法で各コンポーネント タイプのインデックスを指定するためのコンパウンドが含まれています。
コンポーネント タイプを切り替えることが必要になる場合があります。たとえば、ポリゴンでテストを行った結果、関連付けられているエッジを修正する必要が発生した場合などです。このような場合には、[PolygonToEdges]属性を使用することができます。この属性は、ポリゴンごとの整数配列で、そのポリゴンが持つエッジのインデックスを格納しています。すべてのポリゴン メッシュ コンポーネント(頂点、エッジ、ポリゴン、ノード(ポリノード))間で変換ができるように、他にも同様の属性が用意されています。
以下の例は、フィルタされたポリゴンのセットから、フィルタされたエッジ インデックスのセットを作成する方法を示しています。
この例は、頂点インデックスの配列から、フィルタされたポリゴン インデックスのセットを作成する方法を示しています。
Preset Manager の[ツール]タブの[Topology]カテゴリ内のノードは、指定されたコンポーネントを修正します。これは、ICE 以外の対応するトポロジ オペレータと同じ操作を実行します。トポロジを取得し(または、Self.Topologyの入力を接続しないままにし)、トポロジ ノードに接続して、トポロジを設定します。
[タスク](Tasks) [Topology]グループの[Modifiers]グループ内のコンパウンドを使用することもできます。これらには、コンポーネントを指定するための組み込みのオプションがあります。また、ICETree ルートに次々と直接的に接続されるようにする、実行タイプの出力もあります。
ループを処理するときに役立つコンパウンドもいくつかあります。オープン メッシュのループは一方向(特定のエッジから 1 つまたは他の境界)であることに注意してください。