summaryrefslogtreecommitdiffstats
path: root/modules/openxr/doc_classes
diff options
context:
space:
mode:
authorBastiaan Olij <mux213@gmail.com>2023-06-09 14:19:53 +1000
committerBastiaan Olij <mux213@gmail.com>2023-09-07 22:55:21 +1000
commit58df9bd8a4ed524944cd151a19b10184f51b295e (patch)
treea696c00f674fee00332b883e9b6f31f87131eafe /modules/openxr/doc_classes
parent8449592d92eaeef990f5502b419d491ee3eeb7a6 (diff)
downloadredot-engine-58df9bd8a4ed524944cd151a19b10184f51b295e.tar.gz
Expose OpenXR raw hand tracking data
Diffstat (limited to 'modules/openxr/doc_classes')
-rw-r--r--modules/openxr/doc_classes/OpenXRInterface.xml153
1 files changed, 153 insertions, 0 deletions
diff --git a/modules/openxr/doc_classes/OpenXRInterface.xml b/modules/openxr/doc_classes/OpenXRInterface.xml
index f0ca649fe4..8d8cbf1a29 100644
--- a/modules/openxr/doc_classes/OpenXRInterface.xml
+++ b/modules/openxr/doc_classes/OpenXRInterface.xml
@@ -23,6 +23,53 @@
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.
</description>
</method>
+ <method name="get_hand_joint_angular_velocity" qualifiers="const">
+ <return type="Vector3" />
+ <param index="0" name="hand" type="int" enum="OpenXRInterface.Hand" />
+ <param index="1" name="joint" type="int" enum="OpenXRInterface.HandJoints" />
+ <description>
+ If handtracking is enabled, returns the angular velocity of a joint ([param joint]) of a hand ([param hand]) as provided by OpenXR. This is relative to [XROrigin3D]!
+ </description>
+ </method>
+ <method name="get_hand_joint_linear_velocity" qualifiers="const">
+ <return type="Vector3" />
+ <param index="0" name="hand" type="int" enum="OpenXRInterface.Hand" />
+ <param index="1" name="joint" type="int" enum="OpenXRInterface.HandJoints" />
+ <description>
+ If handtracking is enabled, returns the linear velocity of a joint ([param joint]) of a hand ([param hand]) as provided by OpenXR. This is relative to [XROrigin3D] without worldscale applied!
+ </description>
+ </method>
+ <method name="get_hand_joint_position" qualifiers="const">
+ <return type="Vector3" />
+ <param index="0" name="hand" type="int" enum="OpenXRInterface.Hand" />
+ <param index="1" name="joint" type="int" enum="OpenXRInterface.HandJoints" />
+ <description>
+ If handtracking is enabled, returns the position of a joint ([param joint]) of a hand ([param hand]) as provided by OpenXR. This is relative to [XROrigin3D] without worldscale applied!
+ </description>
+ </method>
+ <method name="get_hand_joint_radius" qualifiers="const">
+ <return type="float" />
+ <param index="0" name="hand" type="int" enum="OpenXRInterface.Hand" />
+ <param index="1" name="joint" type="int" enum="OpenXRInterface.HandJoints" />
+ <description>
+ If handtracking is enabled, returns the radius of a joint ([param joint]) of a hand ([param hand]) as provided by OpenXR. This is without worldscale applied!
+ </description>
+ </method>
+ <method name="get_hand_joint_rotation" qualifiers="const">
+ <return type="Quaternion" />
+ <param index="0" name="hand" type="int" enum="OpenXRInterface.Hand" />
+ <param index="1" name="joint" type="int" enum="OpenXRInterface.HandJoints" />
+ <description>
+ If handtracking is enabled, returns the rotation of a joint ([param joint]) of a hand ([param hand]) as provided by OpenXR.
+ </description>
+ </method>
+ <method name="get_motion_range" qualifiers="const">
+ <return type="int" enum="OpenXRInterface.HandMotionRange" />
+ <param index="0" name="hand" type="int" enum="OpenXRInterface.Hand" />
+ <description>
+ If handtracking is enabled and motion range is supported, gets the currently configured motion range for [param hand].
+ </description>
+ </method>
<method name="is_action_set_active" qualifiers="const">
<return type="bool" />
<param index="0" name="name" type="String" />
@@ -38,6 +85,14 @@
Sets the given action set as active or inactive.
</description>
</method>
+ <method name="set_motion_range">
+ <return type="void" />
+ <param index="0" name="hand" type="int" enum="OpenXRInterface.Hand" />
+ <param index="1" name="motion_range" type="int" enum="OpenXRInterface.HandMotionRange" />
+ <description>
+ If handtracking is enabled and motion range is supported, sets the currently configured motion range for [param hand] to [param motion_range].
+ </description>
+ </method>
</methods>
<members>
<member name="display_refresh_rate" type="float" setter="set_display_refresh_rate" getter="get_display_refresh_rate" default="0.0">
@@ -74,4 +129,102 @@
</description>
</signal>
</signals>
+ <constants>
+ <constant name="HAND_LEFT" value="0" enum="Hand">
+ Left hand.
+ </constant>
+ <constant name="HAND_RIGHT" value="1" enum="Hand">
+ Right hand.
+ </constant>
+ <constant name="HAND_MAX" value="2" enum="Hand">
+ Maximum value for the hand enum.
+ </constant>
+ <constant name="HAND_MOTION_RANGE_UNOBSTRUCTED" value="0" enum="HandMotionRange">
+ </constant>
+ <constant name="HAND_MOTION_RANGE_CONFORM_TO_CONTROLLER" value="1" enum="HandMotionRange">
+ </constant>
+ <constant name="HAND_MOTION_RANGE_MAX" value="2" enum="HandMotionRange">
+ </constant>
+ <constant name="HAND_JOINT_PALM" value="0" enum="HandJoints">
+ Palm joint.
+ </constant>
+ <constant name="HAND_JOINT_WRIST" value="1" enum="HandJoints">
+ Wrist joint.
+ </constant>
+ <constant name="HAND_JOINT_THUMB_METACARPAL" value="2" enum="HandJoints">
+ Thumb metacarpal joint.
+ </constant>
+ <constant name="HAND_JOINT_THUMB_PROXIMAL" value="3" enum="HandJoints">
+ Thumb proximal joint.
+ </constant>
+ <constant name="HAND_JOINT_THUMB_DISTAL" value="4" enum="HandJoints">
+ Thumb distal joint.
+ </constant>
+ <constant name="HAND_JOINT_THUMB_TIP" value="5" enum="HandJoints">
+ Thumb tip joint.
+ </constant>
+ <constant name="HAND_JOINT_INDEX_METACARPAL" value="6" enum="HandJoints">
+ Index metacarpal joint.
+ </constant>
+ <constant name="HAND_JOINT_INDEX_PROXIMAL" value="7" enum="HandJoints">
+ Index proximal joint.
+ </constant>
+ <constant name="HAND_JOINT_INDEX_INTERMEDIATE" value="8" enum="HandJoints">
+ Index intermediate joint.
+ </constant>
+ <constant name="HAND_JOINT_INDEX_DISTAL" value="9" enum="HandJoints">
+ Index distal joint.
+ </constant>
+ <constant name="HAND_JOINT_INDEX_TIP" value="10" enum="HandJoints">
+ Index tip joint.
+ </constant>
+ <constant name="HAND_JOINT_MIDDLE_METACARPAL" value="11" enum="HandJoints">
+ Middle metacarpal joint.
+ </constant>
+ <constant name="HAND_JOINT_MIDDLE_PROXIMAL" value="12" enum="HandJoints">
+ Middle proximal joint.
+ </constant>
+ <constant name="HAND_JOINT_MIDDLE_INTERMEDIATE" value="13" enum="HandJoints">
+ Middle intermediate joint.
+ </constant>
+ <constant name="HAND_JOINT_MIDDLE_DISTAL" value="14" enum="HandJoints">
+ Middle distal joint.
+ </constant>
+ <constant name="HAND_JOINT_MIDDLE_TIP" value="15" enum="HandJoints">
+ Middle tip joint.
+ </constant>
+ <constant name="HAND_JOINT_RING_METACARPAL" value="16" enum="HandJoints">
+ Ring metacarpal joint.
+ </constant>
+ <constant name="HAND_JOINT_RING_PROXIMAL" value="17" enum="HandJoints">
+ Ring proximal joint.
+ </constant>
+ <constant name="HAND_JOINT_RING_INTERMEDIATE" value="18" enum="HandJoints">
+ Ring intermediate joint.
+ </constant>
+ <constant name="HAND_JOINT_RING_DISTAL" value="19" enum="HandJoints">
+ Ring distal joint.
+ </constant>
+ <constant name="HAND_JOINT_RING_TIP" value="20" enum="HandJoints">
+ Ring tip joint.
+ </constant>
+ <constant name="HAND_JOINT_LITTLE_METACARPAL" value="21" enum="HandJoints">
+ Little metacarpal joint.
+ </constant>
+ <constant name="HAND_JOINT_LITTLE_PROXIMAL" value="22" enum="HandJoints">
+ Little proximal joint.
+ </constant>
+ <constant name="HAND_JOINT_LITTLE_INTERMEDIATE" value="23" enum="HandJoints">
+ Little intermediate joint.
+ </constant>
+ <constant name="HAND_JOINT_LITTLE_DISTAL" value="24" enum="HandJoints">
+ Little distal joint.
+ </constant>
+ <constant name="HAND_JOINT_LITTLE_TIP" value="25" enum="HandJoints">
+ Little tip joint.
+ </constant>
+ <constant name="HAND_JOINT_MAX" value="26" enum="HandJoints">
+ Maximum value for the hand joint enum.
+ </constant>
+ </constants>
</class>