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 つまたは他の境界)であることに注意してください。