Dela via


Inclinometer Class

Definition

Represents an inclinometer sensor that provides pitch, roll, and yaw values corresponding to rotation angles around the x, y, and z axes, respectively.

public ref class Inclinometer sealed
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class Inclinometer final
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class Inclinometer
Public NotInheritable Class Inclinometer
Inheritance
Object Platform::Object IInspectable Inclinometer
Attributes

Windows requirements

Device family
Windows 10 (introduced in 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (introduced in v1.0)

Examples

For an example implementation, see the inclinometer sample https://github.com/Microsoft/Windows-universal-samples/tree/master/Samples/Inclinometer.

Remarks

Sensor data is provided relative to the device's fixed sensor coordinate system, and is independent of display orientation. For applications that rely on sensor data for input control or to manipulate elements on the screen, the developer must take current display orientation into account and compensate the data appropriately. For more info about the sensor coordinate system, see Sensor data and display orientation.

The following example demonstrates how a UWP app built with XAML and C# uses the GetDefault method to establish a connection to an inclinometer. If no integrated inclinometer is found, the method will return a null value.

_inclinometer = Inclinometer.GetDefault();

The following example demonstrates how a UWP app built with XAML registers a ReadingChanged event handler.

private void ScenarioEnable(object sender, RoutedEventArgs e)
{
    if (_inclinometer != null)
    {
        // Establish the report interval
        _inclinometer.ReportInterval = _desiredReportInterval;

        Window.Current.VisibilityChanged += new WindowVisibilityChangedEventHandler(VisibilityChanged);
        _inclinometer.ReadingChanged += new TypedEventHandler<Inclinometer, InclinometerReadingChangedEventArgs>(ReadingChanged);

        ScenarioEnableButton.IsEnabled = false;
        ScenarioDisableButton.IsEnabled = true;
    }
    else
    {
        rootPage.NotifyUser("No inclinometer found", NotifyType.StatusMessage);
    }
}

The following example shows the ReadingChanged event handler.

async private void ReadingChanged(object sender, InclinometerReadingChangedEventArgs e)
{
    await Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
    {
        InclinometerReading reading = e.Reading;
        ScenarioOutput_X.Text = String.Format("{0,5:0.00}", reading.PitchDegrees);
        ScenarioOutput_Y.Text = String.Format("{0,5:0.00}", reading.RollDegrees);
        ScenarioOutput_Z.Text = String.Format("{0,5:0.00}", reading.YawDegrees);
    });
}

Version history

Windows version SDK version Value added
1607 14393 GetDefault(SensorReadingType)
1709 16299 FromIdAsync
1709 16299 GetDeviceSelector
1709 16299 MaxBatchSize
1709 16299 ReportLatency
2004 19041 ReportThreshold

Properties

DeviceId

Gets the device identifier.

MaxBatchSize

Gets the maximum number of events that can be batched by the sensor.

MinimumReportInterval

Gets the minimum report interval supported by the inclinometer.

ReadingTransform

Gets or sets the transformation that needs to be applied to sensor data. Transformations to be applied are tied to the display orientation with which to align the sensor data.

ReadingType

Gets the sensor reading type.

ReportInterval

Gets or sets the current report interval for the inclinometer.

ReportLatency

Gets or sets the delay between batches of sensor information.

ReportThreshold

Gets the InclinometerDataThreshold for the gyrometer sensor.

Methods

FromIdAsync(String)

Asynchronously obtains the sensor from its identifier.

GetCurrentReading()

Gets the current inclinometer reading.

GetDefault()

Returns the default inclinometer for absolute readings.

GetDefault(SensorReadingType)

Returns the default inclinometer based on the SensorReadingType.

GetDefaultForRelativeReadings()

Returns the default inclinometer for relative readings.

GetDeviceSelector(SensorReadingType)

Gets the device selector.

Events

ReadingChanged

Occurs each time the inclinometer reports a new sensor reading.

Applies to

See also