自己インストール プラグインは、コマンド、イベント、フィルタ、メニュー、シェーダ、およびプロパティを実装できます。 C++ プラグインは、カスタム ディスプレイ、ビューポート モードとビューポート コールバック、およびレンダリングエンジンを実装することもできます。
プラグインには複数のプラグイン項目を含めることができます。 たとえば、コマンド、そのコマンドを実行するメニュー、メニューの利用可能時にコントロールするフィルタ、プラグインのユーザ インタフェースとして機能するカスタム プロパティなどです。
XSILoadPlugin で、PluginRegistrar または PluginRegistrar メソッドを使用して、次のプラグイン項目を登録します。
PluginRegistrar.RegisterCommand または PluginRegistrar::RegisterCommand
PluginRegistrar.RegisterConverterEvent または PluginRegistrar::RegisterConverterEvent
PluginRegistrar.RegisterEvent または PluginRegistrar::RegisterEvent
PluginRegistrar.RegisterFilter または PluginRegistrar::RegisterFilter
PluginRegistrar.RegisterMenu または PluginRegistrar::RegisterMenu
PluginRegistrar.RegisterOperator または PluginRegistrar::RegisterOperator
PluginRegistrar.RegisterProperty または PluginRegistrar::RegisterProperty
PluginRegistrar.RegisterShader または PluginRegistrar::RegisterShader
PluginRegistrar.RegisterShaderLanguageParser または PluginRegistrar::RegisterShaderLanguageParser
PluginRegistrar.RegisterTimerEvent または PluginRegistrar::RegisterTimerEvent
C++ プラグインの場合は、次の PluginRegistrar メンバ関数を使用して、カスタム ディスプレイ、ディスプレイ パス、およびディスプレイ コールバックを登録できます。
たとえば、次の XSILoadPlugin は、コマンド、メニュー、プロパティ、およびイベントを登録します。
// JScript function XSILoadPlugin( oPluginRegistrar ) { // Register command var oPluginItem = oPluginRegistrar.RegisterCommand("MyCommand","MyCommand"); // Register a custom property oPluginRegistrar.RegisterProperty( "MyProperty" ); // Register an event handler for changes to the selection list oPluginRegistrar.RegisterEvent( "MySelectionChangeHandler", siOnSelectionChange ); return true; }
デフォルトでは、プラグイン項目のヘルプとして、このプラグインヘルプが使用されます。プラグインごとに別のヘルプを提供する場合は、SIObject.Help または PluginItem::PutHelp を使用すると、ヘルプ ファイル名の指定およびオプションでその格納場所の指定を行うことができます。
// JScript function XSILoadPlugin( oPluginRegistrar ) { // ... var oPluginItem = oPluginRegistrar.RegisterCommand("MyCommand","MyCommand"); oPluginItem.Help = XSIUtils.BuildPath( in_reg.OriginPath, "Doc", "MyCommand.html" ); oPluginItem.Categories = "Example, Command"; // ... }