C Specification

The relationFlags member is a bitwise-OR of zero or more of the following flags:

// Flag bits for XrSpaceRelationFlags
static const XrSpaceRelationFlags XR_SPACE_RELATION_ORIENTATION_VALID_BIT = 0x00000001;
static const XrSpaceRelationFlags XR_SPACE_RELATION_POSITION_VALID_BIT = 0x00000002;
static const XrSpaceRelationFlags XR_SPACE_RELATION_LINEAR_VELOCITY_VALID_BIT = 0x00000004;
static const XrSpaceRelationFlags XR_SPACE_RELATION_ANGULAR_VELOCITY_VALID_BIT = 0x00000008;
static const XrSpaceRelationFlags XR_SPACE_RELATION_LINEAR_ACCELERATION_VALID_BIT = 0x00000010;
static const XrSpaceRelationFlags XR_SPACE_RELATION_ANGULAR_ACCELERATION_VALID_BIT = 0x00000020;
static const XrSpaceRelationFlags XR_SPACE_RELATION_ORIENTATION_TRACKED_BIT = 0x00000040;
static const XrSpaceRelationFlags XR_SPACE_RELATION_POSITION_TRACKED_BIT = 0x00000080;

Description

where the flags have the following meaning:

Flag Descriptions
  • XR_SPACE_RELATION_ORIENTATION_VALID_BIT indicates that the pose field’s orientation field contains valid data. For space relations tracking a device with its own inertial tracking, XR_SPACE_RELATION_ORIENTATION_TRACKED_BIT should remain set when this bit is set.

  • XR_SPACE_RELATION_POSITION_VALID_BIT indicates that the pose field’s position field contains valid data. When a space relation loses tracking, runtimes should continue to provide valid but untracked position values that are inferred or last-known, so long as it’s still meaningful for the application to use that position, clearing XR_SPACE_RELATION_POSITION_TRACKED_BIT until positional tracking is recovered.

  • XR_SPACE_RELATION_LINEAR_VELOCITY_VALID_BIT indicates that the linearVelocity field contains valid data.

  • XR_SPACE_RELATION_ANGULAR_VELOCITY_VALID_BIT indicates that the angularVelocity field contains valid data.

  • XR_SPACE_RELATION_LINEAR_ACCELERATION_VALID_BIT indicates that the linearAcceleration field contains valid data.

  • XR_SPACE_RELATION_ANGULAR_ACCELERATION_VALID_BIT indicates that the angularAcceleration field contains valid data.

  • XR_SPACE_RELATION_ORIENTATION_TRACKED_BIT indicates that the pose field’s orientation field represents an actively tracked orientation. For a space relation tracking a device with its own inertial tracking, this bit should remain set when XR_SPACE_RELATION_ORIENTATION_VALID_BIT is set. For a space relation tracking an object whose orientation is no longer known during tracking loss (e.g. an observed QR code), runtimes should continue to provide valid but untracked orientation values, so long as it’s still meaningful for the application to use that orientation.

  • XR_SPACE_RELATION_POSITION_TRACKED_BIT indicates that the pose field’s position field represents an actively tracked position. When a space relation loses tracking, runtimes should continue to provide valid but untracked position values that are inferred or last-known, e.g. based on neck model updates, inertial dead reckoning, or a last-known position, so long as it’s still meaningful for the application to use that position.

See Also

Document Notes

For more information, see the OpenXR Specification at URL

This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.

Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.