Inclinometer Class
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
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
- 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. |