class_xrhandtracker.rst 26 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584
  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/4.3/doc/tools/make_rst.py.
  5. .. XML source: https://github.com/godotengine/godot/tree/4.3/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_MAX:
  81. .. rst-class:: classref-enumeration-constant
  82. :ref:`HandTrackingSource<enum_XRHandTracker_HandTrackingSource>` **HAND_TRACKING_SOURCE_MAX** = ``3``
  83. Represents the size of the :ref:`HandTrackingSource<enum_XRHandTracker_HandTrackingSource>` enum.
  84. .. rst-class:: classref-item-separator
  85. ----
  86. .. _enum_XRHandTracker_HandJoint:
  87. .. rst-class:: classref-enumeration
  88. enum **HandJoint**: :ref:`🔗<enum_XRHandTracker_HandJoint>`
  89. .. _class_XRHandTracker_constant_HAND_JOINT_PALM:
  90. .. rst-class:: classref-enumeration-constant
  91. :ref:`HandJoint<enum_XRHandTracker_HandJoint>` **HAND_JOINT_PALM** = ``0``
  92. Palm joint.
  93. .. _class_XRHandTracker_constant_HAND_JOINT_WRIST:
  94. .. rst-class:: classref-enumeration-constant
  95. :ref:`HandJoint<enum_XRHandTracker_HandJoint>` **HAND_JOINT_WRIST** = ``1``
  96. Wrist joint.
  97. .. _class_XRHandTracker_constant_HAND_JOINT_THUMB_METACARPAL:
  98. .. rst-class:: classref-enumeration-constant
  99. :ref:`HandJoint<enum_XRHandTracker_HandJoint>` **HAND_JOINT_THUMB_METACARPAL** = ``2``
  100. Thumb metacarpal joint.
  101. .. _class_XRHandTracker_constant_HAND_JOINT_THUMB_PHALANX_PROXIMAL:
  102. .. rst-class:: classref-enumeration-constant
  103. :ref:`HandJoint<enum_XRHandTracker_HandJoint>` **HAND_JOINT_THUMB_PHALANX_PROXIMAL** = ``3``
  104. Thumb phalanx proximal joint.
  105. .. _class_XRHandTracker_constant_HAND_JOINT_THUMB_PHALANX_DISTAL:
  106. .. rst-class:: classref-enumeration-constant
  107. :ref:`HandJoint<enum_XRHandTracker_HandJoint>` **HAND_JOINT_THUMB_PHALANX_DISTAL** = ``4``
  108. Thumb phalanx distal joint.
  109. .. _class_XRHandTracker_constant_HAND_JOINT_THUMB_TIP:
  110. .. rst-class:: classref-enumeration-constant
  111. :ref:`HandJoint<enum_XRHandTracker_HandJoint>` **HAND_JOINT_THUMB_TIP** = ``5``
  112. Thumb tip joint.
  113. .. _class_XRHandTracker_constant_HAND_JOINT_INDEX_FINGER_METACARPAL:
  114. .. rst-class:: classref-enumeration-constant
  115. :ref:`HandJoint<enum_XRHandTracker_HandJoint>` **HAND_JOINT_INDEX_FINGER_METACARPAL** = ``6``
  116. Index finger metacarpal joint.
  117. .. _class_XRHandTracker_constant_HAND_JOINT_INDEX_FINGER_PHALANX_PROXIMAL:
  118. .. rst-class:: classref-enumeration-constant
  119. :ref:`HandJoint<enum_XRHandTracker_HandJoint>` **HAND_JOINT_INDEX_FINGER_PHALANX_PROXIMAL** = ``7``
  120. Index finger phalanx proximal joint.
  121. .. _class_XRHandTracker_constant_HAND_JOINT_INDEX_FINGER_PHALANX_INTERMEDIATE:
  122. .. rst-class:: classref-enumeration-constant
  123. :ref:`HandJoint<enum_XRHandTracker_HandJoint>` **HAND_JOINT_INDEX_FINGER_PHALANX_INTERMEDIATE** = ``8``
  124. Index finger phalanx intermediate joint.
  125. .. _class_XRHandTracker_constant_HAND_JOINT_INDEX_FINGER_PHALANX_DISTAL:
  126. .. rst-class:: classref-enumeration-constant
  127. :ref:`HandJoint<enum_XRHandTracker_HandJoint>` **HAND_JOINT_INDEX_FINGER_PHALANX_DISTAL** = ``9``
  128. Index finger phalanx distal joint.
  129. .. _class_XRHandTracker_constant_HAND_JOINT_INDEX_FINGER_TIP:
  130. .. rst-class:: classref-enumeration-constant
  131. :ref:`HandJoint<enum_XRHandTracker_HandJoint>` **HAND_JOINT_INDEX_FINGER_TIP** = ``10``
  132. Index finger tip joint.
  133. .. _class_XRHandTracker_constant_HAND_JOINT_MIDDLE_FINGER_METACARPAL:
  134. .. rst-class:: classref-enumeration-constant
  135. :ref:`HandJoint<enum_XRHandTracker_HandJoint>` **HAND_JOINT_MIDDLE_FINGER_METACARPAL** = ``11``
  136. Middle finger metacarpal joint.
  137. .. _class_XRHandTracker_constant_HAND_JOINT_MIDDLE_FINGER_PHALANX_PROXIMAL:
  138. .. rst-class:: classref-enumeration-constant
  139. :ref:`HandJoint<enum_XRHandTracker_HandJoint>` **HAND_JOINT_MIDDLE_FINGER_PHALANX_PROXIMAL** = ``12``
  140. Middle finger phalanx proximal joint.
  141. .. _class_XRHandTracker_constant_HAND_JOINT_MIDDLE_FINGER_PHALANX_INTERMEDIATE:
  142. .. rst-class:: classref-enumeration-constant
  143. :ref:`HandJoint<enum_XRHandTracker_HandJoint>` **HAND_JOINT_MIDDLE_FINGER_PHALANX_INTERMEDIATE** = ``13``
  144. Middle finger phalanx intermediate joint.
  145. .. _class_XRHandTracker_constant_HAND_JOINT_MIDDLE_FINGER_PHALANX_DISTAL:
  146. .. rst-class:: classref-enumeration-constant
  147. :ref:`HandJoint<enum_XRHandTracker_HandJoint>` **HAND_JOINT_MIDDLE_FINGER_PHALANX_DISTAL** = ``14``
  148. Middle finger phalanx distal joint.
  149. .. _class_XRHandTracker_constant_HAND_JOINT_MIDDLE_FINGER_TIP:
  150. .. rst-class:: classref-enumeration-constant
  151. :ref:`HandJoint<enum_XRHandTracker_HandJoint>` **HAND_JOINT_MIDDLE_FINGER_TIP** = ``15``
  152. Middle finger tip joint.
  153. .. _class_XRHandTracker_constant_HAND_JOINT_RING_FINGER_METACARPAL:
  154. .. rst-class:: classref-enumeration-constant
  155. :ref:`HandJoint<enum_XRHandTracker_HandJoint>` **HAND_JOINT_RING_FINGER_METACARPAL** = ``16``
  156. Ring finger metacarpal joint.
  157. .. _class_XRHandTracker_constant_HAND_JOINT_RING_FINGER_PHALANX_PROXIMAL:
  158. .. rst-class:: classref-enumeration-constant
  159. :ref:`HandJoint<enum_XRHandTracker_HandJoint>` **HAND_JOINT_RING_FINGER_PHALANX_PROXIMAL** = ``17``
  160. Ring finger phalanx proximal joint.
  161. .. _class_XRHandTracker_constant_HAND_JOINT_RING_FINGER_PHALANX_INTERMEDIATE:
  162. .. rst-class:: classref-enumeration-constant
  163. :ref:`HandJoint<enum_XRHandTracker_HandJoint>` **HAND_JOINT_RING_FINGER_PHALANX_INTERMEDIATE** = ``18``
  164. Ring finger phalanx intermediate joint.
  165. .. _class_XRHandTracker_constant_HAND_JOINT_RING_FINGER_PHALANX_DISTAL:
  166. .. rst-class:: classref-enumeration-constant
  167. :ref:`HandJoint<enum_XRHandTracker_HandJoint>` **HAND_JOINT_RING_FINGER_PHALANX_DISTAL** = ``19``
  168. Ring finger phalanx distal joint.
  169. .. _class_XRHandTracker_constant_HAND_JOINT_RING_FINGER_TIP:
  170. .. rst-class:: classref-enumeration-constant
  171. :ref:`HandJoint<enum_XRHandTracker_HandJoint>` **HAND_JOINT_RING_FINGER_TIP** = ``20``
  172. Ring finger tip joint.
  173. .. _class_XRHandTracker_constant_HAND_JOINT_PINKY_FINGER_METACARPAL:
  174. .. rst-class:: classref-enumeration-constant
  175. :ref:`HandJoint<enum_XRHandTracker_HandJoint>` **HAND_JOINT_PINKY_FINGER_METACARPAL** = ``21``
  176. Pinky finger metacarpal joint.
  177. .. _class_XRHandTracker_constant_HAND_JOINT_PINKY_FINGER_PHALANX_PROXIMAL:
  178. .. rst-class:: classref-enumeration-constant
  179. :ref:`HandJoint<enum_XRHandTracker_HandJoint>` **HAND_JOINT_PINKY_FINGER_PHALANX_PROXIMAL** = ``22``
  180. Pinky finger phalanx proximal joint.
  181. .. _class_XRHandTracker_constant_HAND_JOINT_PINKY_FINGER_PHALANX_INTERMEDIATE:
  182. .. rst-class:: classref-enumeration-constant
  183. :ref:`HandJoint<enum_XRHandTracker_HandJoint>` **HAND_JOINT_PINKY_FINGER_PHALANX_INTERMEDIATE** = ``23``
  184. Pinky finger phalanx intermediate joint.
  185. .. _class_XRHandTracker_constant_HAND_JOINT_PINKY_FINGER_PHALANX_DISTAL:
  186. .. rst-class:: classref-enumeration-constant
  187. :ref:`HandJoint<enum_XRHandTracker_HandJoint>` **HAND_JOINT_PINKY_FINGER_PHALANX_DISTAL** = ``24``
  188. Pinky finger phalanx distal joint.
  189. .. _class_XRHandTracker_constant_HAND_JOINT_PINKY_FINGER_TIP:
  190. .. rst-class:: classref-enumeration-constant
  191. :ref:`HandJoint<enum_XRHandTracker_HandJoint>` **HAND_JOINT_PINKY_FINGER_TIP** = ``25``
  192. Pinky finger tip joint.
  193. .. _class_XRHandTracker_constant_HAND_JOINT_MAX:
  194. .. rst-class:: classref-enumeration-constant
  195. :ref:`HandJoint<enum_XRHandTracker_HandJoint>` **HAND_JOINT_MAX** = ``26``
  196. Represents the size of the :ref:`HandJoint<enum_XRHandTracker_HandJoint>` enum.
  197. .. rst-class:: classref-item-separator
  198. ----
  199. .. _enum_XRHandTracker_HandJointFlags:
  200. .. rst-class:: classref-enumeration
  201. flags **HandJointFlags**: :ref:`🔗<enum_XRHandTracker_HandJointFlags>`
  202. .. _class_XRHandTracker_constant_HAND_JOINT_FLAG_ORIENTATION_VALID:
  203. .. rst-class:: classref-enumeration-constant
  204. :ref:`HandJointFlags<enum_XRHandTracker_HandJointFlags>` **HAND_JOINT_FLAG_ORIENTATION_VALID** = ``1``
  205. The hand joint's orientation data is valid.
  206. .. _class_XRHandTracker_constant_HAND_JOINT_FLAG_ORIENTATION_TRACKED:
  207. .. rst-class:: classref-enumeration-constant
  208. :ref:`HandJointFlags<enum_XRHandTracker_HandJointFlags>` **HAND_JOINT_FLAG_ORIENTATION_TRACKED** = ``2``
  209. The hand joint's orientation is actively tracked. May not be set if tracking has been temporarily lost.
  210. .. _class_XRHandTracker_constant_HAND_JOINT_FLAG_POSITION_VALID:
  211. .. rst-class:: classref-enumeration-constant
  212. :ref:`HandJointFlags<enum_XRHandTracker_HandJointFlags>` **HAND_JOINT_FLAG_POSITION_VALID** = ``4``
  213. The hand joint's position data is valid.
  214. .. _class_XRHandTracker_constant_HAND_JOINT_FLAG_POSITION_TRACKED:
  215. .. rst-class:: classref-enumeration-constant
  216. :ref:`HandJointFlags<enum_XRHandTracker_HandJointFlags>` **HAND_JOINT_FLAG_POSITION_TRACKED** = ``8``
  217. The hand joint's position is actively tracked. May not be set if tracking has been temporarily lost.
  218. .. _class_XRHandTracker_constant_HAND_JOINT_FLAG_LINEAR_VELOCITY_VALID:
  219. .. rst-class:: classref-enumeration-constant
  220. :ref:`HandJointFlags<enum_XRHandTracker_HandJointFlags>` **HAND_JOINT_FLAG_LINEAR_VELOCITY_VALID** = ``16``
  221. The hand joint's linear velocity data is valid.
  222. .. _class_XRHandTracker_constant_HAND_JOINT_FLAG_ANGULAR_VELOCITY_VALID:
  223. .. rst-class:: classref-enumeration-constant
  224. :ref:`HandJointFlags<enum_XRHandTracker_HandJointFlags>` **HAND_JOINT_FLAG_ANGULAR_VELOCITY_VALID** = ``32``
  225. The hand joint's angular velocity data is valid.
  226. .. rst-class:: classref-section-separator
  227. ----
  228. .. rst-class:: classref-descriptions-group
  229. Property Descriptions
  230. ---------------------
  231. .. _class_XRHandTracker_property_hand_tracking_source:
  232. .. rst-class:: classref-property
  233. :ref:`HandTrackingSource<enum_XRHandTracker_HandTrackingSource>` **hand_tracking_source** = ``0`` :ref:`🔗<class_XRHandTracker_property_hand_tracking_source>`
  234. .. rst-class:: classref-property-setget
  235. - |void| **set_hand_tracking_source**\ (\ value\: :ref:`HandTrackingSource<enum_XRHandTracker_HandTrackingSource>`\ )
  236. - :ref:`HandTrackingSource<enum_XRHandTracker_HandTrackingSource>` **get_hand_tracking_source**\ (\ )
  237. The source of the hand tracking data.
  238. .. rst-class:: classref-item-separator
  239. ----
  240. .. _class_XRHandTracker_property_has_tracking_data:
  241. .. rst-class:: classref-property
  242. :ref:`bool<class_bool>` **has_tracking_data** = ``false`` :ref:`🔗<class_XRHandTracker_property_has_tracking_data>`
  243. .. rst-class:: classref-property-setget
  244. - |void| **set_has_tracking_data**\ (\ value\: :ref:`bool<class_bool>`\ )
  245. - :ref:`bool<class_bool>` **get_has_tracking_data**\ (\ )
  246. If ``true``, the hand tracking data is valid.
  247. .. rst-class:: classref-section-separator
  248. ----
  249. .. rst-class:: classref-descriptions-group
  250. Method Descriptions
  251. -------------------
  252. .. _class_XRHandTracker_method_get_hand_joint_angular_velocity:
  253. .. rst-class:: classref-method
  254. :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>`
  255. Returns the angular velocity for the given hand joint.
  256. .. rst-class:: classref-item-separator
  257. ----
  258. .. _class_XRHandTracker_method_get_hand_joint_flags:
  259. .. rst-class:: classref-method
  260. |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>`
  261. Returns flags about the validity of the tracking data for the given hand joint (see :ref:`HandJointFlags<enum_XRHandTracker_HandJointFlags>`).
  262. .. rst-class:: classref-item-separator
  263. ----
  264. .. _class_XRHandTracker_method_get_hand_joint_linear_velocity:
  265. .. rst-class:: classref-method
  266. :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>`
  267. Returns the linear velocity for the given hand joint.
  268. .. rst-class:: classref-item-separator
  269. ----
  270. .. _class_XRHandTracker_method_get_hand_joint_radius:
  271. .. rst-class:: classref-method
  272. :ref:`float<class_float>` **get_hand_joint_radius**\ (\ joint\: :ref:`HandJoint<enum_XRHandTracker_HandJoint>`\ ) |const| :ref:`🔗<class_XRHandTracker_method_get_hand_joint_radius>`
  273. Returns the radius of the given hand joint.
  274. .. rst-class:: classref-item-separator
  275. ----
  276. .. _class_XRHandTracker_method_get_hand_joint_transform:
  277. .. rst-class:: classref-method
  278. :ref:`Transform3D<class_Transform3D>` **get_hand_joint_transform**\ (\ joint\: :ref:`HandJoint<enum_XRHandTracker_HandJoint>`\ ) |const| :ref:`🔗<class_XRHandTracker_method_get_hand_joint_transform>`
  279. Returns the transform for the given hand joint.
  280. .. rst-class:: classref-item-separator
  281. ----
  282. .. _class_XRHandTracker_method_set_hand_joint_angular_velocity:
  283. .. rst-class:: classref-method
  284. |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>`
  285. Sets the angular velocity for the given hand joint.
  286. .. rst-class:: classref-item-separator
  287. ----
  288. .. _class_XRHandTracker_method_set_hand_joint_flags:
  289. .. rst-class:: classref-method
  290. |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>`
  291. Sets flags about the validity of the tracking data for the given hand joint.
  292. .. rst-class:: classref-item-separator
  293. ----
  294. .. _class_XRHandTracker_method_set_hand_joint_linear_velocity:
  295. .. rst-class:: classref-method
  296. |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>`
  297. Sets the linear velocity for the given hand joint.
  298. .. rst-class:: classref-item-separator
  299. ----
  300. .. _class_XRHandTracker_method_set_hand_joint_radius:
  301. .. rst-class:: classref-method
  302. |void| **set_hand_joint_radius**\ (\ joint\: :ref:`HandJoint<enum_XRHandTracker_HandJoint>`, radius\: :ref:`float<class_float>`\ ) :ref:`🔗<class_XRHandTracker_method_set_hand_joint_radius>`
  303. Sets the radius of the given hand joint.
  304. .. rst-class:: classref-item-separator
  305. ----
  306. .. _class_XRHandTracker_method_set_hand_joint_transform:
  307. .. rst-class:: classref-method
  308. |void| **set_hand_joint_transform**\ (\ joint\: :ref:`HandJoint<enum_XRHandTracker_HandJoint>`, transform\: :ref:`Transform3D<class_Transform3D>`\ ) :ref:`🔗<class_XRHandTracker_method_set_hand_joint_transform>`
  309. Sets the transform for the given hand joint.
  310. .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
  311. .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
  312. .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`
  313. .. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)`
  314. .. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`
  315. .. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`
  316. .. |bitfield| replace:: :abbr:`BitField (This value is an integer composed as a bitmask of the following flags.)`
  317. .. |void| replace:: :abbr:`void (No return value.)`