ShaderArrayParamDef.ItemDef operator

導入

v9.0 (2011)

詳細

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

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

注: このメソッドは Python で無効なオブジェクトを戻す可能性があります。代わりに ShaderArrayParamDef.ItemDef2 を使用してください。

C#構文

// get accessor

ShaderParamDef rtn = ShaderArrayParamDef.ItemDef;

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.ItemDef2

			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