今回はオブジェクトのTRSの値を得たい時の記述方法です。
■TRSの取得方法
[python]
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from pyfbsdk import FBModelCube,FBVector3d,FBModelTransformationType
lName = "Cube"
lMdl = FBModelCube(lName)
lMdl.Show = True
IS_GLOBAL = True
lTransform = FBModelTransformationType.kModelTranslation
lVec = FBVector3d()
lMdl.GetVector( lVec, lTransform, IS_GLOBAL )
lMdl.SetVector( lVec, lTransform, IS_GLOBAL )
[/python]
IS_GLOBAL=Falseにするとローカル値を取得、設定できます。
なにやら知らないクラスが二つほどあると思うので紹介します。
■FBVector3d( list = [0,0,0] )
引数には要素が3つのfloatで構成されたlistオブジェクトを渡します。
引数に何も渡さないときは自動的に[0,0,0]が設定されます。
■使用方法
[python]
lVec = FBVector3d()
lVec = FBVector3d(1,2,3)
[/python]
■FBModelTransformationType
vector,matrixオブジェクトのTransformationTypeを選ぶためのクラスです。
記述するときは FBModelTransformationType.Attribute になります。
例えばTranslationを指定するときはこんな感じになります
■使用方法
[python]
FBModelTransformationType.kModelTransformation
[/python]
Attributeの部分は一覧と入れ替えることで操作するTransformationTypeを変更できます。
■Attribute一覧
[python]
kModelTransformation
kModelRotation
kModelTranslation
kModelScaling
kModelTransformation_Geometry
kModelInverse_Transformation
kModelInverse_Rotation
kModelInverse_Translation
kModelInverse_Scaling
kModelInverse_Transformation_Geometry
[/python]