SpatialPointerPose 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 the available spatial pointer poses, such as the user's head gaze, eye gaze and each motion controller's pointer pose, for use in targeting hand gestures, motion controller presses, and speech interactions.
public ref class SpatialPointerPose sealed
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 131072)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class SpatialPointerPose final
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 131072)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class SpatialPointerPose
Public NotInheritable Class SpatialPointerPose
- Inheritance
- Attributes
Windows requirements
Device family |
Windows 10 (introduced in 10.0.10586.0 - for Xbox, see UWP features that aren't yet supported on Xbox)
|
API contract |
Windows.Foundation.UniversalApiContract (introduced in v2.0)
|
Remarks
The SpatialPointerPose provides the set of pointing rays available at the time represented by the Timestamp property.
When targeting a spatial interaction, such as a hand gesture, motion controller press or speech interaction, apps should choose a pointing ray available from the interaction's SpatialPointerPose, based on the nature of the interaction's SpatialInteractionSource:
- If the interaction source does not support pointing (IsPointingSupported is false), the app should target based on the user's head gaze, available through the Head property.
- If the interaction source does support pointing (IsPointingSupported is true), the app may instead target based on the source's pointer pose, available through the TryGetInteractionSourcePose method.
The app should then intersect the chosen pointing ray with its own holograms or with the spatial mapping mesh to render cursors and determine what the user is intending to interact with.
Once an interaction has started, relative motions of the hand or controller may be used to control the gesture, as with the Manipulation or Navigation gesture.
Version history
Windows version | SDK version | Value added |
---|---|---|
1703 | 15063 | TryGetInteractionSourcePose |
1903 | 18362 | Eyes |
1903 | 18362 | IsHeadCapturedBySystem |
Properties
Eyes |
Gets the user's eye gaze for this timestamp. |
Head |
Gets the user's head gaze for this timestamp. |
IsHeadCapturedBySystem |
Gets whether the user's head gaze is being captured by system UI at the moment (preventing gaze-driven presses from being delivered to the view associated with this SpatialPointerPose). |
Timestamp |
Gets the timestamp when the pointing rays are determined. |
Methods
TryGetAtTimestamp(SpatialCoordinateSystem, PerceptionTimestamp) |
Gets the head gaze and motion controller pointer poses for the specified timestamp. |
TryGetInteractionSourcePose(SpatialInteractionSource) |
Gets the pointer pose for a particular spatial interaction source, such as a motion controller, at a given timestamp. |