User guide

175
Dynamic Arrays for PRMan Shader Parameters
Katana has a widget type dynamicArray, which was added to support PRMan shaders with dynamic array
parameters. Unlike the other array types listed in Widget Types, dynamicArrays cannot be created as User
Parameters on nodes through the UI wrench menu.
NOTE: The Arnold plug-in for Katana currently only supports array parameters of type AI_TYPE_POINTER
(arbitrary pointer). Support for specific types of array parameter values will be added in a future release.
The following Nodegraph API functions apply to dynamic arrays, as well as groups:
reorderChild( )
Moves an array child parameter. Takes two arguments, the child parameter to move, and the index position to move
to. For example:
arrayParameter.reorderChild(
arrayParameter.getChildByIndex( 1 ), 0 )
reorderChildren( )
Moves a given number of child elements in an array, starting at a specified index, moving to a specified index. Takes
three arguments - all ints - giving the index to start at, the index to move to, and the number of elements to move.
removeArrayElement( )
Removes a single element from an array. Takes a single argument - an int - giving the index position in the array to
remove.
removeArrayElements( )
Removes a given number of elements from an array, starting at a given index. Takes two arguments - both ints -
giving the index to start at and the number of elements to remove.
23 NODEGRAPH API | DYNAMIC ARRAYS FOR PRMAN SHADER PARAMETERS