v1.0
入力コレクション内のすべてのノードで構成される XSICollection だけでなく、展開するとノードメンバで構成されるノード選択を表示するブランチ選択も戻します。
注: ノード選択された SelectionList 引数をオブジェクト(またはオブジェクトリスト)に使用する場合、コマンドは指定されたオブジェクト(またはオブジェクトリスト)のみに戻します。 たとえば、オブジェクトがブランチ選択されていない場合は展開できません。
ヒント: 「BRANCH」にブランチ フラグを設定するには、SelectObj コマンドを使用して SelectionMode パラメータを「BRANCH」に設定し、SelectionList を取得するか、またはブランチ選択したいオブジェクトの名前に「B:」のプリフィックスを付けます。
oReturn = SelectChildNodes( [SelectionList], [AffectSelectionList], [CheckObjectSelectability] ); |
展開されたオブジェクトセットを含む XSICollection を戻します。
パラメータ | タイプ | 説明 | ||||||
---|---|---|---|---|---|---|---|---|
SelectionList | 文字列 |
展開する 3D オブジェクトのリスト。 デフォルト値: 現在選択されている値 |
||||||
AffectSelectionList | Boolean |
展開されたオブジェクトを選択し、コレクションとして戻す場合は True、選択対象を変更せずに展開されたオブジェクトのコレクションを戻す場合は False デフォルト値: True |
||||||
CheckObjectSelectability | Boolean |
選択不可としてマーキングされたオブジェクトを選択するかどうかを指定します。 デフォルト値: False
|
'************************************************************ ' This script demonstrates how to use SelectChildNodes ' expands branch items but leaves node items intact. '************************************************************ ' Get the scene root in node ExpandNodes ActiveSceneRoot LogMessage vbLf & "------------------------------------------" ' Now get the root in branch (it's exactly the same object, ' except that the branch flag is set to BRANCH). ExpandNodes "B:" & ActiveSceneRoot function ExpandNodes( in_object ) ' Clear the selection list DeselectAll ' Expand the object as an XSICollection Set oFamily = SelectChildNodes( in_object ) ' Iterate over the collection to get each member for each oItem in oFamily ' If the object was node-selected only, we get a ' collection of one item. If it was branch-selected, ' we get any object in the branch. Application.LogMessage oItem.FullName next end function '************************************************************ ' Output of above script: 'DeselectAll 'SelectChildNodes "Scene_Root" 'INFO : "Scene_Root" 'INFO : " '------------------------------------------" 'DeselectAll 'SelectChildNodes "B:Scene_Root" 'INFO : "Scene_Root" 'INFO : "Camera_Root" 'INFO : "Camera" 'INFO : "Camera_Interest" 'INFO : "light" '************************************************************ |
'************************************************************ ' This script demonstrates how to use SelectChildNodes ' to expand the current selection list. Notice that ' the item to be expanded has to be branch-selected ' in order for SelectChildNodes to work properly. '************************************************************ ' Set up a cube to work with CreatePrim "Cone", "MeshSurface", "Mom" CreatePrim "Cube", "MeshSurface", "Junior", "Mom" ' Find the object in the scene (this finds the first ' mesh geometry under the scene root) Set oParent = ActiveSceneRoot.FindChild( ,, siMeshFamily ) ' Make sure the object was found if ClassName( oParent ) <> "Nothing" then ' Clear the selection and branch-select the parent DeselectAll SelectObj oParent, siSelectBranch ' Get the branch-selected parent Set oSelList = GetValue( "SelectionList" ) ' Expand the parent down the branch Set oFamily = SelectChildNodes( oSelList ) for each oItem in oFamily Application.LogMessage oItem.FullName next end if '************************************************************ ' Output of above script: 'CreatePrim "Cone", "MeshSurface", "Mom" 'CreatePrim "Cube", "MeshSurface", "Junior", "Mom" 'DeselectAll 'SelectObj "Mom", 2 'SelectChildNodes "B:Mom" 'INFO : "Mom" 'INFO : "Junior" '************************************************************ |