レガシー プラグインは特定の関数を公開し、これにより Softimage は実装ライブラリ ファイルと通信することができます。 これらの callback 関数は、Softimage で正しく機能するように正しい名前とパラメータ シグネチャが指定されていなければなりません。 このセクションでは、サポートされるレガシー プラグインタイプごとに特定のシグネチャについて説明します(自己インストール プラグインのシグネチャについては、「自己インストール プラグインのコールバック」を参照)。
Linux では、関数が .SO から自動的に書き出されます。 Windows では、DEF ファイルで明示的に書き出される代わりに XSIPLUGINCALLBACK マクロを使用できます。
イベント コールバック
XSIOnEventCPPコールバック関数を使ってイベントハンドラを宣言するには
DLL または SO ファイルに関数を実装する必要があります。
XSIPLUGINCALLBACK XSI::CStatus XSIOnEventCPP( long in_eventID, XSI::CValueArray& in_args);
パラメータ
|
詳細
|
in_eventID
|
処理対象イベント ID
|
in_args
|
この指定イベントの引数の配列
|
イベント ハンドラ関数を書き出すには(Windows)
DLL から関数を書き出すには、次のように関数定義に XSIPLUGINCALLBACK マクロを追加します。 Windows では、このマクロは次のように解決されます。
extern "C" __declspec(dllexport)
Linux の場合は、次のように解決されます。
XSIPLUGINCALLBACK マクロは、sicppsdk.h で定義されます。
コマンド コールバック
XSIOnCommandCPPコールバック関数を使ってコマンドハンドラを宣言するには
DLL または SO ファイルに関数を実装する必要があります。
XSIPLUGINCALLBACK XSI::CStatus XSIOnCommandCPP( const XSI::CString& in_name, XSI::CValueArray& in_args, XSI::CValue& out_value);
パラメータ
|
詳細
|
in_name
|
コマンド名
|
in_args
|
この指定コマンドの引数の配列
|
out_value
|
戻り値
|
注:
Softimage v4.0 以降では、カスタム コマンドを自己インストール プラグインとして完全に実装できます。これは現在推奨されている方法です(自己インストール コマンド プラグインの実装手順の詳細は、「カスタム コマンド」を参照)。 この方法は、「v1.0 プラグイン タイプ」と呼ばれ、完全にサポートされています。
コマンド ハンドラ関数を書き出すには(Windows)
DLL から関数を書き出すには、次のように関数定義に XSIPLUGINCALLBACK マクロを追加します。 Windows では、このマクロは次のように解決されます。
extern "C" __declspec(dllexport)
Linux の場合は、次のように解決されます。
XSIPLUGINCALLBACK マクロは、sicppsdk.h で定義されます。