Tips

[Plugin API] 2次元配列のタイプを検出

日付2002/01/11
ID01-814
バージョン6.7.5 specific
プラットフォームWindows and Mac OS

現在、4D 6.7.x APIは2-次元の配列を支援しません。近い将来に、これはもはやそうになりません。しかし、開発者が2D配列のタイプを返したければ、この情報を検索するAPI機能は現在ありません。Thibaud Arguillereは、配列のゼロの要素の値の決定により、2-D配列のタイプを返す包み紙を書きました。4Dでは、配列がすべて0要素を含んでいます。したがって、この値のチェックによって、開発者は、配列のタイプをチェックすることができます。


PA_VariableKind wrapPA_Get2DArrayKind(PA_Variable array2D);

PA_VariableKind wrapPA_Get2DArrayKind(PA_Variable array2D)
{
PA_VariableKind kind = eVK_Undefined;
PA_Handle dataOfArray2D; // for code readibility

if(PA_GetVariableKind(array2D) == eVK_ArrayOfArray)
{
dataOfArray2D = array2D.uValue.fArray.fData;
if(dataOfArray2D)
{
kind = (PA_VariableKind) ((PA_Variable *)
*dataOfArray2D)->fType; // this is element 0. There is always an
element
}
}

return kind;

} /* wrapPA_Get2DArrayType */

In the core of our plug-in we would call the Wrapper function like so:

// ...code...
PA_Variable v;
PA_VariableKind kindOfArray;

v = PA_GetVariableParameter(params, 1);

kindOfArray = wrapPA_Get2DArrayKind(v); // make a call to the wrapper
// ...code...

返すことができるプラグインのコードの中でこのカバー機能を使用すること、2-D配列のタイプ。4Dでは、単に配列(PA_Variable)をプラグインへ渡すでしょう。