Blender  V3.3
Classes | Macros | Typedefs | Enumerations
#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 121 of file DNA_xr_types.h.

◆ 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 120 of file DNA_xr_types.h.

Typedef Documentation

◆ eXrActionFlag

◆ eXrActionType

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

◆ eXrAxisFlag

typedef enum eXrAxisFlag eXrAxisFlag

For axis-based inputs (thumb-stick/track-pad/etc). Determines the region for action execution (mutually exclusive per axis).

◆ eXrHapticFlag

◆ eXrOpFlag

typedef enum eXrOpFlag eXrOpFlag

Determines how XR action operators are executed.

◆ eXrPoseFlag

typedef enum eXrPoseFlag eXrPoseFlag

◆ eXRSessionBasePoseType

◆ eXrSessionControllerDrawStyle

◆ eXrSessionFlag

◆ XrActionMap

typedef struct XrActionMap XrActionMap

◆ XrActionMapBinding

◆ XrActionMapItem

◆ XrComponentPath

◆ 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 79 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 64 of file DNA_xr_types.h.

◆ eXrAxisFlag

For axis-based inputs (thumb-stick/track-pad/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 100 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 84 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 73 of file DNA_xr_types.h.

◆ eXrPoseFlag

Enumerator
XR_POSE_GRIP 
XR_POSE_AIM 

Definition at line 107 of file DNA_xr_types.h.

◆ eXRSessionBasePoseType

Enumerator
XR_BASE_POSE_SCENE_CAMERA 
XR_BASE_POSE_OBJECT 
XR_BASE_POSE_CUSTOM 

Definition at line 50 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 56 of file DNA_xr_types.h.

◆ eXrSessionFlag

Enumerator
XR_SESSION_USE_POSITION_TRACKING 
XR_SESSION_USE_ABSOLUTE_TRACKING 

Definition at line 45 of file DNA_xr_types.h.