X3DObject.Children

Description

Returns an X3DObjectCollection containing all X3DObject children parented under the object. No recursive search is performed, in other words only direct children are returned, not children of children.

C# Syntax

// get accessor
X3DObjectCollection rtn = X3DObject.Children;

Examples

1. VBScript Example

set oRoot = Application.ActiveProject.ActiveScene.Root
oRoot.AddGeometry "Sphere", "MeshSurface"
oRoot.AddNull
for each oChild in oRoot.Children
	Application.LogMessage oChild.Name & ", " & oChild.Type
next
' Expected results:
'INFO : Camera_Root, CameraRoot
'INFO : light, light
'INFO : sphere, polymsh
'INFO : null, null

2. JScript Example

/*
	Compare this example with the similar example 
	for X3DObject.FindChildren
*/
// Create a sample scene
NewScene( null, false ) ;
var oRoot = Application.ActiveSceneRoot;
var oNull = oRoot.AddNull( "MyNull" ) ;
var oSphere = oRoot.AddGeometry( "Sphere", "MeshSurface", "MySphere" ) ;
var oNestedSphere = oNull.AddNull( "NestedNull" ) ;
var oConeInModel = oRoot.AddGeometry( "Cone", "NurbsSurface", "ConeInMdl" ) ;
var oModel = oRoot.AddModel(oConeInModel, "MyModel") ;
// The X3DObject.Children collection returns all X3DObjects 
// but it is not recursive.
PrintChildren( "Children of SceneRoot:", oRoot.Children ) ;
PrintChildren( "Children of Null:", oNull.Children ) ;
PrintChildren( "Children of Model:", oModel.Children ) ;
// Expected result:
//INFO : Children of SceneRoot:
//INFO :		Camera_Root
//INFO :		light
//INFO :		MyNull
//INFO :		MySphere
//INFO :		MyModel
//INFO : ----------------------------
//INFO : Children of Null:
//INFO :		NestedNull
//INFO : ----------------------------
//INFO : Children of Model:
//INFO :		MyModel.ConeInMdl
//INFO : ----------------------------
// Helper function showing the contents of a collection
function PrintChildren( in_msg, in_oChildren )
{
	Application.LogMessage( in_msg ) ;
	for ( var i=0 ; i<in_oChildren.Count; i++ ) {
		Application.LogMessage( "\t" + in_oChildren.Item(i).FullName ) ;
	}
	Application.LogMessage( "----------------------------" ) ;
}

See Also

X3DObject.FindChildren X3DObject.FindChildren2 X3DObject.FindChild X3DObject.FindChild2 EnumElements