XSIFactory.CreateParamDef2

導入

v4.0

詳細

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

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

注:特性、分類、提示される最小値および最大値を指定する必要がある場合は、代わりに XSIFactory.CreateParamDef を使用します。

C#構文

ParamDef XSIFactory.CreateParamDef2( String in_ScriptName, siVariantType in_Type, Object in_default, Object in_Min, Object in_Max );

スクリプト構文

oReturn = XSIFactory.CreateParamDef2( ScriptName, Type, [DefaultValue], [Min], [Max] );

戻り値

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

パラメータ

パラメータ タイプ 説明
ScriptName String この引数はパラメータの ScriptName を指定します(Parameter.ScriptName を参照)。引数のショート名またはロング名が指定されていない場合は、この名前がショート名および説明として使用されます。
Type siVariantType カスタムパラメータのタイプ。推奨タイプは siString、siBool、siInt4、siUByte、および SiDouble です。使用可能なタイプは、siString、siBool、siDouble、siFloat、siInt4、siInt2、siUInt4、siUInt2、siByte、siUByte です(Parameter.ValueType を参照)。
DefaultValue Variant カスタムパラメータのデフォルト値。ブール値および数値の場合のデフォルト値は 0 で、文字列のデフォルト値は""です(Parameter.Default を参照)。
Min Variant カスタムパラメータの最小値。siString タイプと siBool タイプでは Min 値は不要です。その他の数値タイプでは、デフォルト値をそのタイプの最小値にすることができます。たとえば、すべての未署名値には min=0 が設定されます(Parameter.Min を参照)。
Max Variant カスタムパラメータの最大値。siString タイプと siBool タイプでは Max 値は不要です。その他の数値タイプでは、デフォルト値をそのタイプの最小値にすることができます。たとえば、siUByte の最大値は 255 です(Parameter.Max を参照)。

JScript の例

// This example illustrates how to add parameters to a custom operator

NewScene( null, false )

var null1 = GetPrim("null");

// Create the operator

var sop = XSIFactory.CreateScriptedOp( "MySOP", MySOP_Update.toString(), "JScript" );

// Add the ports

sop.AddOutputPort( null1.posx );

// Add the parameters

var param1 = sop.AddParameter( XSIFactory.CreateParamDef2("text", siString, "hello") );

var param2 = sop.AddParameter( XSIFactory.CreateParamDef2("bool", siBool, true) );

var param3 = sop.AddParameter( XSIFactory.CreateParamDef2("int", siInt4, 10, 0, 100) );

var param4 = sop.AddParameter( XSIFactory.CreateParamDef2("dbl", siDouble, 0.5, 0.0, 1.0) );

// 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 );

}

// Connect the operator

sop.Connect();

// Operator's update function

function MySOP_Update( ctx, out )

{

	out.Value = ctx.CurrentFrame;

}

関連項目

CustomOperator.AddParameter, ParamDef