Blender V5.0
#include "DNA_view3d_types.h"

Go to the source code of this file.

Classes

struct  XrSessionSettings
struct  XrComponentPath
struct  XrActionMapBinding
struct  XrUserPath
struct  XrActionMapItem
struct  XrActionMap

Macros

#define XR_MAX_USER_PATH_LENGTH   64
#define XR_MAX_COMPONENT_PATH_LENGTH   192

Typedefs

typedef struct XrSessionSettings XrSessionSettings
typedef enum eXrSessionFlag eXrSessionFlag
typedef enum eXRSessionBasePoseType eXRSessionBasePoseType
typedef enum eXrSessionControllerDrawStyle eXrSessionControllerDrawStyle
typedef enum eXrActionType eXrActionType
typedef enum eXrOpFlag eXrOpFlag
typedef enum eXrActionFlag eXrActionFlag
typedef enum eXrHapticFlag eXrHapticFlag
typedef enum eXrAxisFlag eXrAxisFlag
typedef enum eXrPoseFlag eXrPoseFlag
typedef struct XrComponentPath XrComponentPath
typedef struct XrActionMapBinding XrActionMapBinding
typedef struct XrUserPath XrUserPath
typedef struct XrActionMapItem XrActionMapItem
typedef struct XrActionMap XrActionMap

Enumerations

enum  eXrSessionFlag { XR_SESSION_USE_POSITION_TRACKING = (1 << 0) , XR_SESSION_USE_ABSOLUTE_TRACKING = (1 << 1) }
enum  eXRSessionBasePoseType { XR_BASE_POSE_SCENE_CAMERA = 0 , XR_BASE_POSE_OBJECT = 1 , XR_BASE_POSE_CUSTOM = 2 }
enum  eXrSessionControllerDrawStyle { XR_CONTROLLER_DRAW_DARK = 0 , XR_CONTROLLER_DRAW_LIGHT = 1 , XR_CONTROLLER_DRAW_DARK_RAY = 2 , XR_CONTROLLER_DRAW_LIGHT_RAY = 3 }
enum  eXrActionType {
  XR_BOOLEAN_INPUT = 1 , XR_FLOAT_INPUT = 2 , XR_VECTOR2F_INPUT = 3 , XR_POSE_INPUT = 4 ,
  XR_VIBRATION_OUTPUT = 100
}
enum  eXrOpFlag { XR_OP_PRESS = 0 , XR_OP_RELEASE = 1 , XR_OP_MODAL = 2 }
enum  eXrActionFlag { XR_ACTION_BIMANUAL = (1 << 0) }
enum  eXrHapticFlag { XR_HAPTIC_MATCHUSERPATHS = (1 << 0) , XR_HAPTIC_PRESS = (1 << 1) , XR_HAPTIC_RELEASE = (1 << 2) , XR_HAPTIC_REPEAT = (1 << 3) }
enum  eXrAxisFlag { XR_AXIS0_POS = (1 << 0) , XR_AXIS0_NEG = (1 << 1) , XR_AXIS1_POS = (1 << 2) , XR_AXIS1_NEG = (1 << 3) }
enum  eXrPoseFlag { XR_POSE_GRIP = (1 << 0) , XR_POSE_AIM = (1 << 1) }

Macro Definition Documentation

◆ XR_MAX_COMPONENT_PATH_LENGTH

#define XR_MAX_COMPONENT_PATH_LENGTH   192

Definition at line 123 of file DNA_xr_types.h.

Referenced by rna_def_xr_actionmap(), and rna_def_xr_component_paths().

◆ XR_MAX_USER_PATH_LENGTH

#define XR_MAX_USER_PATH_LENGTH   64

The following user and component path lengths are dependent on OpenXR's XR_MAX_PATH_LENGTH (256). A user path will be combined with a component path to identify an action binding, and that combined path should also have a max of XR_MAX_PATH_LENGTH (e.g. user_path = /user/hand/left, component_path = /input/trigger/value, full_path = /user/hand/left/input/trigger/value).

