Object Hierarchy | 関連する C++クラス:CustomOperator
CustomOperator
v4.0
CustomOperator オブジェクトは、ユーザが定義したカスタムオペレータです。このオペレータは、次のいずれかの方法で作成されました。
- Scripted Operator Editor で
- 自己インストール カスタム オペレータとして
- スクリプトを実行するという一度の操作で(「ランタイム」カスタム オペレータ)
自己インストール カスタム オペレータは、Plugin 内で定義されており、カスタム オペレータを作成するための推奨方法です。ランタイムオペレータはまだサポートされていますが、別のコールバック変換が用意されており、オペレータの実装全体がシーンファイルに埋め込まれています。ランタイムオペレータの詳細については、AddScriptedOp および XSIFactory.CreateScriptedOp を参照してください。
v 5.1以前は、カスタムオペレータはプリセットまたは SPDL ファイルに基づいて作成されていました。この方法はまだレガシー機能としてサポートされていますが、現在は代わりに自己インストールカスタムオペレータを使用することが推奨されています。
スクリプトから自己インストールカスタムオペレータを構築する最も簡単な方法は、Parameter.AddCustomOp コマンド(または同様の ProjectItem.AddCustomOp および AddCustomOp メソッド)を使用することです。
このオブジェクトのメソッドを使用してカスタムオペレータを構築することもできます。ほとんどのオペレータには 1 つの出力オブジェクト(1 つの OutputPort によって表される)のみが含まれ、入力(InputPort で表される)がある場合もあります。オペレータがデフォームスタイルのオペレータの場合、同じオブジェクトに入力と出力の両方が含まれる場合があります。出力ポートは入力ポートの前に(または CustomOperator.AddIOPort を使用して)追加される必要があります。ほとんどのオペレータには、自動的に作成される 1 つの PortGroup が必要です。一般的なオペレータはすべて、次のメソッドで定義できます。
- XSIFactory.CreateObject
- CustomOperator.AddInputPort
- CustomOperator.AddOutputPort
- XSIFactory.CreateParamDef
- CustomOperator.AddParameter
- Operator.Connect
より高度なオペレータ、特にオペレータの作成後にオブジェクトに動的に接続するオペレータも、PortGroup の概念を使用して、定義されたとおりにポートをグループに整理します。これらのオペレータは、CustomOperator.AddPortGroup、Operator.ConnectToGroup、および CustomOperator.AddInputPortByClassID に依存します。
X3DObjectやKinematicsなどの特定のオブジェクトは、カスタムオペレータに接続されないように明示的にブロックされます。オペレータは、これらのオブジェクトに接続する代わりに、これらのオブジェクトの下の特定のデータ(Primitive、Property、または KinematicState)に接続する必要があります。
自己インストールカスタムオペレータの実際のアルゴリズムは、Update コールバックに実装されます。ランタイムオペレータと異なり、OperatorContextオブジェクトである1 つの引数を取ります。他のコールバックには、Define、DefineLayout、Init、Term、および PPG ロジック コールバック(C# の PPGEvent および OnClicked、OnInit、および OnTab)があります。
詳細については、「the Custom Operators topic」を参照してください。