CreateParamDef2 (XSIFactory)
Introduced
4.0
Description
Creates a new custom parameter definition (ParamDef object).
ParamDef objects contain the definition of a parameter from which you can create new parameters on the fly for one or more property sets or operators. For example, you may want to use a double with the same min/max range and use it on multiple property sets or you may simply want a quick way to add parameters to a runtime scripted operator via scripting. You can create New ParamDef objects from the XSIFactory object.
Note: If you need to specify capabilities, classification, or suggested minimum and maximum values, use XSIFactory.CreateParamDef instead.
Scripting Syntax
XSIFactory.CreateParamDef2( ScriptName, Type, [DefaultValue], [Min], [Max] )
C# Syntax
ParamDef XSIFactory.CreateParamDef2( String in_ScriptName, siVariantType in_Type, Object in_default, Object in_Min, Object in_Max );Parameters
|
Parameter |
Type |
Description |
|
ScriptName |
This argument specifies the ScriptName of a parameter (see Parameter.ScriptName). If the short name or long name arguments are not specified then this name is also used as the short name and description. |
|
|
Type |
Type of the custom parameter. The recommended types are: siString, siBool, siInt4, siUByte, and siDouble. The supported types are: siString, siBool, siDouble, siFloat, siInt4, siInt2, siUInt4, siUInt2, siByte, siUByte (see Parameter.ValueType). |
|
|
DefaultValue |
Default value of the custom parameter. A default value for numerical values (including boolean) is 0; the string default is "" (see Parameter.Default). |
|
|
Min |
Minimum value of the custom parameter. The types siString and siBool do not require a Min value. For all other numerical types the default is the minimum value possible for the type. For example, all unsigned values have a minimum value of 0 (see Parameter.Min). |
|
|
Max |
Maximum value of the custom parameter. The types siString and siBool do not require a Max value. For all other numerical types the default is the minimum value possible for the type. For example, the maximum value for siUByte is 255 (see Parameter.Max) |
Return Value
The newly created ParamDef object.
Examples
JScript Example
// 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; }
See Also
Autodesk Softimage v7.5