## X3DObject.Models

### Description

Returns a ModelCollection containing each Model under this 3D object.
Note: Since Python does not support input parameters on properties, X3DObject.Models will fail in Python. Use the Python-compliant version X3DObject.GetModels2 instead.

### C# Syntax

    // get accessor

    ModelCollection X3DObject.get_Models( Boolean in_bMode );

### Parameters

Parameter | Type | Description
--- | --- | ---
Recursive | Boolean | Recurse if True, otherwise the search is done on the immediate children. Default Value: True

### Examples

#### 1. JScript Example

    main() ;

    function main()

    {

    	NewScene( null, false );

    	var oRoot = Application.ActiveSceneRoot;

    	// Stick all the x3dobjects in the current scene into a model

    	var oModel = oRoot.AddModel( oRoot.Children, "TopModel" );

    	// Create two models, each of which contain a Null and nest them inside the TopModel.

    	oNull = oRoot.AddNull( "mynull");

    	oModel.AddModel( oNull, "SubModel" );

    	oNull2 = oRoot.AddNull( "mynull" );

    	oModel.AddModel( oNull2, "AnotherSubModel" );

    	WriteModels( oRoot ) ;

    }

    function  WriteModels( in_obj )

    {

    	var mdls = in_obj.Models;

    	n = mdls.Count;

    	for ( var i=0; i<n; i++ ) {

    		m = mdls.Item(i);

    		Application.LogMessage( "Model " + m.Name + " is nested inside " + m.model ) ;

    	}

    }

    // Expected results:

    //INFO : Model TopModel is nested inside Scene_Root

    //INFO : Model SubModel is nested inside TopModel

    //INFO : Model AnotherSubModel is nested inside TopModel

#### 2. VBScript Example

    Option Explicit

    main()

    sub main()

    	NewScene , false

    	dim oRoot

    	set oRoot = Application.ActiveProject.ActiveScene.Root

    	oRoot.AddModel oRoot.Children, "Mary"

    	WriteModels oRoot

    end sub

    ' Recursive function to read all models no matter how deeply nested

    function WriteModels( in_obj )

    	dim list, n, i, mdls

    	set mdls = in_obj.Models(0)

    	n = mdls.Count

    	if n = 0 then

    		exit function

    	end if

    	for i=0 to n-1

    		Application.LogMessage mdls(i).Name

    		' Drill down

    		WriteModels mdls(i)

    	next

    end function

    ' Expected results:

    'INFO : Mary

### See Also

X3DObject.GetModels2