ShaderArrayParamDef.ItemDef operator

導入

v9.0 (2011)

カテゴリ

ICE シェーダ

詳細

この配列項目の基になるShaderParamDefまたはShaderStructParamDefオブジェクトを戻します。

これは既存のシェーダ定義に問い合わせてそのパラメータ定義に関する情報を調べたい場合に使用できます。たとえば、ブール値の配列として定義されているパラメータを見つけるツールを記述する場合に使用します。以下の例は、構造の配列に問い合わせてそのサブタイプを調べる方法を示しています。

Python の例

#
# 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

関連項目

ShaderArrayParameter