XSIFactory.CreateParamDef

導入

v4.0

詳細

新しいカスタムパラメータ定義を作成します(ParamDefオブジェクト)。

ParamDef オブジェクトには、複数のプロパティセットまたはオペレータの新規パラメータを 1度の操作で作成できるパラメータの定義があります。たとえば、同じ最小値/最大値の範囲を複製して複数のプロパティセットで使用する場合や、スクリプトを使用してランタイムスクリプトオペレータにパラメータをすばやく追加する場合などに有効です。XSIFactoryオブジェクトから新しいParamDef オブジェクトを作成できます。

注:単純なバージョンについては、「XSIFactory.CreateParamDef2」を参照してください。

スクリプト 構文

oReturn = XSIFactory.CreateParamDef( ScriptName, Type, [Classification], [Capabilities], [Name], [Description], [DefaultValue], [Min], [Max], [SuggestedMin], [SuggestedMax] );

戻り値

新しく作成されたParamDefオブジェクト

パラメータ

パラメータ タイプ 詳細
ScriptName String この引数はパラメータの ScriptName を指定します(Parameter.ScriptNameを参照)。引数のショート名またはロング名が指定されていない場合は、この名前がショート名および説明として使用されます。
siVariantType カスタムパラメータのタイプ。推奨タイプは siString、siBool、siInt4、siUByte、および SiDouble です。使用可能なタイプは、siString、siBool、siDouble、siFloat、siInt4、siInt2、siUInt4、siUInt2、siByte、siUByte です(Parameter.ValueTypeを参照)。
Classification siParamClassification カスタムパラメータの分類

デフォルト値: siClassifUnknown

Capabilities Integerを参照)に基づくビットフィールドsiCapabilities カスタムパラメータの機能。インスペクト不能のカスタムオペレータパラメータを作成すると、インターフェイスには表示されませんがスクリプトでは使用できます。このパラメータが読み取り専用の場合も、インターフェイスでは淡色表示されますが、スクリプトでは使用できます。

siPersistable フラグは省略可能で、すべてのカスタムパラメータに対して有効になりますsiPersistable フラグは、パラメータの全インスタンスに対してデフォルトの Capabilityパラメータを付与しますが、Parameter.Capabilitiesを使用するとインスタンスごとに siPersistable フラグが無効になります。

デフォルト値:siPersistable+siAnimatable

Name String ショートの、ユーザフレンドリなカスタムパラメータの名前のバージョン。このパラメータ名はシーン Explorer に表示されます(Show Script Namesが有効な場合は例外です)。この引数が指定されない場合、パラメータの名前は ScriptName になります(SIObject.NameおよびParameter.ScriptNameを参照)。

デフォルト値: ""

詳細 String カスタムパラメータの説明。指定すると、カスタムプロパティのインスペクト時にパラメータラベルに表示される名前が冗長になります。たとえば、パラメータのロング名はユーザに理解しやすい"Use Light Color as Energy"とし、通常の名前はスクリプトで扱いやすい"use_color"とすることができます(Parameter.Descriptionを参照)。

デフォルト値: ""

DefaultValue Variant カスタムパラメータのデフォルト値。ブール値および数値の場合のデフォルト値は 0で、文字列のデフォルト値は""です(Parameter.Defaultを参照)。
最小 Variant カスタムパラメータの最小値。siString タイプと siBool タイプでは Min値は不要です。その他の数値タイプでは、デフォルト値をそのタイプの最小値にすることができます。たとえば、すべての未署名値には min=0が設定されます(Parameter.Minを参照)。
最大 Variant カスタムパラメータの最大値。siString タイプと siBool タイプでは Max値は不要です。その他の数値タイプでは、デフォルト値をそのタイプの最小値にすることができます。たとえば、siUByte の最大値は 255です(Parameter.Maxを参照)。
SuggestedMin Variant カスタムパラメータの推奨最小値。siString タイプと siBool タイプでは SuggestedMin値は不要です。デフォルトの推奨最小値(数値)は、0です。推奨最小値には、最小値以上の値を指定してください。この値は、UIコントロールの範囲設定に使用されます(Parameter.SuggestedMinを参照)。
SuggestedMax Variant カスタムパラメータの推奨最大値。siString タイプと siBool タイプでは SuggestedMax値は不要です。デフォルトの推奨最大値(数値)は、100です。推奨最大値には、最大値以下の値を指定してください。この値は、UIコントロールの範囲設定に使用されます(Parameter.SuggestedMaxを参照)。

JScript の例

/*
        This example illustrates how to add parameters to a custom operator
*/
var null1 = GetPrim( "null" );
var sop = XSIFactory.CreateScriptedOp( "MySOP", MySOP_Update.toString(), "JScript" );
sop.AddOutputPort( null1.posx );
// String 
var paramdef1 = XSIFactory.CreateParamDef( "text", siString, 0, siAnimatable, "Text", "a text parameter", "the text...");
var param1 = sop.AddParameter( paramdef1 );
// Boolean
var paramdef2 = XSIFactory.CreateParamDef("bool", siBool, 0, siAnimatable, "Boolean", "a boolean parameter", true);
var param2 = sop.AddParameter( paramdef2 );
// Integer
var paramdef3 = XSIFactory.CreateParamDef("int", siInt4, 0, siAnimatable, "Integer", "a integer parameter", -1, -5, 5);
var param3 = sop.AddParameter( paramdef3 );
// Double 
var paramdef4 = XSIFactory.CreateParamDef("dbl", siDouble, 0, siAnimatable && siReadOnly, "Double", "a double parameter", 0.69, 0.1, 10.9);
var param4 = sop.AddParameter( paramdef4 );
// Connect operator
sop.Connect();
// List operator's parameters
var eParams = new Enumerator( sop.Parameters );
for ( ; !eParams.atEnd(); eParams.moveNext() )
{
        var param = eParams.item();
         Application.LogMessage( param.Name + " = " + param.Value );
}
function MySOP_Update( ctx, out )
{
        out.Value = ctx.CurrentFrame;
}

関連項目

XSIFactory.CreateParamDef2 CustomOperator.AddParameter Parameter