CustomProperty.AddParameterFromDef

導入

v5.0

詳細

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

C#構文

Parameter CustomProperty.AddParameterFromDef( ParamDef in_pParamDef );

スクリプト構文

oReturn = CustomProperty.AddParameterFromDef( ParamDef );

戻り値

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

パラメータ

パラメータ タイプ 説明
ParamDef ParamDef 新しいパラメータ定義

JScript の例

/*

	This example illustrates how to create parameters from a parameter definition.

*/

var o = ActiveSceneRoot.AddCustomProperty("MyProperty");

var param1 = o.AddParameterFromDef(XSIFactory.CreateParamDef2("text", siString, "text string"));

var param2 = o.AddParameterFromDef(XSIFactory.CreateParamDef2("bool", siBool, true));

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

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

var param5 = o.AddParameterFromDef(XSIFactory.CreateFCurveParamDef("fc"));

var param6 = o.AddParameterFromDef(XSIFactory.CreateGridParamDef("grid"));

// list parameters

var eParams = new Enumerator(o.parameters);

for ( ; !eParams.atEnd(); eParams.moveNext() )

{

	var param = eParams.item();

	var strVal = ""+param.value;

	logmessage( param.name + ", " + vt2string(param.valuetype) + ", " + (strVal=="" ? "none" : strVal) );

}

//INFO : Name, wide string, MyProperty13

//INFO : text, string, text string

//INFO : bool, boolean, true

//INFO : int, long, 10

//INFO : dbl, double, 0.5

//INFO : fc, object, FCurve

//INFO : grid, object, none

function vt2string( vt )

{

	switch ( vt )

	{

		case siInt4 : return "long";

		case siDouble : return "double";

		case siString  : return "string";

		case siBool : return "boolean";

		case siUnknown : return "object";

		case siWStr : return "wide string";

		default : return vt;	

	}	

}

関連項目

XSIFactory.CreateParamDef XSIFactory.CreateParamDef2 XSIFactory.CreateFCurveParamDef XSIFactory.CreateGridParamDef