自己インストール プラグインは、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 によって割り当てられたリソースをクリーンアップできます。