GetXYZAngleValues 2 (SIQuaternion)

Introduced

3.5

Description

Returns the X,Y,Z Euler angles (in radians) for this quaternion as an array.

C# Syntax

    Object SIQuaternion.GetXYZAngleValues2();

Return Value

Array

Examples

JScript Example

       // CREATE OBJECTS A & B
       var A = ActiveSceneRoot.AddNull("A");
       var B = ActiveSceneRoot.AddNull("B");

       // GET GLOBAL TRANSFORM OF A & B
       var gksA = A.kinematics.global;
       var gksB = B.kinematics.global;

       var tgA = gksA.transform;
       var tgB = gksB.transform;

       // TRANSLATE & ROTATE A
       var vA = XSIMath.CreateVector3(2, 2, 0);
       tgA.SetTranslation( vA );

       var rA = XSIMath.CreateRotation();
       rA.SetFromXYZAnglesValues( 0, 0, XSIMath.DegreesToRadians( 45 ) );
       tgA.SetRotation( rA );

       gksA.transform = tgA;

       // GET LOCAL TRANSFORM OF B RELATIVE TO A
       var mA = XSIMath.CreateMatrix3();
       var mB = XSIMath.CreateMatrix3();

       tgA.GetRotationMatrix3(mA);
       tgB.GetRotationMatrix3(mB);

       mA.TransposeInPlace();
       mB.MulInPlace( mA );

       // GET ORIENTATION OF B RELATIVE TO A AS A QUATERNION
       var qB = XSIMath.CreateQuaternion();
       mB.GetQuaternion(qB);

       // log result
       var aXYZ = new VBArray(qB.GetXYZAngleValues2()).toArray();
       Application.LogMessage( "R(" +
           XSIMath.RadiansToDegrees(aXYZ[0]) + "," +
           XSIMath.RadiansToDegrees(aXYZ[1]) + "," +
           XSIMath.RadiansToDegrees(aXYZ[2]) + ")" );

See Also

SIQuaternion.GetXYZAngleValues | SIQuaternion.SetFromXYZAngleValues

Autodesk Softimage v7.5