Enableable Parameters

An enableable parameter group is a parameter that has a default value, but can also take on a locally set value. The local value is used when the enableable parameter group is enabled.

In order to manipulate this type of parameter through a script it’s important to understand that the enableable parameter group is a group parameter with four children:

value
String, string array, number, or number array - The value to be assigned to the corresponding attribute when the parameter group is enabled. Updated with value entered through the UI.
enable
Number - Defines whether the parameter is enabled or not. When enabled, the parameter takes on value, and when disabled in takes on default.
default
String, string array, number, or number array - The default parameter value.
__hints
String - Metadata telling the UI how to display this parameter group.

To modify an enableable parameter group, access the individual child parameters. For example, create a RenderSettings node, then edit the parameter for camera name to set a local value, and enable it:

# Get the root node
rootNode = NodegraphAPI.GetRootNode()

# Create a RenderSettings node
renderSettingsNode = NodegraphAPI.CreateNode('RenderSettings', rootNode)

# Get the value and enable parameters from the cameraName group parameter
cameraNameValue = renderSettingsNode.getParameter('args.renderSettings.cameraName.value')
cameraNameEnable = renderSettingsNode.getParameter('args.renderSettings.cameraName.enable')

# Change the name
cameraNameValue.setValue("/root/world/cam/myCamera", time = 0)

# Enable the parameter
cameraNameEnable.setValue(float(True), time = 0)