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