OP Find DATは、あるコンポーネントから、そのコンポーネント内のすべてのノードを検索し、ユーザが選択した基準にマッチするノードごとに1行のテーブルを出力します。例えば、すべてのRamp TOP、名前が “wave “で始まるすべてのノード、Cloneパラメータが “master1 “に設定されているすべてのノード、”emitter “と呼ばれるタグが付いているすべてのジオメトリコンポーネントなどです。
基準は、特定のファミリのノードのみ、または特定の演算子タイプのノードのみを含むように制限することができます。パス、特定の値(定数と式の両方)を含む特定のパラメータ、コメント、タグ、特定の文字列を含むDATの内容にマッチするかどうかをフィルタリングすることができます。
また、指定されたコンポーネントから階層のある程度の深さまでしか見ないようにすることもできます。(例えば、2レベル下や無制限など)
大文字小文字を区別することも、区別しないこともできますが、大文字小文字を区別するOnまたはOffは、OP Find DATのすべての基準に適用されます。
さらに、添付のコールバックDATに含まれるコールバックでTrue of Falseを返すことにより、より特殊な基準を使用して一部のノードを除外できます。
Combine Filters Menuメニュー(AnyまたはAll、デフォルトはAll)を使用すると、パターンマッチングの基準に対して or または and を実行できます。
また、オペレータのリスト(例えば、別のOP Find DAT)を含むオプションのDATを取り、これを使ってフィルタを連鎖させることもできます。
出力にはname、id、paths、type、tagなど様々なカラムがあります。(idはオペレータのメンバーで、ノードに固有の整数で、TouchDesignerプロセスの実行中には変化しません)。
また、コールバックDATでカラム名を定義し、コールバックDATの別の関数を介してカラムセルを埋めることで、カスタムカラムを出力することもできます。例えば、ノードの tx パラメータの値をカスタムカラムとして出力することができます。
OP FindDATがいつcookするかを制御できます。通常、指定された階層内のノードのいずれかが変更されるたびにcookします。 Active Cookメニューパラメータを使用して、フレームごとに強制的にcookしたり、完全にオフにしたりすることもできます。
Active CookのPulseパラメーターをクリックして、一度強制的にcookするか、node.cookpulse.pulse()python コールを使用して同等の操作を行うこともできます。
OP Find DATは、開始すべきコンポーネントへのパスを与える代わりに、あらかじめ生成されたノードへのパスのリストを含む入力DATを受け取り、各入力行の結果を出力にマージすることができます。これを使用するには、入力DATの最初のカラムにノード “id “が含まれている必要があります。これは、「ID」という列がオンになっている別のOP Find DATで生成できます。
例えば、最初にパネルであるすべてのコンポーネントをリストアップし、次にタイプやCloneパラメータに基づいてグループに分けるとします。最初のOP Find DATでは、巨大な階層を少数のノードに事前にフィルタリングし、その後のOP Find DATでは、よりシンプルなセットで動作するため、チェックやcookの手間が省けます。
Operator SnippetsのサンプルやScript DATの章も参照してください。
DATをcookするのを有効にします。
OP Find DATを手動で強制的に更新します。
検索を開始するコンポーネントのパスを設定します。
OP Find DATが再帰的に検索するサブコンポーネントの最小深度を設定します。
Maximum Depthパラメータをオンにして、サブコンポーネントの検索を制限します。 このトグルをオフにすると、すべてのサブネットワークが検索されます。
OP Find DATが再帰的に検索するサブコンポーネントの最大深度を設定します。
このパラメータ ページでは、どのオペレータ ファミリーが検索に含まれるか設定します。
GeoCOMPのようなオブジェクトCOMPを検索に含めます。
Container COMPのようなパネルCOMPを検索に含めます。
Base COMPのようなその他のタイプのCOMPを検索に含めます。
TOPオペレータを検索に含めます。
CHOPオペレータを検索に含めます。
SOPオペレータを検索に含めます。
MATオペレータを検索に含めます。
DATオペレータを検索に含めます。
以下のパターンマッチングで、大文字と小文字の区別します。
以下のフィルタの All または Any を組み合わせて、一致するフィルタを取得します。
- All / all
検索結果に含まれるパラメータには、すべてのフィルタが一致している必要があります。(AND)
- Any / any
検索結果に含まれるパラメータには、フィルタ条件のいずれかを満たす必要があります。(OR)
wave1、wave2 などのオペレータ名を使用します。
waveCHOP や panelexecuteDAT のような名前を使用します。 Type列を見て、構文を確認してください。
オペレーターが配置されているパスを指定します。
オペレータが配置されている相対的な親パスを指定します。これは、この DAT の parent Path カラムのフィルタ・オプションで、Colums ページの Parent Path パラメーターをトグルすることで有効にすることができます。
検索対象から除外する相対パスを指定します。
ここで設定したコメント文字列を含むオペレータにのみマッチします。
ここで指定したタグに一致するオペレータのみにマッチします。複数のタグはスペースで区切ったリストとして検索することができます。
指定された文字列にマッチするDATオペレータのみをコンテンツに含めます。
指定されたパラメータ名を持つオペレータにのみマッチします。
指定されたパラメータ値に一致するオペレータのみマッチます。
指定されたパラメータ式の文字列にマッチするオペレータのみが含まれます。
デフォルト値以外のパラメータにのみマッチします。
このプロセスでノードを一意に定義する整数。 プロセスの期間中は同じ番号ですが、プロセスを再度実行すると異なる場合があります。
結果のテーブルにオペレータの名前を含めます。
結果のテーブルにオペレータの種類を含めます。例えば rampTOP のようになります。
結果のテーブルにオペレータのパスを含めます。
検索ルートからの相対的なオペレータのパスを結果のテーブルに含めます。
親のパスを含めます。
見つかったオペレータのルートパスに対する相対的な深さを示す列を含めます。
見つかったオペレータのクックタイムを含めます。
オペレータのタグを含めます。
受信した各イベントのコールバックを含む DAT のパス。使用法については opfindDAT_Class を参照してください。
ブーリアンロジック値の場合、値は’1’または’0’になります。このパラメータが Off の場合は、 True または False となります。
None の値の場合、値はEmptyに変換されます。
参照:共通 Common ページ