class_openxrinterface.rst 26 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679
  1. :github_url: hide
  2. .. DO NOT EDIT THIS FILE!!!
  3. .. Generated automatically from Godot engine sources.
  4. .. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
  5. .. XML source: https://github.com/godotengine/godot/tree/master/modules/openxr/doc_classes/OpenXRInterface.xml.
  6. .. _class_OpenXRInterface:
  7. OpenXRInterface
  8. ===============
  9. **Inherits:** :ref:`XRInterface<class_XRInterface>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
  10. Our OpenXR interface.
  11. .. rst-class:: classref-introduction-group
  12. Description
  13. -----------
  14. The OpenXR interface allows Godot to interact with OpenXR runtimes and make it possible to create XR experiences and games.
  15. Due to the needs of OpenXR this interface works slightly different than other plugin based XR interfaces. It needs to be initialized when Godot starts. You need to enable OpenXR, settings for this can be found in your games project settings under the XR heading. You do need to mark a viewport for use with XR in order for Godot to know which render result should be output to the headset.
  16. .. rst-class:: classref-introduction-group
  17. Tutorials
  18. ---------
  19. - :doc:`Setting up XR <../tutorials/xr/setting_up_xr>`
  20. .. rst-class:: classref-reftable-group
  21. Properties
  22. ----------
  23. .. table::
  24. :widths: auto
  25. +---------------------------+----------------------------------------------------------------------------------------------------+-----------+
  26. | :ref:`float<class_float>` | :ref:`display_refresh_rate<class_OpenXRInterface_property_display_refresh_rate>` | ``0.0`` |
  27. +---------------------------+----------------------------------------------------------------------------------------------------+-----------+
  28. | :ref:`bool<class_bool>` | :ref:`foveation_dynamic<class_OpenXRInterface_property_foveation_dynamic>` | ``false`` |
  29. +---------------------------+----------------------------------------------------------------------------------------------------+-----------+
  30. | :ref:`int<class_int>` | :ref:`foveation_level<class_OpenXRInterface_property_foveation_level>` | ``0`` |
  31. +---------------------------+----------------------------------------------------------------------------------------------------+-----------+
  32. | :ref:`float<class_float>` | :ref:`render_target_size_multiplier<class_OpenXRInterface_property_render_target_size_multiplier>` | ``1.0`` |
  33. +---------------------------+----------------------------------------------------------------------------------------------------+-----------+
  34. .. rst-class:: classref-reftable-group
  35. Methods
  36. -------
  37. .. table::
  38. :widths: auto
  39. +--------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  40. | :ref:`Array<class_Array>` | :ref:`get_action_sets<class_OpenXRInterface_method_get_action_sets>` **(** **)** |const| |
  41. +--------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  42. | :ref:`Array<class_Array>` | :ref:`get_available_display_refresh_rates<class_OpenXRInterface_method_get_available_display_refresh_rates>` **(** **)** |const| |
  43. +--------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  44. | :ref:`Vector3<class_Vector3>` | :ref:`get_hand_joint_angular_velocity<class_OpenXRInterface_method_get_hand_joint_angular_velocity>` **(** :ref:`Hand<enum_OpenXRInterface_Hand>` hand, :ref:`HandJoints<enum_OpenXRInterface_HandJoints>` joint **)** |const| |
  45. +--------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  46. | :ref:`Vector3<class_Vector3>` | :ref:`get_hand_joint_linear_velocity<class_OpenXRInterface_method_get_hand_joint_linear_velocity>` **(** :ref:`Hand<enum_OpenXRInterface_Hand>` hand, :ref:`HandJoints<enum_OpenXRInterface_HandJoints>` joint **)** |const| |
  47. +--------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  48. | :ref:`Vector3<class_Vector3>` | :ref:`get_hand_joint_position<class_OpenXRInterface_method_get_hand_joint_position>` **(** :ref:`Hand<enum_OpenXRInterface_Hand>` hand, :ref:`HandJoints<enum_OpenXRInterface_HandJoints>` joint **)** |const| |
  49. +--------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  50. | :ref:`float<class_float>` | :ref:`get_hand_joint_radius<class_OpenXRInterface_method_get_hand_joint_radius>` **(** :ref:`Hand<enum_OpenXRInterface_Hand>` hand, :ref:`HandJoints<enum_OpenXRInterface_HandJoints>` joint **)** |const| |
  51. +--------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  52. | :ref:`Quaternion<class_Quaternion>` | :ref:`get_hand_joint_rotation<class_OpenXRInterface_method_get_hand_joint_rotation>` **(** :ref:`Hand<enum_OpenXRInterface_Hand>` hand, :ref:`HandJoints<enum_OpenXRInterface_HandJoints>` joint **)** |const| |
  53. +--------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  54. | :ref:`HandMotionRange<enum_OpenXRInterface_HandMotionRange>` | :ref:`get_motion_range<class_OpenXRInterface_method_get_motion_range>` **(** :ref:`Hand<enum_OpenXRInterface_Hand>` hand **)** |const| |
  55. +--------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  56. | :ref:`bool<class_bool>` | :ref:`is_action_set_active<class_OpenXRInterface_method_is_action_set_active>` **(** :ref:`String<class_String>` name **)** |const| |
  57. +--------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  58. | :ref:`bool<class_bool>` | :ref:`is_foveation_supported<class_OpenXRInterface_method_is_foveation_supported>` **(** **)** |const| |
  59. +--------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  60. | void | :ref:`set_action_set_active<class_OpenXRInterface_method_set_action_set_active>` **(** :ref:`String<class_String>` name, :ref:`bool<class_bool>` active **)** |
  61. +--------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  62. | void | :ref:`set_motion_range<class_OpenXRInterface_method_set_motion_range>` **(** :ref:`Hand<enum_OpenXRInterface_Hand>` hand, :ref:`HandMotionRange<enum_OpenXRInterface_HandMotionRange>` motion_range **)** |
  63. +--------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  64. .. rst-class:: classref-section-separator
  65. ----
  66. .. rst-class:: classref-descriptions-group
  67. Signals
  68. -------
  69. .. _class_OpenXRInterface_signal_pose_recentered:
  70. .. rst-class:: classref-signal
  71. **pose_recentered** **(** **)**
  72. Informs the user queued a recenter of the player position.
  73. .. rst-class:: classref-item-separator
  74. ----
  75. .. _class_OpenXRInterface_signal_session_begun:
  76. .. rst-class:: classref-signal
  77. **session_begun** **(** **)**
  78. Informs our OpenXR session has been started.
  79. .. rst-class:: classref-item-separator
  80. ----
  81. .. _class_OpenXRInterface_signal_session_focussed:
  82. .. rst-class:: classref-signal
  83. **session_focussed** **(** **)**
  84. Informs our OpenXR session now has focus.
  85. .. rst-class:: classref-item-separator
  86. ----
  87. .. _class_OpenXRInterface_signal_session_stopping:
  88. .. rst-class:: classref-signal
  89. **session_stopping** **(** **)**
  90. Informs our OpenXR session is stopping.
  91. .. rst-class:: classref-item-separator
  92. ----
  93. .. _class_OpenXRInterface_signal_session_visible:
  94. .. rst-class:: classref-signal
  95. **session_visible** **(** **)**
  96. Informs our OpenXR session is now visible (output is being sent to the HMD).
  97. .. rst-class:: classref-section-separator
  98. ----
  99. .. rst-class:: classref-descriptions-group
  100. Enumerations
  101. ------------
  102. .. _enum_OpenXRInterface_Hand:
  103. .. rst-class:: classref-enumeration
  104. enum **Hand**:
  105. .. _class_OpenXRInterface_constant_HAND_LEFT:
  106. .. rst-class:: classref-enumeration-constant
  107. :ref:`Hand<enum_OpenXRInterface_Hand>` **HAND_LEFT** = ``0``
  108. Left hand.
  109. .. _class_OpenXRInterface_constant_HAND_RIGHT:
  110. .. rst-class:: classref-enumeration-constant
  111. :ref:`Hand<enum_OpenXRInterface_Hand>` **HAND_RIGHT** = ``1``
  112. Right hand.
  113. .. _class_OpenXRInterface_constant_HAND_MAX:
  114. .. rst-class:: classref-enumeration-constant
  115. :ref:`Hand<enum_OpenXRInterface_Hand>` **HAND_MAX** = ``2``
  116. Maximum value for the hand enum.
  117. .. rst-class:: classref-item-separator
  118. ----
  119. .. _enum_OpenXRInterface_HandMotionRange:
  120. .. rst-class:: classref-enumeration
  121. enum **HandMotionRange**:
  122. .. _class_OpenXRInterface_constant_HAND_MOTION_RANGE_UNOBSTRUCTED:
  123. .. rst-class:: classref-enumeration-constant
  124. :ref:`HandMotionRange<enum_OpenXRInterface_HandMotionRange>` **HAND_MOTION_RANGE_UNOBSTRUCTED** = ``0``
  125. .. _class_OpenXRInterface_constant_HAND_MOTION_RANGE_CONFORM_TO_CONTROLLER:
  126. .. rst-class:: classref-enumeration-constant
  127. :ref:`HandMotionRange<enum_OpenXRInterface_HandMotionRange>` **HAND_MOTION_RANGE_CONFORM_TO_CONTROLLER** = ``1``
  128. .. _class_OpenXRInterface_constant_HAND_MOTION_RANGE_MAX:
  129. .. rst-class:: classref-enumeration-constant
  130. :ref:`HandMotionRange<enum_OpenXRInterface_HandMotionRange>` **HAND_MOTION_RANGE_MAX** = ``2``
  131. .. rst-class:: classref-item-separator
  132. ----
  133. .. _enum_OpenXRInterface_HandJoints:
  134. .. rst-class:: classref-enumeration
  135. enum **HandJoints**:
  136. .. _class_OpenXRInterface_constant_HAND_JOINT_PALM:
  137. .. rst-class:: classref-enumeration-constant
  138. :ref:`HandJoints<enum_OpenXRInterface_HandJoints>` **HAND_JOINT_PALM** = ``0``
  139. Palm joint.
  140. .. _class_OpenXRInterface_constant_HAND_JOINT_WRIST:
  141. .. rst-class:: classref-enumeration-constant
  142. :ref:`HandJoints<enum_OpenXRInterface_HandJoints>` **HAND_JOINT_WRIST** = ``1``
  143. Wrist joint.
  144. .. _class_OpenXRInterface_constant_HAND_JOINT_THUMB_METACARPAL:
  145. .. rst-class:: classref-enumeration-constant
  146. :ref:`HandJoints<enum_OpenXRInterface_HandJoints>` **HAND_JOINT_THUMB_METACARPAL** = ``2``
  147. Thumb metacarpal joint.
  148. .. _class_OpenXRInterface_constant_HAND_JOINT_THUMB_PROXIMAL:
  149. .. rst-class:: classref-enumeration-constant
  150. :ref:`HandJoints<enum_OpenXRInterface_HandJoints>` **HAND_JOINT_THUMB_PROXIMAL** = ``3``
  151. Thumb proximal joint.
  152. .. _class_OpenXRInterface_constant_HAND_JOINT_THUMB_DISTAL:
  153. .. rst-class:: classref-enumeration-constant
  154. :ref:`HandJoints<enum_OpenXRInterface_HandJoints>` **HAND_JOINT_THUMB_DISTAL** = ``4``
  155. Thumb distal joint.
  156. .. _class_OpenXRInterface_constant_HAND_JOINT_THUMB_TIP:
  157. .. rst-class:: classref-enumeration-constant
  158. :ref:`HandJoints<enum_OpenXRInterface_HandJoints>` **HAND_JOINT_THUMB_TIP** = ``5``
  159. Thumb tip joint.
  160. .. _class_OpenXRInterface_constant_HAND_JOINT_INDEX_METACARPAL:
  161. .. rst-class:: classref-enumeration-constant
  162. :ref:`HandJoints<enum_OpenXRInterface_HandJoints>` **HAND_JOINT_INDEX_METACARPAL** = ``6``
  163. Index metacarpal joint.
  164. .. _class_OpenXRInterface_constant_HAND_JOINT_INDEX_PROXIMAL:
  165. .. rst-class:: classref-enumeration-constant
  166. :ref:`HandJoints<enum_OpenXRInterface_HandJoints>` **HAND_JOINT_INDEX_PROXIMAL** = ``7``
  167. Index proximal joint.
  168. .. _class_OpenXRInterface_constant_HAND_JOINT_INDEX_INTERMEDIATE:
  169. .. rst-class:: classref-enumeration-constant
  170. :ref:`HandJoints<enum_OpenXRInterface_HandJoints>` **HAND_JOINT_INDEX_INTERMEDIATE** = ``8``
  171. Index intermediate joint.
  172. .. _class_OpenXRInterface_constant_HAND_JOINT_INDEX_DISTAL:
  173. .. rst-class:: classref-enumeration-constant
  174. :ref:`HandJoints<enum_OpenXRInterface_HandJoints>` **HAND_JOINT_INDEX_DISTAL** = ``9``
  175. Index distal joint.
  176. .. _class_OpenXRInterface_constant_HAND_JOINT_INDEX_TIP:
  177. .. rst-class:: classref-enumeration-constant
  178. :ref:`HandJoints<enum_OpenXRInterface_HandJoints>` **HAND_JOINT_INDEX_TIP** = ``10``
  179. Index tip joint.
  180. .. _class_OpenXRInterface_constant_HAND_JOINT_MIDDLE_METACARPAL:
  181. .. rst-class:: classref-enumeration-constant
  182. :ref:`HandJoints<enum_OpenXRInterface_HandJoints>` **HAND_JOINT_MIDDLE_METACARPAL** = ``11``
  183. Middle metacarpal joint.
  184. .. _class_OpenXRInterface_constant_HAND_JOINT_MIDDLE_PROXIMAL:
  185. .. rst-class:: classref-enumeration-constant
  186. :ref:`HandJoints<enum_OpenXRInterface_HandJoints>` **HAND_JOINT_MIDDLE_PROXIMAL** = ``12``
  187. Middle proximal joint.
  188. .. _class_OpenXRInterface_constant_HAND_JOINT_MIDDLE_INTERMEDIATE:
  189. .. rst-class:: classref-enumeration-constant
  190. :ref:`HandJoints<enum_OpenXRInterface_HandJoints>` **HAND_JOINT_MIDDLE_INTERMEDIATE** = ``13``
  191. Middle intermediate joint.
  192. .. _class_OpenXRInterface_constant_HAND_JOINT_MIDDLE_DISTAL:
  193. .. rst-class:: classref-enumeration-constant
  194. :ref:`HandJoints<enum_OpenXRInterface_HandJoints>` **HAND_JOINT_MIDDLE_DISTAL** = ``14``
  195. Middle distal joint.
  196. .. _class_OpenXRInterface_constant_HAND_JOINT_MIDDLE_TIP:
  197. .. rst-class:: classref-enumeration-constant
  198. :ref:`HandJoints<enum_OpenXRInterface_HandJoints>` **HAND_JOINT_MIDDLE_TIP** = ``15``
  199. Middle tip joint.
  200. .. _class_OpenXRInterface_constant_HAND_JOINT_RING_METACARPAL:
  201. .. rst-class:: classref-enumeration-constant
  202. :ref:`HandJoints<enum_OpenXRInterface_HandJoints>` **HAND_JOINT_RING_METACARPAL** = ``16``
  203. Ring metacarpal joint.
  204. .. _class_OpenXRInterface_constant_HAND_JOINT_RING_PROXIMAL:
  205. .. rst-class:: classref-enumeration-constant
  206. :ref:`HandJoints<enum_OpenXRInterface_HandJoints>` **HAND_JOINT_RING_PROXIMAL** = ``17``
  207. Ring proximal joint.
  208. .. _class_OpenXRInterface_constant_HAND_JOINT_RING_INTERMEDIATE:
  209. .. rst-class:: classref-enumeration-constant
  210. :ref:`HandJoints<enum_OpenXRInterface_HandJoints>` **HAND_JOINT_RING_INTERMEDIATE** = ``18``
  211. Ring intermediate joint.
  212. .. _class_OpenXRInterface_constant_HAND_JOINT_RING_DISTAL:
  213. .. rst-class:: classref-enumeration-constant
  214. :ref:`HandJoints<enum_OpenXRInterface_HandJoints>` **HAND_JOINT_RING_DISTAL** = ``19``
  215. Ring distal joint.
  216. .. _class_OpenXRInterface_constant_HAND_JOINT_RING_TIP:
  217. .. rst-class:: classref-enumeration-constant
  218. :ref:`HandJoints<enum_OpenXRInterface_HandJoints>` **HAND_JOINT_RING_TIP** = ``20``
  219. Ring tip joint.
  220. .. _class_OpenXRInterface_constant_HAND_JOINT_LITTLE_METACARPAL:
  221. .. rst-class:: classref-enumeration-constant
  222. :ref:`HandJoints<enum_OpenXRInterface_HandJoints>` **HAND_JOINT_LITTLE_METACARPAL** = ``21``
  223. Little metacarpal joint.
  224. .. _class_OpenXRInterface_constant_HAND_JOINT_LITTLE_PROXIMAL:
  225. .. rst-class:: classref-enumeration-constant
  226. :ref:`HandJoints<enum_OpenXRInterface_HandJoints>` **HAND_JOINT_LITTLE_PROXIMAL** = ``22``
  227. Little proximal joint.
  228. .. _class_OpenXRInterface_constant_HAND_JOINT_LITTLE_INTERMEDIATE:
  229. .. rst-class:: classref-enumeration-constant
  230. :ref:`HandJoints<enum_OpenXRInterface_HandJoints>` **HAND_JOINT_LITTLE_INTERMEDIATE** = ``23``
  231. Little intermediate joint.
  232. .. _class_OpenXRInterface_constant_HAND_JOINT_LITTLE_DISTAL:
  233. .. rst-class:: classref-enumeration-constant
  234. :ref:`HandJoints<enum_OpenXRInterface_HandJoints>` **HAND_JOINT_LITTLE_DISTAL** = ``24``
  235. Little distal joint.
  236. .. _class_OpenXRInterface_constant_HAND_JOINT_LITTLE_TIP:
  237. .. rst-class:: classref-enumeration-constant
  238. :ref:`HandJoints<enum_OpenXRInterface_HandJoints>` **HAND_JOINT_LITTLE_TIP** = ``25``
  239. Little tip joint.
  240. .. _class_OpenXRInterface_constant_HAND_JOINT_MAX:
  241. .. rst-class:: classref-enumeration-constant
  242. :ref:`HandJoints<enum_OpenXRInterface_HandJoints>` **HAND_JOINT_MAX** = ``26``
  243. Maximum value for the hand joint enum.
  244. .. rst-class:: classref-section-separator
  245. ----
  246. .. rst-class:: classref-descriptions-group
  247. Property Descriptions
  248. ---------------------
  249. .. _class_OpenXRInterface_property_display_refresh_rate:
  250. .. rst-class:: classref-property
  251. :ref:`float<class_float>` **display_refresh_rate** = ``0.0``
  252. .. rst-class:: classref-property-setget
  253. - void **set_display_refresh_rate** **(** :ref:`float<class_float>` value **)**
  254. - :ref:`float<class_float>` **get_display_refresh_rate** **(** **)**
  255. The display refresh rate for the current HMD. Only functional if this feature is supported by the OpenXR runtime and after the interface has been initialized.
  256. .. rst-class:: classref-item-separator
  257. ----
  258. .. _class_OpenXRInterface_property_foveation_dynamic:
  259. .. rst-class:: classref-property
  260. :ref:`bool<class_bool>` **foveation_dynamic** = ``false``
  261. .. rst-class:: classref-property-setget
  262. - void **set_foveation_dynamic** **(** :ref:`bool<class_bool>` value **)**
  263. - :ref:`bool<class_bool>` **get_foveation_dynamic** **(** **)**
  264. Enable dynamic foveation adjustment, the interface must be initialised before this is accessible. If enabled foveation will automatically adjusted between low and :ref:`foveation_level<class_OpenXRInterface_property_foveation_level>`.
  265. .. rst-class:: classref-item-separator
  266. ----
  267. .. _class_OpenXRInterface_property_foveation_level:
  268. .. rst-class:: classref-property
  269. :ref:`int<class_int>` **foveation_level** = ``0``
  270. .. rst-class:: classref-property-setget
  271. - void **set_foveation_level** **(** :ref:`int<class_int>` value **)**
  272. - :ref:`int<class_int>` **get_foveation_level** **(** **)**
  273. Set foveation level from 0 (off) to 3 (high), the interface must be initialised before this is accessible.
  274. .. rst-class:: classref-item-separator
  275. ----
  276. .. _class_OpenXRInterface_property_render_target_size_multiplier:
  277. .. rst-class:: classref-property
  278. :ref:`float<class_float>` **render_target_size_multiplier** = ``1.0``
  279. .. rst-class:: classref-property-setget
  280. - void **set_render_target_size_multiplier** **(** :ref:`float<class_float>` value **)**
  281. - :ref:`float<class_float>` **get_render_target_size_multiplier** **(** **)**
  282. The render size multiplier for the current HMD. Must be set before the interface has been initialized.
  283. .. rst-class:: classref-section-separator
  284. ----
  285. .. rst-class:: classref-descriptions-group
  286. Method Descriptions
  287. -------------------
  288. .. _class_OpenXRInterface_method_get_action_sets:
  289. .. rst-class:: classref-method
  290. :ref:`Array<class_Array>` **get_action_sets** **(** **)** |const|
  291. Returns a list of action sets registered with Godot (loaded from the action map at runtime).
  292. .. rst-class:: classref-item-separator
  293. ----
  294. .. _class_OpenXRInterface_method_get_available_display_refresh_rates:
  295. .. rst-class:: classref-method
  296. :ref:`Array<class_Array>` **get_available_display_refresh_rates** **(** **)** |const|
  297. Returns display refresh rates supported by the current HMD. Only returned if this feature is supported by the OpenXR runtime and after the interface has been initialized.
  298. .. rst-class:: classref-item-separator
  299. ----
  300. .. _class_OpenXRInterface_method_get_hand_joint_angular_velocity:
  301. .. rst-class:: classref-method
  302. :ref:`Vector3<class_Vector3>` **get_hand_joint_angular_velocity** **(** :ref:`Hand<enum_OpenXRInterface_Hand>` hand, :ref:`HandJoints<enum_OpenXRInterface_HandJoints>` joint **)** |const|
  303. If handtracking is enabled, returns the angular velocity of a joint (``joint``) of a hand (``hand``) as provided by OpenXR. This is relative to :ref:`XROrigin3D<class_XROrigin3D>`!
  304. .. rst-class:: classref-item-separator
  305. ----
  306. .. _class_OpenXRInterface_method_get_hand_joint_linear_velocity:
  307. .. rst-class:: classref-method
  308. :ref:`Vector3<class_Vector3>` **get_hand_joint_linear_velocity** **(** :ref:`Hand<enum_OpenXRInterface_Hand>` hand, :ref:`HandJoints<enum_OpenXRInterface_HandJoints>` joint **)** |const|
  309. If handtracking is enabled, returns the linear velocity of a joint (``joint``) of a hand (``hand``) as provided by OpenXR. This is relative to :ref:`XROrigin3D<class_XROrigin3D>` without worldscale applied!
  310. .. rst-class:: classref-item-separator
  311. ----
  312. .. _class_OpenXRInterface_method_get_hand_joint_position:
  313. .. rst-class:: classref-method
  314. :ref:`Vector3<class_Vector3>` **get_hand_joint_position** **(** :ref:`Hand<enum_OpenXRInterface_Hand>` hand, :ref:`HandJoints<enum_OpenXRInterface_HandJoints>` joint **)** |const|
  315. If handtracking is enabled, returns the position of a joint (``joint``) of a hand (``hand``) as provided by OpenXR. This is relative to :ref:`XROrigin3D<class_XROrigin3D>` without worldscale applied!
  316. .. rst-class:: classref-item-separator
  317. ----
  318. .. _class_OpenXRInterface_method_get_hand_joint_radius:
  319. .. rst-class:: classref-method
  320. :ref:`float<class_float>` **get_hand_joint_radius** **(** :ref:`Hand<enum_OpenXRInterface_Hand>` hand, :ref:`HandJoints<enum_OpenXRInterface_HandJoints>` joint **)** |const|
  321. If handtracking is enabled, returns the radius of a joint (``joint``) of a hand (``hand``) as provided by OpenXR. This is without worldscale applied!
  322. .. rst-class:: classref-item-separator
  323. ----
  324. .. _class_OpenXRInterface_method_get_hand_joint_rotation:
  325. .. rst-class:: classref-method
  326. :ref:`Quaternion<class_Quaternion>` **get_hand_joint_rotation** **(** :ref:`Hand<enum_OpenXRInterface_Hand>` hand, :ref:`HandJoints<enum_OpenXRInterface_HandJoints>` joint **)** |const|
  327. If handtracking is enabled, returns the rotation of a joint (``joint``) of a hand (``hand``) as provided by OpenXR.
  328. .. rst-class:: classref-item-separator
  329. ----
  330. .. _class_OpenXRInterface_method_get_motion_range:
  331. .. rst-class:: classref-method
  332. :ref:`HandMotionRange<enum_OpenXRInterface_HandMotionRange>` **get_motion_range** **(** :ref:`Hand<enum_OpenXRInterface_Hand>` hand **)** |const|
  333. If handtracking is enabled and motion range is supported, gets the currently configured motion range for ``hand``.
  334. .. rst-class:: classref-item-separator
  335. ----
  336. .. _class_OpenXRInterface_method_is_action_set_active:
  337. .. rst-class:: classref-method
  338. :ref:`bool<class_bool>` **is_action_set_active** **(** :ref:`String<class_String>` name **)** |const|
  339. Returns ``true`` if the given action set is active.
  340. .. rst-class:: classref-item-separator
  341. ----
  342. .. _class_OpenXRInterface_method_is_foveation_supported:
  343. .. rst-class:: classref-method
  344. :ref:`bool<class_bool>` **is_foveation_supported** **(** **)** |const|
  345. Returns ``true`` if OpenXRs foveation extension is supported, the interface must be initialised before this returns a valid value.
  346. \ **Note:** This feature is only available on the compatibility renderer and currently only available on some stand alone headsets. For Vulkan set :ref:`Viewport.vrs_mode<class_Viewport_property_vrs_mode>` to ``VRS_XR`` on desktop.
  347. .. rst-class:: classref-item-separator
  348. ----
  349. .. _class_OpenXRInterface_method_set_action_set_active:
  350. .. rst-class:: classref-method
  351. void **set_action_set_active** **(** :ref:`String<class_String>` name, :ref:`bool<class_bool>` active **)**
  352. Sets the given action set as active or inactive.
  353. .. rst-class:: classref-item-separator
  354. ----
  355. .. _class_OpenXRInterface_method_set_motion_range:
  356. .. rst-class:: classref-method
  357. void **set_motion_range** **(** :ref:`Hand<enum_OpenXRInterface_Hand>` hand, :ref:`HandMotionRange<enum_OpenXRInterface_HandMotionRange>` motion_range **)**
  358. If handtracking is enabled and motion range is supported, sets the currently configured motion range for ``hand`` to ``motion_range``.
  359. .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
  360. .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
  361. .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`
  362. .. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)`
  363. .. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`
  364. .. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`
  365. .. |bitfield| replace:: :abbr:`BitField (This value is an integer composed as a bitmask of the following flags.)`