XSIMath.MapWorldPositionToObjectSpace

説明

WorldSpace で記述された位置を、異なる ObjectSpace での位置に変換します。

C#構文

SIVector3 XSIMath.MapWorldPositionToObjectSpace( SITransformation in_pObjectSpace, SIVector3 in_pPosition );

スクリプト構文

oReturn = XSIMath.MapWorldPositionToObjectSpace( ObjectSpace, Position );

戻り値

新しいSIVector3の位置

パラメータ

パラメータ タイプ 説明
ObjectSpace SITransformation 位置を変換する先の ObjectSpace
Position SIVector3 変換する位置

VBScript の例

set oRoot = Application.ActiveProject.ActiveScene.Root  

set oCube = oRoot.AddGeometry("Cube","MeshSurface")  

oCube.Kinematics.Global.Parameters("posy").value = 4.0  

oCube.Kinematics.Global.Parameters("posx").value = 2.0  

oCube.Kinematics.Global.Parameters("rotx").value = 30  

set oTrans = oCube.Kinematics.Local.Transform  

set oPos = XSIMath.CreateVector3( 1.0, 1.0, 1.0)  

set oObjectPos = XSIMath.MapWorldPositionToObjectSpace(oTrans, oPos)  

Application.LogMessage "The position (1,1,1) is (" & oObjectPos.X & "," & oObjectPos.Y & "," & oObjectPos.Z & ") in the cube object space"  

set mynull = oCube.AddPrimitive("Null")

mynull.Kinematics.local.Parameters("posx").value = oObjectPos.x  

mynull.Kinematics.local.Parameters("posy").value = oObjectPos.y  

mynull.Kinematics.local.Parameters("posz").value = oObjectPos.z