Commit a457085d authored by Marek Szczerba's avatar Marek Szczerba
Browse files

IVAS_REND_GetTrackedOrientation function added

Editorials
parent 89757f38
Loading
Loading
Loading
Loading
+30 −5
Original line number Diff line number Diff line
@@ -3437,6 +3437,31 @@ ivas_error IVAS_REND_SetReferenceRotation(

    return IVAS_ERR_OK;
}

ivas_error IVAS_REND_GetTrackedOrientation(
    IVAS_REND_HANDLE hIvasRend,   /* i/o: Renderer handle                                     */
    IVAS_QUATERNION *pOrientation /* i/o: Quaternion pointer for tracked orientation          */
)
{
    if ( hIvasRend == NULL || hIvasRend->headRotData.hOrientationTracker == NULL || pOrientation == NULL )
    {
        return IVAS_ERR_UNEXPECTED_NULL_POINTER;
    }
    switch ( hIvasRend->headRotData.hOrientationTracker->trackingType )
    {
        case OTR_TRACKING_NONE:
            *pOrientation = quaternionInit();
            break;
        case OTR_TRACKING_REF_ORIENT:
            *pOrientation = hIvasRend->headRotData.hOrientationTracker->refRot;
            break;
        case OTR_TRACKING_AVG_ORIENT:
            *pOrientation = hIvasRend->headRotData.hOrientationTracker->absAvgRot;
            break;
    }

    return IVAS_ERR_OK;
}
#endif

/* Take one channel from input buffer and copy it to each channel
+9 −4
Original line number Diff line number Diff line
@@ -274,6 +274,11 @@ ivas_error IVAS_REND_SetReferenceRotation(
    IVAS_REND_HANDLE hIvasRend,                     /* i/o: Renderer handle                                     */
    const IVAS_QUATERNION refRot                    /* i  : Reference rotation                                  */
);

ivas_error IVAS_REND_GetTrackedOrientation(
    IVAS_REND_HANDLE hIvasRend,                     /* i/o: Renderer handle                                     */
    IVAS_QUATERNION *pOrientation                   /* i/o: Quaternion pointer for tracked orientation          */
);
#endif

ivas_error IVAS_REND_GetSamples(