スクリプト オペレータでのプライベート ユーザ データを使用する
 
 
 

スクリプト オペレータ プリセットには、UpdateContext クラスの[UserData]プロパティの独自のプライベート データを保存する機能があります。

スクリプト オペレータ内では、[In_UpdateContext.UserData] を使用して[UserData]プロパティにアクセスできます。プライベート データはプリセット オペレータのインスタンスごとに個別にキャッシュされるため、Update メソッドでは同じオペレータの他のどのインスタンスにも影響を与えることなく、入力接続と変数値に基づき、[UserData]プロパティを変更できます。[UserData]プロパティは変数のため、配列およびコレクションを含む任意の値のタイプを保存する場合に使用できます。

[UserData]プロパティと併せて使用する方法は 2 つあります。

たとえば、Init メソッドにより SpreadSheet のような ActiveX オブジェクトのインスタンスを作成し、In_UpdateContext.UserData に保存します。その後、Update メソッドで、このデータを使用および変更します。さらに、Term メソッドを使用して、変更済みの SpreadSheet を保存します。これで、独自のシミュレーションを作成し、結果を保存できます。

Init および Term プロシージャを作成する

Scripted Operator Editor の下のペインに直接、Init および Term 関数を記述できます。これらの関数には、Softimage が UpdateContext オブジェクトへのポインタに渡すために使用する 1 つの引数が必要です。

UpdateContext でサポートされるプロパティとメソッドについては、「UpdateContext」(『SDK ガイド』)を参照してください。

VBScript の sub Init および sub Term プロシージャの例を以下に示します。

Sub Init (InUC)
  LogMessage "Initializing scripted operator..."
End Sub
Sub Term (InUC)
  LogMessage "Terminating scripted operator..."
End Sub