OP Find DAT

概要

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の章も参照してください。

パラメータ – Component ページ
Active Cook / activecook

DATをcookするのを有効にします。

Cook Pulse / cookpulse

OP Find DATを手動で強制的に更新します。

Component / component

検索を開始するコンポーネントのパスを設定します。

Minimum Depth / mindepth

OP Find DATが再帰的に検索するサブコンポーネントの最小深度を設定します。

Limit Max Depth / limitmaxdepth

Maximum Depthパラメータをオンにして、サブコンポーネントの検索を制限します。 このトグルをオフにすると、すべてのサブネットワークが検索されます。

Maximum Depth / maxdepth

OP Find DATが再帰的に検索するサブコンポーネントの最大深度を設定します。

パラメータ – Families ページ

このパラメータ ページでは、どのオペレータ ファミリーが検索に含まれるか設定します。

Object COMPs / objects

GeoCOMPのようなオブジェクトCOMPを検索に含めます。

Panel COMPs / panels

Container COMPのようなパネルCOMPを検索に含めます。

Other COMPs / other

Base COMPのようなその他のタイプのCOMPを検索に含めます。

TOPs / tops

TOPオペレータを検索に含めます。

CHOPs / chops

CHOPオペレータを検索に含めます。

SOPs / sops

SOPオペレータを検索に含めます。

MATs / mats

MATオペレータを検索に含めます。

DATs / dats

DATオペレータを検索に含めます。

パラメータ – Filters ページ
Case Sensitive / casesensitive

以下のパターンマッチングで、大文字と小文字の区別します。

Combine Filters / combinefilters

以下のフィルタの All または Any を組み合わせて、一致するフィルタを取得します。

  • All / all
    検索結果に含まれるパラメータには、すべてのフィルタが一致している必要があります。(AND)
  • Any / any
    検索結果に含まれるパラメータには、フィルタ条件のいずれかを満たす必要があります。(OR)
Name / namefilter

wave1、wave2 などのオペレータ名を使用します。

Type / typefilter

waveCHOP や panelexecuteDAT のような名前を使用します。 Type列を見て、構文を確認してください。

Path / pathfilter

オペレーターが配置されているパスを指定します。

Parent Path (relative) / parentfilter

オペレータが配置されている相対的な親パスを指定します。これは、この DAT の parent Path カラムのフィルタ・オプションで、Colums ページの Parent Path パラメーターをトグルすることで有効にすることができます。

Exclude Path (relative) / excludefilter

検索対象から除外する相対パスを指定します。

Comment / commentfilter

ここで設定したコメント文字列を含むオペレータにのみマッチします。

Tags / tagsfilter

ここで指定したタグに一致するオペレータのみにマッチします。複数のタグはスペースで区切ったリストとして検索することができます。

DAT Text / textfilter

指定された文字列にマッチするDATオペレータのみをコンテンツに含めます。

Par Name / parnamefilter

指定されたパラメータ名を持つオペレータにのみマッチします。

Par Value / parvaluefilter

指定されたパラメータ値に一致するオペレータのみマッチます。

Par Expression / parexpressionfilter

指定されたパラメータ式の文字列にマッチするオペレータのみが含まれます。

Par Non-Default Only / parnondefaultonly

デフォルト値以外のパラメータにのみマッチします。

パラメータ – Columns ページ
ID / idcol

このプロセスでノードを一意に定義する整数。 プロセスの期間中は同じ番号ですが、プロセスを再度実行すると異なる場合があります。

Name / namecol

結果のテーブルにオペレータの名前を含めます。

Type / typecol

結果のテーブルにオペレータの種類を含めます。例えば rampTOP のようになります。

Path / pathcol

結果のテーブルにオペレータのパスを含めます。

Relative Path / relpathcol

検索ルートからの相対的なオペレータのパスを結果のテーブルに含めます。

Parent Path / parentpath

親のパスを含めます。

Depth / depthcol

見つかったオペレータのルートパスに対する相対的な深さを示す列を含めます。

Cook Times / cooktimescol

見つかったオペレータのクックタイムを含めます。

Tags / tagscol

オペレータのタグを含めます。

パラメータ – Callbacks ページ
Callbacks DAT / callbacks

受信した各イベントのコールバックを含む DAT のパス。使用法については opfindDAT_Class を参照してください。

Convert Bool to Int / convertbool

ブーリアンロジック値の場合、値は’1’または’0’になります。このパラメータが Off の場合は、 True または False となります。

Convert None to Empty / convertnone

None の値の場合、値はEmptyに変換されます。

パラメータ – Common ページ

参照:共通 Common ページ