KinematicState.GetTransform2 operator

導入

v6.0

詳細

オブジェクトの変換を戻します。

注:このメソッドは、変換を取得する KinematicState.Transform プロパティの Python 互換バージョンです。Python ではプロパティ上の入力パラメータがサポートされていないので、KinematicState.Transform は Python で失敗します。

警告:戻された SITransformation オブジェクトには変換値のコピーが含まれるので、このオブジェクトの状態を変更しても、元のオブジェクトには反映されません。オブジェクトのキネマティクス状態を変更するには、以下に示すように、変更された SITransformation オブジェクトを使用して KinematicState.PutTransform2 を設定する必要があります。

C#構文

Object KinematicState.GetTransform2( Object inFrame );

スクリプト構文

oReturn = KinematicState.GetTransform2( [Frame] );

戻り値

SITransformation

パラメータ

パラメータ タイプ 説明
Frame Variant 変換を取得するフレーム。現在の時間の場合は null を渡します。

Python の例

#

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

関連項目

KinematicState.Transform KinematicState.PutTransform2