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.
Parameter | Type | Description |
---|---|---|
Frame | Variant | Frame at which to get the transform. |
/* 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; |
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 |