summaryrefslogtreecommitdiff
path: root/modules/openxr/doc_classes
diff options
context:
space:
mode:
Diffstat (limited to 'modules/openxr/doc_classes')
-rw-r--r--modules/openxr/doc_classes/OpenXRActionMap.xml44
-rw-r--r--modules/openxr/doc_classes/OpenXRActionSet.xml9
-rw-r--r--modules/openxr/doc_classes/OpenXRIPBinding.xml33
-rw-r--r--modules/openxr/doc_classes/OpenXRInteractionProfile.xml15
4 files changed, 96 insertions, 5 deletions
diff --git a/modules/openxr/doc_classes/OpenXRActionMap.xml b/modules/openxr/doc_classes/OpenXRActionMap.xml
index f1def8aad8..a29d10be41 100644
--- a/modules/openxr/doc_classes/OpenXRActionMap.xml
+++ b/modules/openxr/doc_classes/OpenXRActionMap.xml
@@ -6,7 +6,7 @@
<description>
OpenXR uses an action system similar to Godots Input map system to bind inputs and outputs on various types of XR controllers to named actions. OpenXR specifies more detail on these inputs and outputs than Godot supports.
Another important distinction is that OpenXR offers no control over these bindings. The bindings we register are suggestions, it is up to the XR runtime to offer users the ability to change these bindings. This allows the XR runtime to fill in the gaps if new hardware becomes available.
- The action map therefor needs to be loaded at startup and can't be changed afterwards. This resource is a container for the entire action map.
+ The action map therefore needs to be loaded at startup and can't be changed afterwards. This resource is a container for the entire action map.
</description>
<tutorials>
</tutorials>
@@ -31,6 +31,46 @@
Setup this action set with our default actions.
</description>
</method>
+ <method name="find_action_set" qualifiers="const">
+ <return type="OpenXRActionSet" />
+ <argument index="0" name="name" type="String" />
+ <description>
+ Retrieve an action set by name.
+ </description>
+ </method>
+ <method name="find_interaction_profile" qualifiers="const">
+ <return type="OpenXRInteractionProfile" />
+ <argument index="0" name="name" type="String" />
+ <description>
+ Find an interaction profile by its name (path).
+ </description>
+ </method>
+ <method name="get_action_set" qualifiers="const">
+ <return type="OpenXRActionSet" />
+ <argument index="0" name="idx" type="int" />
+ <description>
+ Retrieve the action set at this index.
+ </description>
+ </method>
+ <method name="get_action_set_count" qualifiers="const">
+ <return type="int" />
+ <description>
+ Retrieve the number of actions sets in our action map.
+ </description>
+ </method>
+ <method name="get_interaction_profile" qualifiers="const">
+ <return type="OpenXRInteractionProfile" />
+ <argument index="0" name="idx" type="int" />
+ <description>
+ Get the interaction profile at this index.
+ </description>
+ </method>
+ <method name="get_interaction_profile_count" qualifiers="const">
+ <return type="int" />
+ <description>
+ Retrieve the number of interaction profiles in our action map.
+ </description>
+ </method>
<method name="remove_action_set">
<return type="void" />
<argument index="0" name="action_set" type="OpenXRActionSet" />
@@ -48,8 +88,10 @@
</methods>
<members>
<member name="action_sets" type="Array" setter="set_action_sets" getter="get_action_sets" default="[]">
+ Collection of [OpenXRActionSet]s that are part of this action map.
</member>
<member name="interaction_profiles" type="Array" setter="set_interaction_profiles" getter="get_interaction_profiles" default="[]">
+ Collection of [OpenXRInteractionProfile]s that are part of this action map.
</member>
</members>
</class>
diff --git a/modules/openxr/doc_classes/OpenXRActionSet.xml b/modules/openxr/doc_classes/OpenXRActionSet.xml
index 5a87de463e..55cc0aaad4 100644
--- a/modules/openxr/doc_classes/OpenXRActionSet.xml
+++ b/modules/openxr/doc_classes/OpenXRActionSet.xml
@@ -5,8 +5,7 @@
</brief_description>
<description>
Action sets in OpenXR define a collection of actions that can be activated in unison. This allows games to easily change between different states that require different inputs or need to reinterpret inputs. For instance we could have an action set that is active when a menu is open, an action set that is active when the player is freely walking around and an action set that is active when the player is controlling a vehicle.
- Action sets can contain the same actions, or actions with the same name, if such action sets are active at the same time the action set with the highest priority defines which binding is active.
- Note that the name of the resource is used to identify the action set within OpenXR.
+ Action sets can contain the same action with the same name, if such action sets are active at the same time the action set with the highest priority defines which binding is active.
</description>
<tutorials>
</tutorials>
@@ -18,6 +17,12 @@
Add an action to this action set.
</description>
</method>
+ <method name="get_action_count" qualifiers="const">
+ <return type="int" />
+ <description>
+ Retrieve the number of actions in our action set.
+ </description>
+ </method>
<method name="remove_action">
<return type="void" />
<argument index="0" name="action" type="OpenXRAction" />
diff --git a/modules/openxr/doc_classes/OpenXRIPBinding.xml b/modules/openxr/doc_classes/OpenXRIPBinding.xml
index 3fdcde5eb5..9e1176874a 100644
--- a/modules/openxr/doc_classes/OpenXRIPBinding.xml
+++ b/modules/openxr/doc_classes/OpenXRIPBinding.xml
@@ -4,13 +4,42 @@
Defines a binding between an [OpenXRAction] and an XR input or output.
</brief_description>
<description>
- This binding resource binds an OpenXR action to inputs or outputs. As most controllers have left hand and right versions that are handled by the same interaction profile we can specify multiple bindings. For instance an action "Fire" could be bound to both "/user/hand/left/input/trigger" and "/user/hand/right/input/trigger".
+ This binding resource binds an [OpenXRAction] to inputs or outputs. As most controllers have left hand and right versions that are handled by the same interaction profile we can specify multiple bindings. For instance an action "Fire" could be bound to both "/user/hand/left/input/trigger" and "/user/hand/right/input/trigger".
</description>
<tutorials>
</tutorials>
+ <methods>
+ <method name="add_path">
+ <return type="void" />
+ <argument index="0" name="path" type="String" />
+ <description>
+ Add an input/output path to this binding.
+ </description>
+ </method>
+ <method name="get_path_count" qualifiers="const">
+ <return type="int" />
+ <description>
+ Get the number of input/output paths in this binding.
+ </description>
+ </method>
+ <method name="has_path" qualifiers="const">
+ <return type="bool" />
+ <argument index="0" name="arg0" type="String" />
+ <description>
+ Returns [code]true[/code] if this input/output path is part of this binding.
+ </description>
+ </method>
+ <method name="remove_path">
+ <return type="void" />
+ <argument index="0" name="path" type="String" />
+ <description>
+ Removes this input/output path from this binding.
+ </description>
+ </method>
+ </methods>
<members>
<member name="action" type="OpenXRAction" setter="set_action" getter="get_action">
- Action that is bound to these paths.
+ [OpenXRAction] that is bound to these paths.
</member>
<member name="paths" type="PackedStringArray" setter="set_paths" getter="get_paths" default="PackedStringArray()">
Paths that define the inputs or outputs bound on the device.
diff --git a/modules/openxr/doc_classes/OpenXRInteractionProfile.xml b/modules/openxr/doc_classes/OpenXRInteractionProfile.xml
index a8629caae4..71c0db44ed 100644
--- a/modules/openxr/doc_classes/OpenXRInteractionProfile.xml
+++ b/modules/openxr/doc_classes/OpenXRInteractionProfile.xml
@@ -9,6 +9,21 @@
</description>
<tutorials>
</tutorials>
+ <methods>
+ <method name="get_binding" qualifiers="const">
+ <return type="OpenXRIPBinding" />
+ <argument index="0" name="index" type="int" />
+ <description>
+ Retrieve the binding at this index.
+ </description>
+ </method>
+ <method name="get_binding_count" qualifiers="const">
+ <return type="int" />
+ <description>
+ Get the number of bindings in this interaction profile.
+ </description>
+ </method>
+ </methods>
<members>
<member name="bindings" type="Array" setter="set_bindings" getter="get_bindings" default="[]">
Action bindings for this interaction profile.