
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 |