SITransformation

SITransformation

Object Hierarchy | 関連する C++クラス:CTransformation

説明

ISITransformation オブジェクトは、スケーリング、回転、移動を S、R、t の順で組み合わせた結果である変換です。

メソッド

AddLocalRotation AddLocalScaling AddLocalTranslation AddParentRotation
AddParentScaling AddParentTranslation Copy GetMatrix4
GetRotation GetRotationAxisAngle GetRotationAxisAngle2 GetRotationMatrix3
GetRotationQuaternion GetRotationXYZAngles GetRotationXYZAnglesValues GetRotationXYZAnglesValues2
GetScaling GetScalingOrientationXYZAngles GetScalingOrientationXYZAngles2 GetScalingValues
GetScalingValues2 GetTranslation GetTranslationValues GetTranslationValues2
HasScalingOrientation Mul MulInPlace SetIdentity
SetMatrix4 SetRotation SetRotationFromAxisAngle SetRotationFromMatrix3
SetRotationFromQuaternion SetRotationFromXYZAngles SetRotationFromXYZAnglesValues SetRotationFromXYZAxes
SetScaling SetScalingFromValues SetScalingOrientationFromXYZAngles SetTranslation
SetTranslationFromValues      
       

プロパティ

Matrix4 PosX PosY PosZ
RotX RotY RotZ Rotation
Scaling SclX SclY SclZ
Translation      
       

1. JScript の例

/*

	Example of how to use the SITransformation to read and write 

	the scaling, rotation and translation of an object

*/

var oNull = Application.ActiveSceneRoot.AddNull( "MyNull" ) ;

// Change the position and rotation of the null

// by providing a new transform

oNewLocalTransform = XSIMath.CreateTransform() ;

// Change posx, posy

oNewLocalTransform.PosX = 5; 

oNewLocalTransform.PosX = 6; 

// Set rotx to 180 degrees

oNewLocalTransform.RotX = 180;

// Scale y-axis (scly)

oNewLocalTransform.SclY = 2; 

oNull.Kinematics.Local.Transform = oNewLocalTransform ;

PrintTransformation( oNull.Kinematics.Local.Transform ) ;

// Show the "SRT: of a SITransformation object

function PrintTransformation( in_oTransform )

{

	var oVector = XSIMath.CreateVector3();

	in_oTransform.GetScaling( oVector ) ;

	PrintVector( "Scaling:", oVector ) ;

	// In Radians

	in_oTransform.GetRotationXYZAngles( oVector ) ;

	PrintVector( "Rotation:", oVector ) ;

	in_oTransform.GetTranslation( oVector ) ;

	PrintVector( "Translation:", oVector ) ;

}

// Print a vector.  Values are rounded to 3 decimal places

function PrintVector( in_Prefix, in_oVec )

{

	Application.LogMessage( in_Prefix + " " + 

			XSIRound(in_oVec.x,3) + ", " + 

			XSIRound(in_oVec.y,3) + ", " + 

			XSIRound(in_oVec.z,3) ) ;

}

// Output:

//INFO : Scaling: 1, 2, 1

//INFO : Rotation: 3.142, 0, 0

//INFO : Translation: 5, 6, 0

2. VBScript の例

dim transfo

set transfo = XSIMath.CreateTransform

Application.LogMessage TypeName(transfo)

関連項目

SIVector3 SIMatrix3 SIMatrix4 SIRotation SITransformation SIQuaternion KinematicState.Transform StaticKinematicState.Transform