## SIQuaternion.GetXYZAngleValues2

### Introduced

v3.5

### Description

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

### C# Syntax

    Object SIQuaternion.GetXYZAngleValues2();

### Scripting Syntax

    oArray = 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