## ChangeEnvironmentDynamicsOperator

### Introduced

v5.0

### Description

Changes the rigid body dynamics engine (from physX to ODE or vice-versa) for the specified environment.

### Scripting Syntax

    ChangeEnvironmentDynamicsOperator( [InputEnvironment], [DynamicsEngine] );

### Parameters

Parameter | Type | Description
--- | --- | ---
InputEnvironment | SimulationEnvironment | Environment for which we want to change the rigid body dynamics engine Default Value: Current active environment
DynamicsEngine | siRBDEngine | The dynamics engine to which you want to switch the specified environment Default Value: siPhysXEngine

### Examples

#### JScript Example

    /*

    	This example illustrates how to create a simple RigidBody simulation

    	and then switch the dynamics engine

    */

    var oCone = ActiveSceneRoot.AddGeometry("cone","MeshSurface");

    var oModel = ActiveSceneRoot.AddModel();

    oModel.Name = "Model";

    var oGrid = oModel.AddGeometry("grid","MeshSurface");

    // Move the cone

    oCone.posy.value = 6.0;

    // Modify the grid

    oGrid.ulength.value = 24;

    oGrid.vlength.value = 24;

    oGrid.subdivu.value = 24;

    oGrid.subdivv.value = 24;

    // The following line creates the SimulationEnvironment object.

    CreatePassiveRigidBody( oGrid );

    CreateActiveRigidBody( oCone );

    CreateForce( "Gravity" );

    var oEnvironment = ActiveProject.ActiveScene.ActiveSimulationEnvironment;

    // Switch the rigid body dynamics engine to PhyX by NVIDIA

    ChangeEnvironmentDynamicsOperator(  oEnvironment, siPhysXEngine);

    // Results of running this script:

    //  * If the currently used engine is the same as the one specified in

    //    the command, there is no output.

    //  * Otherwise the following output will be echoed (as appropriate):

    //    //INFO : Switched to physX

    //    or

    //    //INFO : Switched to ODE

    // Simulate

    for(i =0 ; i < 100 ; i++)

    {

    	NextFrame();

    	Refresh();

    }

    // Switch the rigid body dynamics engine to ODE

    ChangeEnvironmentDynamicsOperator( oEnvironment, siOpenDynamicsEngine);

    // Simulate again

    FirstFrame();

    Refresh();

    for(i =0 ; i < 100 ; i++)

    {

    	NextFrame();

    	Refresh();

    }

### See Also

CreateActiveRigidBody CreatePassiveRigidBody RemoveRigidBody AttachRigidBodies