SIQuaternion.Value
 
 
 

SIQuaternion.Value

Description

Sets or returns a Double representing the ith value of this quaterion, where w is i=0 and x is i=1. Value is the SIQuaternion object's default property, which means that you can call it by just using the parenthesis and leaving out the property name, for example: q(i).

C# Syntax

// get accessor
Double ISIQuaternion.get_Value( Int16 in_nIndex );
// set accessor
ISIQuaternion.set_Value( Int16 in_nIndex, Double pVal );

Parameters

Parameter Type Description
Index Integer Gives a get/set access to the (i)th value of this quaternion

Examples

JScript Example

// create a null and translate, rotate and scale it
GetPrim("Null", null, null);
Translate(null, 1.73296599336766, 3.21359046016228, -0.321359046016228, siRelative, siView, siObj, siXYZ, null, null, null, null, null);
Rotate(null, -102.375, 0, 0, siRelative, siLocal, siObj, siXYZ, null, null, null);
Rotate(null, 0, -22.5, 0, siRelative, siLocal, siObj, siXYZ, null, null, null);
Scale(null, 1.55705996131528, 1.55705996131528, 1.55705996131528, siRelative, siLocal, siObj, siXYZ, null, null, null);
// get object from selection
var o = selection(0);
// get global transform from object
var t = o.kinematics.global.transform;
var q = XSIMath.CreateQuaternion();
t.GetRotationQuaternion( q );
var cCrLf = String.fromCharCode(13,10);
Application.LogMessage( cCrLf +
        round(q.w,3)  + " " + round(q.x,3)  + " " + round(q.y,3)  + " " + round(q.z,3) + cCrLf +
        round(q(0),3)  + " " + round(q(1),3)  + " " + round(q(2),3)  + " " + round(q(3),3) + cCrLf );
function round( n, numdecplaces ) 
{
        var f = Math.pow(10, numdecplaces );
        return Math.round(n * f)/f;
}
//INFO : "
//0.615 -0.764 -0.122 0.152
//0.615 -0.764 -0.122 0.152
//"