自己インストール プラグインは、XSILoadPlugin という名前の関数を実装するスクリプト ファイルまたはコンパイルされた .dll/.so です。
Softimage を起動すると、Application¥Plugins などの特定のフォルダで、XSILoadPlugin を実装するプラグインが検索されます。 Softimage は、自己インストールするプラグインを発見すると、プラグインをロードして、その XSILoadPlugin 関数を呼び出します。
XSILoadPlugin は、いくつかのプラグインプロパティ(プラグインの名前やヘルプ ファイルの格納場所など)を設定してから、プラグインが実装する項目を登録します。 プラグイン項目には、コマンド、イベント、フィルタ、メニュー、プロパティだけでなく、カスタム ディスプレイ、ビューポート モード、ビューポート コールバック(グラフィック シーケンサ)があります。
たとえば、この XSILoadPlugin はコマンドとメニューを登録します。
// JScript function XSILoadPlugin( in_pluginRegistrar ) { in_pluginRegistrar.Author = "Command Wizard"; in_pluginRegistrar.Name = "My Commands"; // Register command in_pluginRegistrar.RegisterCommand("MyCommand","MyCommand"); // Register a custom menu in_pluginRegistrar.RegisterMenu( siMenuMainHelpID, "MyHelp_Menu", false, false ); in_pluginRegistrar.RegisterMenu(siMenuTbGetPropertyID,"MyProperty_Menu",false,false); return true; }
XSILoadPlugin で登録されるプラグイン項目ごとに、自己登録するプラグインは複数のコールバック関数も実装します。 たとえば、プラグインが "MyCommand" という名前のコマンドを登録する場合、プラグインは、Execute コールバックと、おそらくは Init コールバックも、コマンドに対して提供します。
// JScript // Init and Execute callbacks for the custom command named "MyCommand" function MyCommand_Init() { // Add arguments to the command } function MyCommand_Execute() { // Implement the command }
自己インストールするプラグインは、XSIUnloadPlugin 関数も実装できます。 Softimage はプラグインのアンロード時に常にXSIUnloadPlugin を呼び出します(たとえば、プラグイン マネージャを使ってアンロードする場合や Softimage を終了する場合)。 XSIUnloadPlugin を使用すると、XSILoadPlugin によって割り当てられたリソースをクリーンアップできます。