Information
The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.

OrientationSensor.GetCurrentReading | getCurrentReading method

Applies to Windows and Windows Phone

Gets the current sensor reading.

Syntax


var orientationSensorReading = orientationSensor.getCurrentReading();

Parameters

This method has no parameters.

Return value

Type: OrientationSensorReading

The current sensor reading.

Remarks

An application may use this method to poll the sensor for the current reading as an alternative to registering a ReadingChanged event handler. This would be the preferred alternative for an application that updates its user interface at a specific frame rate. Whether polling once or many times, the application must establish a desired ReportInterval. This informs the sensor driver that resources should be allocated to satisfy subsequent polling requests

Before using the return value from this method, the application must first check that the value is not null. (If the value is null and you attempt to retrieve it, Windows will generate an exception.)

The following example demonstrates how a Windows Store app built with XAML and C# retrieves the current reading for the orientation sensor.


private void DisplayCurrentReading(object sender, object args)
{
    OrientationSensorReading reading = _sensor.GetCurrentReading();
    if (reading != null)
    {
        // Quaternion values
        SensorQuaternion quaternion = reading.Quaternion;   // get a reference to the object to avoid re-creating it for each access
        ScenarioOutput_X.Text = String.Format("{0,8:0.00000}", quaternion.X);
        ScenarioOutput_Y.Text = String.Format("{0,8:0.00000}", quaternion.Y);
        ScenarioOutput_Z.Text = String.Format("{0,8:0.00000}", quaternion.Z);
        ScenarioOutput_W.Text = String.Format("{0,8:0.00000}", quaternion.W);

        // Rotation Matrix values
        SensorRotationMatrix rotationMatrix = reading.RotationMatrix;
        ScenarioOutput_M11.Text = String.Format("{0,8:0.00000}", rotationMatrix.M11);
        ScenarioOutput_M12.Text = String.Format("{0,8:0.00000}", rotationMatrix.M12);
        ScenarioOutput_M13.Text = String.Format("{0,8:0.00000}", rotationMatrix.M13);
        ScenarioOutput_M21.Text = String.Format("{0,8:0.00000}", rotationMatrix.M21);
        ScenarioOutput_M22.Text = String.Format("{0,8:0.00000}", rotationMatrix.M22);
        ScenarioOutput_M23.Text = String.Format("{0,8:0.00000}", rotationMatrix.M23);
        ScenarioOutput_M31.Text = String.Format("{0,8:0.00000}", rotationMatrix.M31);
        ScenarioOutput_M32.Text = String.Format("{0,8:0.00000}", rotationMatrix.M32);
        ScenarioOutput_M33.Text = String.Format("{0,8:0.00000}", rotationMatrix.M33);
    }
}


The following example demonstrates how a Windows Store app built for Windows using JavaScript retrieves the current reading for the orientation sensor.


function getCurrentReading() {
    var reading = sensor.getCurrentReading();
    if (reading) {
        // Quaternion values
        var quaternion = reading.quaternion;    // get a reference to the object to avoid re-creating it for each access
        document.getElementById("readingOutputQuaternion").innerHTML =
               "W: " + quaternion.w.toFixed(6)
            + " X: " + quaternion.x.toFixed(6)
            + " Y: " + quaternion.y.toFixed(6)
            + " Z: " + quaternion.z.toFixed(6);

        // Rotation Matrix values
        var rotationMatrix = reading.rotationMatrix;
        document.getElementById("readingOutputRotationMatrix").innerHTML =
               "M11: " + rotationMatrix.m11.toFixed(6)
            + " M12: " + rotationMatrix.m12.toFixed(6)
            + " M13: " + rotationMatrix.m13.toFixed(6)
            + " M21: " + rotationMatrix.m21.toFixed(6)
            + " M22: " + rotationMatrix.m22.toFixed(6)
            + " M23: " + rotationMatrix.m23.toFixed(6)
            + " M31: " + rotationMatrix.m31.toFixed(6)
            + " M32: " + rotationMatrix.m32.toFixed(6)
            + " M33: " + rotationMatrix.m33.toFixed(6);
    }
}


Requirements

Minimum supported client

Windows 8

Minimum supported server

None supported

Minimum supported phone

Windows Phone 8

Namespace

Windows.Devices.Sensors
Windows::Devices::Sensors [C++]

Metadata

Windows.winmd

See also

OrientationSensor

 

 

Show:
© 2014 Microsoft. All rights reserved.