Definition at line 122 of file DNA_xr_types.h.

Referenced by rna_def_xr_actionmap(), rna_def_xr_session_state(), and rna_def_xr_user_paths().

Typedef Documentation

◆ eXrActionFlag

◆ eXrActionType

XR action type. Enum values match those in GHOST_XrActionType enum for consistency.

◆ eXrAxisFlag

For axis-based inputs (thumbstick/trackpad/etc). Determines the region for action execution (mutually exclusive per axis).

◆ eXrHapticFlag

◆ eXrOpFlag

Determines how XR action operators are executed.

◆ eXrPoseFlag

◆ eXRSessionBasePoseType

◆ eXrSessionControllerDrawStyle

◆ eXrSessionFlag

◆ XrActionMap

typedef struct XrActionMap XrActionMap

◆ XrActionMapBinding

typedef struct XrActionMapBinding XrActionMapBinding

◆ XrActionMapItem

typedef struct XrActionMapItem XrActionMapItem

◆ XrComponentPath

typedef struct XrComponentPath XrComponentPath

◆ XrSessionSettings

typedef struct XrSessionSettings XrSessionSettings

◆ XrUserPath

typedef struct XrUserPath XrUserPath

Enumeration Type Documentation

◆ eXrActionFlag

Enumerator
XR_ACTION_BIMANUAL 

Action depends on two sub-action paths (i.e. two-handed/bi-manual action).

Definition at line 81 of file DNA_xr_types.h.

◆ eXrActionType

XR action type. Enum values match those in GHOST_XrActionType enum for consistency.

Enumerator
XR_BOOLEAN_INPUT 
XR_FLOAT_INPUT 
XR_VECTOR2F_INPUT 
XR_POSE_INPUT 
XR_VIBRATION_OUTPUT 

Definition at line 66 of file DNA_xr_types.h.

◆ eXrAxisFlag

For axis-based inputs (thumbstick/trackpad/etc). Determines the region for action execution (mutually exclusive per axis).

Enumerator
XR_AXIS0_POS 
XR_AXIS0_NEG 
XR_AXIS1_POS 
XR_AXIS1_NEG 

Definition at line 102 of file DNA_xr_types.h.

◆ eXrHapticFlag

Enumerator
XR_HAPTIC_MATCHUSERPATHS 

Whether to apply haptics to corresponding user paths for an action and its haptic action.

XR_HAPTIC_PRESS 

Determines how haptics will be applied ("repeat" is mutually exclusive with "press"/"release").

XR_HAPTIC_RELEASE 
XR_HAPTIC_REPEAT 

Definition at line 86 of file DNA_xr_types.h.

◆ eXrOpFlag

enum eXrOpFlag

Determines how XR action operators are executed.

Enumerator
XR_OP_PRESS 
XR_OP_RELEASE 
XR_OP_MODAL 

Definition at line 75 of file DNA_xr_types.h.

◆ eXrPoseFlag

Enumerator
XR_POSE_GRIP 
XR_POSE_AIM 

Definition at line 109 of file DNA_xr_types.h.

◆ eXRSessionBasePoseType

Enumerator
XR_BASE_POSE_SCENE_CAMERA 
XR_BASE_POSE_OBJECT 
XR_BASE_POSE_CUSTOM 

Definition at line 52 of file DNA_xr_types.h.

◆ eXrSessionControllerDrawStyle

Enumerator
XR_CONTROLLER_DRAW_DARK 
XR_CONTROLLER_DRAW_LIGHT 
XR_CONTROLLER_DRAW_DARK_RAY 
XR_CONTROLLER_DRAW_LIGHT_RAY 

Definition at line 58 of file DNA_xr_types.h.

◆ eXrSessionFlag

Enumerator
XR_SESSION_USE_POSITION_TRACKING 
XR_SESSION_USE_ABSOLUTE_TRACKING 

Definition at line 47 of file DNA_xr_types.h.