## 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