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を参照)。 |
/* 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; } |