## 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
    //"