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.
// get accessor Object KinematicState.get_Transform( Object inFrame ); // set accessor KinematicState.set_Transform( Object inFrame, Object out_ppRetVal ); |
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 |