## KinematicState.GetTransform2

### Introduced

v6.0

### Description

Returns the transformation of an object.
Note: This is the Python-compliant version of the KinematicState.Transform property (for getting the transformation). Since Python does not support input parameters on properties, KinematicState.Transform will fail in Python.
Warning: The returned SITransformation object contains a copy of the transformation values, so modifying its state will have no effect on the original object. To change the object's kinematic state you must set KinematicState.PutTransform2 with the modified SITransformation object, as shown in the example below.

### C# Syntax

    Object KinematicState.GetTransform2( Object inFrame );

### Scripting Syntax

    oReturn = KinematicState.GetTransform2( [Frame] );

### Return Value

SITransformation

### Parameters

Parameter | Type | Description
--- | --- | ---
Frame | Variant | Frame at which to get the transform. Pass null for current time.

### Examples

#### Python Example

    #

    # This example shows how to modify the state of a transform

    # when you are working on a copy of the object.

    #

    app = Application

    null = None

    false = 0

    app.NewScene (null, false)

    oRoot = app.ActiveSceneRoot

    oCube = oRoot.AddGeometry("Cube","MeshSurface", "Cube")

    # Retrieve a copy of the transform object

    oTrans = oCube.Kinematics.Local.GetTransform2(null)

    oMat4 = XSIMath.CreateMatrix4();

    oMat4.Set( 1.0, 1.0, 0.0, 10.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0,0.0, 0.0, 0.0, 1.0 );

    # Warning: you cannot change the object's transform like this:

    # oCube.Kinematics.Local.Transform.SetMatrix4(oMat4);

    # because this will only modify a copy of the transform object

    # not the real state of oCube.Kinematics.Local.Transform

    oTrans.SetMatrix4(oMat4);

    # Replace the transform with the modified copy

    oCube.Kinematics.Local.PutTransform2(null, oTrans)

### See Also

KinematicState.Transform KinematicState.PutTransform2