## KinematicState.Transform

### Description

Returns or sets the transformation (SITransformation) of an object.
Currently you cannot set the tranform at a different time than the current time. To cause the transformation to change over time you should animate the parameters of the KinematicState object.
Note: This property is not Python-compliant because Python does not support input parameters on properties. Use KinematicState.GetTransform2 and KinematicState.PutTransform2 instead.
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 this property with the modified SITransformation object, as shown in the example below.

### C# Syntax

    // get accessor

    Object KinematicState.get_Transform( Object inFrame );

    // set accessor

    KinematicState.set_Transform( Object inFrame, Object out_ppRetVal );

### Parameters

Parameter | Type | Description
--- | --- | ---
Frame | Variant | Frame at which to get the transform.

### Examples

#### 1. JScript Example

    /*

    	This example shows how to modify the state of a transform

    	when you are working on a copy of the object.

    */

    NewScene (null, false);

    var oRoot = Application.ActiveSceneRoot;

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

    // Retrieve a copy of the transform object

    var oTrans = oCube.Kinematics.Local.Transform;

    var 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.Transform = oTrans;

#### 2. VBScript Example

    set oCube = Application.ActiveProject.ActiveScene.Root.AddGeometry("Cube","MeshSurface")

    oCube.Kinematics.Global.Parameters("posy").Value = 4.0

    set oLocalTrans = oCube.Kinematics.Local.Transform

    set oVec3 = XSIMath.CreateVector3

    oLocalTrans.GetTranslation oVec3

    oVec3.y = oVec3.y - 2.0

    oLocalTrans.SetTranslation oVec3

    ' Change the object's translation by setting

    ' the modified SITransformation back

    oCube.Kinematics.Local.Transform = oLocalTrans

### See Also

KinematicState.GetTransform2 KinematicState.PutTransform2