シーンの階層構造をたどるときの相対的な名称 (スクリプト)
ブラウザのシーン構造では、
個々の形状の相対的な位置はそれぞれ名称がついています。
スクリプトやプラグインで形状をたどる場合も、この名称で指定することになります。
親形状は「dad」(もしくはparent)、次の形状は「bro」、1つ前の形状は「sis」、子の番兵(sentinel)形状は「son」と呼ばれます。
以下は、ブラウザで選択された形状のdad(parent)/bro/sis/sonを表示するスクリプトです。
scene = xshade.scene()
shape = scene.active_shape()
if shape.has_dad:
print( "親形状 : " + shape.dad.name )
if shape.has_bro:
print( "次の形状 : " + shape.bro.name )
if shape.has_sis:
print( "前の形状 : " + shape.sis.name )
if shape.has_son:
# 子の一番先頭を取得.
shape2 = shape.son.bro
print( "子の先頭形状 : " + shape2.name )
ルートパートを選択している状態で「shape.dad」を呼ぶとNoneが返ります。
次の形状が存在しない状態で「shape.bro」を呼ぶとNoneが返ります。
前の形状が存在しない状態で「shape.sis」を呼ぶとNoneが返ります。
子形状が存在しない状態で「shape.son」を呼ぶとNoneが返ります。
「shape.son」は、子形状が存在する場合は「番兵」の形状が返されます。
これはセンチネル(sentinel)と呼ばれ、ブラウザには表示されない形状です。
「shape.son.bro」で先頭の子形状を取得することになります。