v9.0 (2011)
Returns the underlying ShaderParamDef or ShaderStructParamDef object for this array item.
You can use this when you want to query an existing shader definition to find out information about its parameter definitions.
For example, if you are writing a tool to find a parameter defined as an array of booleans. The example below demonstrates
using this to query an array of structures to find its sub types.
Note: This method could return an invalid object in python, use ShaderArrayParamDef.ItemDef2 instead.
// get accessor ShaderParamDef rtn = ShaderArrayParamDef.ItemDef; |
# # This example goes through the list of shader definitions in Softimage, # looks for arrays of structures and prints the parameter names as well # as the ProgID of the owning shader definition # from win32com.client import constants as si app = Application app.NewScene("", 0) for shaderdef in app.ShaderDefinitions : for paramdef in shaderdef.InputParamDefs.Definitions : if paramdef.IsArray : underlying = paramdef.ItemDef if underlying.IsStructure : app.LogMessage("Found an array of structures for %s in %s" % (paramdef.Name, shaderdef.ProgID)) # Expected results: # INFO : Found an array of structures for lights in Softimage.material-phong.1.0 # INFO : Found an array of structures for Lights in Softimage.Bionic_Volume_vol.1.0 # INFO : Found an array of structures for lights in Softimage.material-lambert.1.0 # INFO : Found an array of structures for scatter_lights_input in Softimage.March_Fractal_vol.1.0 # INFO : Found an array of structures for shadow_lights_input in Softimage.March_Fractal_vol.1.0 # INFO : Found an array of structures for trans_model in Softimage.March_Fractal_vol.1.0 |