class_xrhandtracker.rst 26 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592
  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/doc/classes/XRHandTracker.xml.
  6. .. _class_XRHandTracker:
  7. XRHandTracker
  8. =============
  9. **Inherits:** :ref:`XRPositionalTracker<class_XRPositionalTracker>` **<** :ref:`XRTracker<class_XRTracker>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
  10. A tracked hand in XR.
  11. .. rst-class:: classref-introduction-group
  12. Description
  13. -----------
  14. A hand tracking system will create an instance of this object and add it to the :ref:`XRServer<class_XRServer>`. This tracking system will then obtain skeleton data, convert it to the Godot Humanoid hand skeleton and store this data on the **XRHandTracker** object.
  15. Use :ref:`XRHandModifier3D<class_XRHandModifier3D>` to animate a hand mesh using hand tracking data.
  16. .. rst-class:: classref-introduction-group
  17. Tutorials
  18. ---------
  19. - :doc:`XR documentation index <../tutorials/xr/index>`
  20. .. rst-class:: classref-reftable-group
  21. Properties
  22. ----------
  23. .. table::
  24. :widths: auto
  25. +------------------------------------------------------------------+--------------------------------------------------------------------------------+---------------------------------------------------------------------------------------+
  26. | :ref:`TrackerHand<enum_XRPositionalTracker_TrackerHand>` | hand | ``1`` (overrides :ref:`XRPositionalTracker<class_XRPositionalTracker_property_hand>`) |
  27. +------------------------------------------------------------------+--------------------------------------------------------------------------------+---------------------------------------------------------------------------------------+
  28. | :ref:`HandTrackingSource<enum_XRHandTracker_HandTrackingSource>` | :ref:`hand_tracking_source<class_XRHandTracker_property_hand_tracking_source>` | ``0`` |
  29. +------------------------------------------------------------------+--------------------------------------------------------------------------------+---------------------------------------------------------------------------------------+
  30. | :ref:`bool<class_bool>` | :ref:`has_tracking_data<class_XRHandTracker_property_has_tracking_data>` | ``false`` |
  31. +------------------------------------------------------------------+--------------------------------------------------------------------------------+---------------------------------------------------------------------------------------+
  32. | :ref:`TrackerType<enum_XRServer_TrackerType>` | type | ``16`` (overrides :ref:`XRTracker<class_XRTracker_property_type>`) |
  33. +------------------------------------------------------------------+--------------------------------------------------------------------------------+---------------------------------------------------------------------------------------+
  34. .. rst-class:: classref-reftable-group
  35. Methods
  36. -------
  37. .. table::
  38. :widths: auto
  39. +------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  40. | :ref:`Vector3<class_Vector3>` | :ref:`get_hand_joint_angular_velocity<class_XRHandTracker_method_get_hand_joint_angular_velocity>`\ (\ joint\: :ref:`HandJoint<enum_XRHandTracker_HandJoint>`\ ) |const| |
  41. +------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  42. | |bitfield|\[:ref:`HandJointFlags<enum_XRHandTracker_HandJointFlags>`\] | :ref:`get_hand_joint_flags<class_XRHandTracker_method_get_hand_joint_flags>`\ (\ joint\: :ref:`HandJoint<enum_XRHandTracker_HandJoint>`\ ) |const| |
  43. +------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  44. | :ref:`Vector3<class_Vector3>` | :ref:`get_hand_joint_linear_velocity<class_XRHandTracker_method_get_hand_joint_linear_velocity>`\ (\ joint\: :ref:`HandJoint<enum_XRHandTracker_HandJoint>`\ ) |const| |
  45. +------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  46. | :ref:`float<class_float>` | :ref:`get_hand_joint_radius<class_XRHandTracker_method_get_hand_joint_radius>`\ (\ joint\: :ref:`HandJoint<enum_XRHandTracker_HandJoint>`\ ) |const| |
  47. +------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  48. | :ref:`Transform3D<class_Transform3D>` | :ref:`get_hand_joint_transform<class_XRHandTracker_method_get_hand_joint_transform>`\ (\ joint\: :ref:`HandJoint<enum_XRHandTracker_HandJoint>`\ ) |const| |
  49. +------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  50. | |void| | :ref:`set_hand_joint_angular_velocity<class_XRHandTracker_method_set_hand_joint_angular_velocity>`\ (\ joint\: :ref:`HandJoint<enum_XRHandTracker_HandJoint>`, angular_velocity\: :ref:`Vector3<class_Vector3>`\ ) |
  51. +------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  52. | |void| | :ref:`set_hand_joint_flags<class_XRHandTracker_method_set_hand_joint_flags>`\ (\ joint\: :ref:`HandJoint<enum_XRHandTracker_HandJoint>`, flags\: |bitfield|\[:ref:`HandJointFlags<enum_XRHandTracker_HandJointFlags>`\]\ ) |
  53. +------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  54. | |void| | :ref:`set_hand_joint_linear_velocity<class_XRHandTracker_method_set_hand_joint_linear_velocity>`\ (\ joint\: :ref:`HandJoint<enum_XRHandTracker_HandJoint>`, linear_velocity\: :ref:`Vector3<class_Vector3>`\ ) |
  55. +------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  56. | |void| | :ref:`set_hand_joint_radius<class_XRHandTracker_method_set_hand_joint_radius>`\ (\ joint\: :ref:`HandJoint<enum_XRHandTracker_HandJoint>`, radius\: :ref:`float<class_float>`\ ) |
  57. +------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  58. | |void| | :ref:`set_hand_joint_transform<class_XRHandTracker_method_set_hand_joint_transform>`\ (\ joint\: :ref:`HandJoint<enum_XRHandTracker_HandJoint>`, transform\: :ref:`Transform3D<class_Transform3D>`\ ) |
  59. +------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  60. .. rst-class:: classref-section-separator
  61. ----
  62. .. rst-class:: classref-descriptions-group
  63. Enumerations
  64. ------------
  65. .. _enum_XRHandTracker_HandTrackingSource:
  66. .. rst-class:: classref-enumeration
  67. enum **HandTrackingSource**: :ref:`🔗<enum_XRHandTracker_HandTrackingSource>`
  68. .. _class_XRHandTracker_constant_HAND_TRACKING_SOURCE_UNKNOWN:
  69. .. rst-class:: classref-enumeration-constant
  70. :ref:`HandTrackingSource<enum_XRHandTracker_HandTrackingSource>` **HAND_TRACKING_SOURCE_UNKNOWN** = ``0``
  71. The source of hand tracking data is unknown.
  72. .. _class_XRHandTracker_constant_HAND_TRACKING_SOURCE_UNOBSTRUCTED:
  73. .. rst-class:: classref-enumeration-constant
  74. :ref:`HandTrackingSource<enum_XRHandTracker_HandTrackingSource>` **HAND_TRACKING_SOURCE_UNOBSTRUCTED** = ``1``
  75. The source of hand tracking data is unobstructed, meaning that an accurate method of hand tracking is used. These include optical hand tracking, data gloves, etc.
  76. .. _class_XRHandTracker_constant_HAND_TRACKING_SOURCE_CONTROLLER:
  77. .. rst-class:: classref-enumeration-constant
  78. :ref:`HandTrackingSource<enum_XRHandTracker_HandTrackingSource>` **HAND_TRACKING_SOURCE_CONTROLLER** = ``2``
  79. The source of hand tracking data is a controller, meaning that joint positions are inferred from controller inputs.
  80. .. _class_XRHandTracker_constant_HAND_TRACKING_SOURCE_NOT_TRACKED:
  81. .. rst-class:: classref-enumeration-constant
  82. :ref:`HandTrackingSource<enum_XRHandTracker_HandTrackingSource>` **HAND_TRACKING_SOURCE_NOT_TRACKED** = ``3``
  83. No hand tracking data is tracked, this either means the hand is obscured, the controller is turned off, or tracking is not supported for the current input type.
  84. .. _class_XRHandTracker_constant_HAND_TRACKING_SOURCE_MAX:
  85. .. rst-class:: classref-enumeration-constant
  86. :ref:`HandTrackingSource<enum_XRHandTracker_HandTrackingSource>` **HAND_TRACKING_SOURCE_MAX** = ``4``
  87. Represents the size of the :ref:`HandTrackingSource<enum_XRHandTracker_HandTrackingSource>` enum.
  88. .. rst-class:: classref-item-separator
  89. ----
  90. .. _enum_XRHandTracker_HandJoint:
  91. .. rst-class:: classref-enumeration
  92. enum **HandJoint**: :ref:`🔗<enum_XRHandTracker_HandJoint>`
  93. .. _class_XRHandTracker_constant_HAND_JOINT_PALM:
  94. .. rst-class:: classref-enumeration-constant
  95. :ref:`HandJoint<enum_XRHandTracker_HandJoint>` **HAND_JOINT_PALM** = ``0``
  96. Palm joint.
  97. .. _class_XRHandTracker_constant_HAND_JOINT_WRIST:
  98. .. rst-class:: classref-enumeration-constant
  99. :ref:`HandJoint<enum_XRHandTracker_HandJoint>` **HAND_JOINT_WRIST** = ``1``
  100. Wrist joint.
  101. .. _class_XRHandTracker_constant_HAND_JOINT_THUMB_METACARPAL:
  102. .. rst-class:: classref-enumeration-constant
  103. :ref:`HandJoint<enum_XRHandTracker_HandJoint>` **HAND_JOINT_THUMB_METACARPAL** = ``2``
  104. Thumb metacarpal joint.
  105. .. _class_XRHandTracker_constant_HAND_JOINT_THUMB_PHALANX_PROXIMAL:
  106. .. rst-class:: classref-enumeration-constant
  107. :ref:`HandJoint<enum_XRHandTracker_HandJoint>` **HAND_JOINT_THUMB_PHALANX_PROXIMAL** = ``3``
  108. Thumb phalanx proximal joint.
  109. .. _class_XRHandTracker_constant_HAND_JOINT_THUMB_PHALANX_DISTAL:
  110. .. rst-class:: classref-enumeration-constant
  111. :ref:`HandJoint<enum_XRHandTracker_HandJoint>` **HAND_JOINT_THUMB_PHALANX_DISTAL** = ``4``
  112. Thumb phalanx distal joint.
  113. .. _class_XRHandTracker_constant_HAND_JOINT_THUMB_TIP:
  114. .. rst-class:: classref-enumeration-constant
  115. :ref:`HandJoint<enum_XRHandTracker_HandJoint>` **HAND_JOINT_THUMB_TIP** = ``5``
  116. Thumb tip joint.
  117. .. _class_XRHandTracker_constant_HAND_JOINT_INDEX_FINGER_METACARPAL:
  118. .. rst-class:: classref-enumeration-constant
  119. :ref:`HandJoint<enum_XRHandTracker_HandJoint>` **HAND_JOINT_INDEX_FINGER_METACARPAL** = ``6``
  120. Index finger metacarpal joint.
  121. .. _class_XRHandTracker_constant_HAND_JOINT_INDEX_FINGER_PHALANX_PROXIMAL:
  122. .. rst-class:: classref-enumeration-constant
  123. :ref:`HandJoint<enum_XRHandTracker_HandJoint>` **HAND_JOINT_INDEX_FINGER_PHALANX_PROXIMAL** = ``7``
  124. Index finger phalanx proximal joint.
  125. .. _class_XRHandTracker_constant_HAND_JOINT_INDEX_FINGER_PHALANX_INTERMEDIATE:
  126. .. rst-class:: classref-enumeration-constant
  127. :ref:`HandJoint<enum_XRHandTracker_HandJoint>` **HAND_JOINT_INDEX_FINGER_PHALANX_INTERMEDIATE** = ``8``
  128. Index finger phalanx intermediate joint.
  129. .. _class_XRHandTracker_constant_HAND_JOINT_INDEX_FINGER_PHALANX_DISTAL:
  130. .. rst-class:: classref-enumeration-constant
  131. :ref:`HandJoint<enum_XRHandTracker_HandJoint>` **HAND_JOINT_INDEX_FINGER_PHALANX_DISTAL** = ``9``
  132. Index finger phalanx distal joint.
  133. .. _class_XRHandTracker_constant_HAND_JOINT_INDEX_FINGER_TIP:
  134. .. rst-class:: classref-enumeration-constant
  135. :ref:`HandJoint<enum_XRHandTracker_HandJoint>` **HAND_JOINT_INDEX_FINGER_TIP** = ``10``
  136. Index finger tip joint.
  137. .. _class_XRHandTracker_constant_HAND_JOINT_MIDDLE_FINGER_METACARPAL:
  138. .. rst-class:: classref-enumeration-constant
  139. :ref:`HandJoint<enum_XRHandTracker_HandJoint>` **HAND_JOINT_MIDDLE_FINGER_METACARPAL** = ``11``
  140. Middle finger metacarpal joint.
  141. .. _class_XRHandTracker_constant_HAND_JOINT_MIDDLE_FINGER_PHALANX_PROXIMAL:
  142. .. rst-class:: classref-enumeration-constant
  143. :ref:`HandJoint<enum_XRHandTracker_HandJoint>` **HAND_JOINT_MIDDLE_FINGER_PHALANX_PROXIMAL** = ``12``
  144. Middle finger phalanx proximal joint.
  145. .. _class_XRHandTracker_constant_HAND_JOINT_MIDDLE_FINGER_PHALANX_INTERMEDIATE:
  146. .. rst-class:: classref-enumeration-constant
  147. :ref:`HandJoint<enum_XRHandTracker_HandJoint>` **HAND_JOINT_MIDDLE_FINGER_PHALANX_INTERMEDIATE** = ``13``
  148. Middle finger phalanx intermediate joint.
  149. .. _class_XRHandTracker_constant_HAND_JOINT_MIDDLE_FINGER_PHALANX_DISTAL:
  150. .. rst-class:: classref-enumeration-constant
  151. :ref:`HandJoint<enum_XRHandTracker_HandJoint>` **HAND_JOINT_MIDDLE_FINGER_PHALANX_DISTAL** = ``14``
  152. Middle finger phalanx distal joint.
  153. .. _class_XRHandTracker_constant_HAND_JOINT_MIDDLE_FINGER_TIP:
  154. .. rst-class:: classref-enumeration-constant
  155. :ref:`HandJoint<enum_XRHandTracker_HandJoint>` **HAND_JOINT_MIDDLE_FINGER_TIP** = ``15``
  156. Middle finger tip joint.
  157. .. _class_XRHandTracker_constant_HAND_JOINT_RING_FINGER_METACARPAL:
  158. .. rst-class:: classref-enumeration-constant
  159. :ref:`HandJoint<enum_XRHandTracker_HandJoint>` **HAND_JOINT_RING_FINGER_METACARPAL** = ``16``
  160. Ring finger metacarpal joint.
  161. .. _class_XRHandTracker_constant_HAND_JOINT_RING_FINGER_PHALANX_PROXIMAL:
  162. .. rst-class:: classref-enumeration-constant
  163. :ref:`HandJoint<enum_XRHandTracker_HandJoint>` **HAND_JOINT_RING_FINGER_PHALANX_PROXIMAL** = ``17``
  164. Ring finger phalanx proximal joint.
  165. .. _class_XRHandTracker_constant_HAND_JOINT_RING_FINGER_PHALANX_INTERMEDIATE:
  166. .. rst-class:: classref-enumeration-constant
  167. :ref:`HandJoint<enum_XRHandTracker_HandJoint>` **HAND_JOINT_RING_FINGER_PHALANX_INTERMEDIATE** = ``18``
  168. Ring finger phalanx intermediate joint.
  169. .. _class_XRHandTracker_constant_HAND_JOINT_RING_FINGER_PHALANX_DISTAL:
  170. .. rst-class:: classref-enumeration-constant
  171. :ref:`HandJoint<enum_XRHandTracker_HandJoint>` **HAND_JOINT_RING_FINGER_PHALANX_DISTAL** = ``19``
  172. Ring finger phalanx distal joint.
  173. .. _class_XRHandTracker_constant_HAND_JOINT_RING_FINGER_TIP:
  174. .. rst-class:: classref-enumeration-constant
  175. :ref:`HandJoint<enum_XRHandTracker_HandJoint>` **HAND_JOINT_RING_FINGER_TIP** = ``20``
  176. Ring finger tip joint.
  177. .. _class_XRHandTracker_constant_HAND_JOINT_PINKY_FINGER_METACARPAL:
  178. .. rst-class:: classref-enumeration-constant
  179. :ref:`HandJoint<enum_XRHandTracker_HandJoint>` **HAND_JOINT_PINKY_FINGER_METACARPAL** = ``21``
  180. Pinky finger metacarpal joint.
  181. .. _class_XRHandTracker_constant_HAND_JOINT_PINKY_FINGER_PHALANX_PROXIMAL:
  182. .. rst-class:: classref-enumeration-constant
  183. :ref:`HandJoint<enum_XRHandTracker_HandJoint>` **HAND_JOINT_PINKY_FINGER_PHALANX_PROXIMAL** = ``22``
  184. Pinky finger phalanx proximal joint.
  185. .. _class_XRHandTracker_constant_HAND_JOINT_PINKY_FINGER_PHALANX_INTERMEDIATE:
  186. .. rst-class:: classref-enumeration-constant
  187. :ref:`HandJoint<enum_XRHandTracker_HandJoint>` **HAND_JOINT_PINKY_FINGER_PHALANX_INTERMEDIATE** = ``23``
  188. Pinky finger phalanx intermediate joint.
  189. .. _class_XRHandTracker_constant_HAND_JOINT_PINKY_FINGER_PHALANX_DISTAL:
  190. .. rst-class:: classref-enumeration-constant
  191. :ref:`HandJoint<enum_XRHandTracker_HandJoint>` **HAND_JOINT_PINKY_FINGER_PHALANX_DISTAL** = ``24``
  192. Pinky finger phalanx distal joint.
  193. .. _class_XRHandTracker_constant_HAND_JOINT_PINKY_FINGER_TIP:
  194. .. rst-class:: classref-enumeration-constant
  195. :ref:`HandJoint<enum_XRHandTracker_HandJoint>` **HAND_JOINT_PINKY_FINGER_TIP** = ``25``
  196. Pinky finger tip joint.
  197. .. _class_XRHandTracker_constant_HAND_JOINT_MAX:
  198. .. rst-class:: classref-enumeration-constant
  199. :ref:`HandJoint<enum_XRHandTracker_HandJoint>` **HAND_JOINT_MAX** = ``26``
  200. Represents the size of the :ref:`HandJoint<enum_XRHandTracker_HandJoint>` enum.
  201. .. rst-class:: classref-item-separator
  202. ----
  203. .. _enum_XRHandTracker_HandJointFlags:
  204. .. rst-class:: classref-enumeration
  205. flags **HandJointFlags**: :ref:`🔗<enum_XRHandTracker_HandJointFlags>`
  206. .. _class_XRHandTracker_constant_HAND_JOINT_FLAG_ORIENTATION_VALID:
  207. .. rst-class:: classref-enumeration-constant
  208. :ref:`HandJointFlags<enum_XRHandTracker_HandJointFlags>` **HAND_JOINT_FLAG_ORIENTATION_VALID** = ``1``
  209. The hand joint's orientation data is valid.
  210. .. _class_XRHandTracker_constant_HAND_JOINT_FLAG_ORIENTATION_TRACKED:
  211. .. rst-class:: classref-enumeration-constant
  212. :ref:`HandJointFlags<enum_XRHandTracker_HandJointFlags>` **HAND_JOINT_FLAG_ORIENTATION_TRACKED** = ``2``
  213. The hand joint's orientation is actively tracked. May not be set if tracking has been temporarily lost.
  214. .. _class_XRHandTracker_constant_HAND_JOINT_FLAG_POSITION_VALID:
  215. .. rst-class:: classref-enumeration-constant
  216. :ref:`HandJointFlags<enum_XRHandTracker_HandJointFlags>` **HAND_JOINT_FLAG_POSITION_VALID** = ``4``
  217. The hand joint's position data is valid.
  218. .. _class_XRHandTracker_constant_HAND_JOINT_FLAG_POSITION_TRACKED:
  219. .. rst-class:: classref-enumeration-constant
  220. :ref:`HandJointFlags<enum_XRHandTracker_HandJointFlags>` **HAND_JOINT_FLAG_POSITION_TRACKED** = ``8``
  221. The hand joint's position is actively tracked. May not be set if tracking has been temporarily lost.
  222. .. _class_XRHandTracker_constant_HAND_JOINT_FLAG_LINEAR_VELOCITY_VALID:
  223. .. rst-class:: classref-enumeration-constant
  224. :ref:`HandJointFlags<enum_XRHandTracker_HandJointFlags>` **HAND_JOINT_FLAG_LINEAR_VELOCITY_VALID** = ``16``
  225. The hand joint's linear velocity data is valid.
  226. .. _class_XRHandTracker_constant_HAND_JOINT_FLAG_ANGULAR_VELOCITY_VALID:
  227. .. rst-class:: classref-enumeration-constant
  228. :ref:`HandJointFlags<enum_XRHandTracker_HandJointFlags>` **HAND_JOINT_FLAG_ANGULAR_VELOCITY_VALID** = ``32``
  229. The hand joint's angular velocity data is valid.
  230. .. rst-class:: classref-section-separator
  231. ----
  232. .. rst-class:: classref-descriptions-group
  233. Property Descriptions
  234. ---------------------
  235. .. _class_XRHandTracker_property_hand_tracking_source:
  236. .. rst-class:: classref-property
  237. :ref:`HandTrackingSource<enum_XRHandTracker_HandTrackingSource>` **hand_tracking_source** = ``0`` :ref:`🔗<class_XRHandTracker_property_hand_tracking_source>`
  238. .. rst-class:: classref-property-setget
  239. - |void| **set_hand_tracking_source**\ (\ value\: :ref:`HandTrackingSource<enum_XRHandTracker_HandTrackingSource>`\ )
  240. - :ref:`HandTrackingSource<enum_XRHandTracker_HandTrackingSource>` **get_hand_tracking_source**\ (\ )
  241. The source of the hand tracking data.
  242. .. rst-class:: classref-item-separator
  243. ----
  244. .. _class_XRHandTracker_property_has_tracking_data:
  245. .. rst-class:: classref-property
  246. :ref:`bool<class_bool>` **has_tracking_data** = ``false`` :ref:`🔗<class_XRHandTracker_property_has_tracking_data>`
  247. .. rst-class:: classref-property-setget
  248. - |void| **set_has_tracking_data**\ (\ value\: :ref:`bool<class_bool>`\ )
  249. - :ref:`bool<class_bool>` **get_has_tracking_data**\ (\ )
  250. If ``true``, the hand tracking data is valid.
  251. .. rst-class:: classref-section-separator
  252. ----
  253. .. rst-class:: classref-descriptions-group
  254. Method Descriptions
  255. -------------------
  256. .. _class_XRHandTracker_method_get_hand_joint_angular_velocity:
  257. .. rst-class:: classref-method
  258. :ref:`Vector3<class_Vector3>` **get_hand_joint_angular_velocity**\ (\ joint\: :ref:`HandJoint<enum_XRHandTracker_HandJoint>`\ ) |const| :ref:`🔗<class_XRHandTracker_method_get_hand_joint_angular_velocity>`
  259. Returns the angular velocity for the given hand joint.
  260. .. rst-class:: classref-item-separator
  261. ----
  262. .. _class_XRHandTracker_method_get_hand_joint_flags:
  263. .. rst-class:: classref-method
  264. |bitfield|\[:ref:`HandJointFlags<enum_XRHandTracker_HandJointFlags>`\] **get_hand_joint_flags**\ (\ joint\: :ref:`HandJoint<enum_XRHandTracker_HandJoint>`\ ) |const| :ref:`🔗<class_XRHandTracker_method_get_hand_joint_flags>`
  265. Returns flags about the validity of the tracking data for the given hand joint (see :ref:`HandJointFlags<enum_XRHandTracker_HandJointFlags>`).
  266. .. rst-class:: classref-item-separator
  267. ----
  268. .. _class_XRHandTracker_method_get_hand_joint_linear_velocity:
  269. .. rst-class:: classref-method
  270. :ref:`Vector3<class_Vector3>` **get_hand_joint_linear_velocity**\ (\ joint\: :ref:`HandJoint<enum_XRHandTracker_HandJoint>`\ ) |const| :ref:`🔗<class_XRHandTracker_method_get_hand_joint_linear_velocity>`
  271. Returns the linear velocity for the given hand joint.
  272. .. rst-class:: classref-item-separator
  273. ----
  274. .. _class_XRHandTracker_method_get_hand_joint_radius:
  275. .. rst-class:: classref-method
  276. :ref:`float<class_float>` **get_hand_joint_radius**\ (\ joint\: :ref:`HandJoint<enum_XRHandTracker_HandJoint>`\ ) |const| :ref:`🔗<class_XRHandTracker_method_get_hand_joint_radius>`
  277. Returns the radius of the given hand joint.
  278. .. rst-class:: classref-item-separator
  279. ----
  280. .. _class_XRHandTracker_method_get_hand_joint_transform:
  281. .. rst-class:: classref-method
  282. :ref:`Transform3D<class_Transform3D>` **get_hand_joint_transform**\ (\ joint\: :ref:`HandJoint<enum_XRHandTracker_HandJoint>`\ ) |const| :ref:`🔗<class_XRHandTracker_method_get_hand_joint_transform>`
  283. Returns the transform for the given hand joint.
  284. .. rst-class:: classref-item-separator
  285. ----
  286. .. _class_XRHandTracker_method_set_hand_joint_angular_velocity:
  287. .. rst-class:: classref-method
  288. |void| **set_hand_joint_angular_velocity**\ (\ joint\: :ref:`HandJoint<enum_XRHandTracker_HandJoint>`, angular_velocity\: :ref:`Vector3<class_Vector3>`\ ) :ref:`🔗<class_XRHandTracker_method_set_hand_joint_angular_velocity>`
  289. Sets the angular velocity for the given hand joint.
  290. .. rst-class:: classref-item-separator
  291. ----
  292. .. _class_XRHandTracker_method_set_hand_joint_flags:
  293. .. rst-class:: classref-method
  294. |void| **set_hand_joint_flags**\ (\ joint\: :ref:`HandJoint<enum_XRHandTracker_HandJoint>`, flags\: |bitfield|\[:ref:`HandJointFlags<enum_XRHandTracker_HandJointFlags>`\]\ ) :ref:`🔗<class_XRHandTracker_method_set_hand_joint_flags>`
  295. Sets flags about the validity of the tracking data for the given hand joint.
  296. .. rst-class:: classref-item-separator
  297. ----
  298. .. _class_XRHandTracker_method_set_hand_joint_linear_velocity:
  299. .. rst-class:: classref-method
  300. |void| **set_hand_joint_linear_velocity**\ (\ joint\: :ref:`HandJoint<enum_XRHandTracker_HandJoint>`, linear_velocity\: :ref:`Vector3<class_Vector3>`\ ) :ref:`🔗<class_XRHandTracker_method_set_hand_joint_linear_velocity>`
  301. Sets the linear velocity for the given hand joint.
  302. .. rst-class:: classref-item-separator
  303. ----
  304. .. _class_XRHandTracker_method_set_hand_joint_radius:
  305. .. rst-class:: classref-method
  306. |void| **set_hand_joint_radius**\ (\ joint\: :ref:`HandJoint<enum_XRHandTracker_HandJoint>`, radius\: :ref:`float<class_float>`\ ) :ref:`🔗<class_XRHandTracker_method_set_hand_joint_radius>`
  307. Sets the radius of the given hand joint.
  308. .. rst-class:: classref-item-separator
  309. ----
  310. .. _class_XRHandTracker_method_set_hand_joint_transform:
  311. .. rst-class:: classref-method
  312. |void| **set_hand_joint_transform**\ (\ joint\: :ref:`HandJoint<enum_XRHandTracker_HandJoint>`, transform\: :ref:`Transform3D<class_Transform3D>`\ ) :ref:`🔗<class_XRHandTracker_method_set_hand_joint_transform>`
  313. Sets the transform for the given hand joint.
  314. .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
  315. .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
  316. .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`
  317. .. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)`
  318. .. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`
  319. .. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`
  320. .. |bitfield| replace:: :abbr:`BitField (This value is an integer composed as a bitmask of the following flags.)`
  321. .. |void| replace:: :abbr:`void (No return value.)`