
v3.0
Returns the suggested minimum value (Variant) for the parameter. A parameter
can have two separate ranges: the Min/Max which defines the entire
range of legal values; and the Suggested Minimum/Suggested Maximum
which defines a sub-range of the Min/Max that make the most
sense.
For example, an enormous number of subdivisions may theoretically
be possible on a geometry, but for performance reasons a smaller
range can be suggested to the user. The Suggested Min/Max values
are used when determining the slider ranges for controls when
parameters are inspected.
This property is only valid for numeric parameters. Other variant
types, for example siString (see siVariantType) do not have the concept of
Minimum or Maximum.
// get accessor Object rtn = Parameter.SuggestedMin; |
'
' This example demonstrates how the Suggested Min and Max of a parameter can
' be useful for animating a parameter.
'
NewScene , false
' Set up a custom property set with some numeric values
set oRoot = Application.ActiveProject.ActiveScene.Root
set oPropSet = oRoot.AddProperty("Custom_parameter_list",,"TestRanges")
oPropSet.AddParameter "Var1", siDouble,,siPersistable OR siAnimatable
oPropSet.AddParameter "Var2", siUByte,,siPersistable OR siAnimatable
oPropSet.AddParameter "Var3", siInt4,,siPersistable OR siAnimatable
oPropSet.AddParameter "Comment", siString
' Animate all the parameters
for each oProp in oPropSet.Parameters
AnimateOverSuggestedRange oProp
next
InspectObj oPropSet
' This routine animates a parameter between suggested Min and suggested Max between the
' Frames 1 and 100
sub AnimateOverSuggestedRange( in_Parameter )
' We only try to animate numeric parameters
if ( in_Parameter.ValueType = siInt4 OR _
in_Parameter.ValueType = siDouble OR _
in_Parameter.ValueType = siUByte OR _
in_Parameter.ValueType = siFloat ) then
SetKey in_Parameter.FullName, 1, in_Parameter.SuggestedMin
SetKey in_Parameter.FullName, 100, in_Parameter.SuggestedMax
end if
end sub
' Expected results:
'SetKey "TestRanges.Var1", 1, 0.5
'SetKey "TestRanges.Var1", 100, 0.6
'SetKey "TestRanges.Var2", 1, 10
'SetKey "TestRanges.Var2", 100, 30
'SetKey "TestRanges.Var3", 1, -100
'SetKey "TestRanges.Var3", 100, 9999
|