Blender V4.3
DNA_xr_types.h
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2023 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
9#pragma once
10
11#include "DNA_view3d_types.h"
12
13/* -------------------------------------------------------------------- */
14
42
47
53
60
69
76
81
93
98typedef enum eXrAxisFlag {
99 XR_AXIS0_POS = (1 << 0),
100 XR_AXIS0_NEG = (1 << 1),
101 XR_AXIS1_POS = (1 << 2),
102 XR_AXIS1_NEG = (1 << 3),
104
105typedef enum eXrPoseFlag {
106 /* Pose represents controller grip/aim. */
107 XR_POSE_GRIP = (1 << 0),
108 XR_POSE_AIM = (1 << 1),
110
118#define XR_MAX_USER_PATH_LENGTH 64
119#define XR_MAX_COMPONENT_PATH_LENGTH 192
120
121/* -------------------------------------------------------------------- */
122
123typedef struct XrComponentPath {
125 char path[192]; /* XR_MAX_COMPONENT_PATH_LENGTH */
127
128typedef struct XrActionMapBinding {
130
132 char name[64]; /* MAX_NAME */
133
135 char profile[256];
137 ListBase component_paths; /* XrComponentPath */
138
141 short axis_flag; /* eXrAxisFlag */
142 char _pad[2];
143
148
149/* -------------------------------------------------------------------- */
150
151typedef struct XrUserPath {
153 char path[64]; /* XR_MAX_USER_PATH_LENGTH */
155
156typedef struct XrActionMapItem {
158
160 char name[64]; /* MAX_NAME */
162 char type;
163 char _pad[7];
164
166 ListBase user_paths; /* XrUserPath */
167
169 char op[64]; /* OP_MAX_TYPENAME */
174
175 short op_flag; /* eXrOpFlag */
176 short action_flag; /* eXrActionFlag */
177 short haptic_flag; /* eXrHapticFlag */
178
180 short pose_flag; /* eXrPoseFlag */
181
183 char haptic_name[64]; /* MAX_NAME */
187
189 char _pad3[2];
190 ListBase bindings; /* XrActionMapBinding */
192
193/* -------------------------------------------------------------------- */
194
195typedef struct XrActionMap {
197
199 char name[64]; /* MAX_NAME */
200
201 ListBase items; /* XrActionMapItem */
202 short selitem;
203 char _pad[6];
205
206/* -------------------------------------------------------------------- */
eXrOpFlag
@ XR_OP_MODAL
@ XR_OP_RELEASE
@ XR_OP_PRESS
eXrPoseFlag
@ XR_POSE_GRIP
@ XR_POSE_AIM
struct XrSessionSettings XrSessionSettings
struct XrActionMap XrActionMap
eXrAxisFlag
@ XR_AXIS0_POS
@ XR_AXIS1_NEG
@ XR_AXIS1_POS
@ XR_AXIS0_NEG
eXrSessionFlag
@ XR_SESSION_USE_ABSOLUTE_TRACKING
@ XR_SESSION_USE_POSITION_TRACKING
eXrSessionControllerDrawStyle
@ XR_CONTROLLER_DRAW_LIGHT_RAY
@ XR_CONTROLLER_DRAW_LIGHT
@ XR_CONTROLLER_DRAW_DARK_RAY
@ XR_CONTROLLER_DRAW_DARK
struct XrActionMapItem XrActionMapItem
eXrActionType
@ XR_FLOAT_INPUT
@ XR_BOOLEAN_INPUT
@ XR_VECTOR2F_INPUT
@ XR_POSE_INPUT
@ XR_VIBRATION_OUTPUT
eXRSessionBasePoseType
@ XR_BASE_POSE_CUSTOM
@ XR_BASE_POSE_SCENE_CAMERA
@ XR_BASE_POSE_OBJECT
eXrActionFlag
@ XR_ACTION_BIMANUAL
struct XrActionMapBinding XrActionMapBinding
struct XrUserPath XrUserPath
struct XrComponentPath XrComponentPath
eXrHapticFlag
@ XR_HAPTIC_PRESS
@ XR_HAPTIC_RELEASE
@ XR_HAPTIC_MATCHUSERPATHS
@ XR_HAPTIC_REPEAT
struct XrActionMapBinding * next
struct XrActionMapBinding * prev
struct XrActionMapItem * prev
struct XrActionMapItem * next
IDProperty * op_properties
char haptic_name[64]
ListBase user_paths
struct PointerRNA * op_properties_ptr
ListBase items
struct XrActionMap * next
struct XrActionMap * prev
struct XrComponentPath * next
struct XrComponentPath * prev
float base_pose_location[3]
Object * base_pose_object
int object_type_exclude_viewport
struct XrUserPath * next
char path[64]
struct XrUserPath * prev