|
VTK
9.6.20260329
|
Minimal WebXR Device API wrapper. More...
#include "vtkABINamespace.h"Go to the source code of this file.
Classes | |
| struct | WebXRRigidTransform |
| WebXR rigid transform. More... | |
| struct | WebXRView |
| WebXR view. More... | |
| struct | WebXRInputSource |
| struct | WebXRGamepadButton |
| struct | WebXRGamepad |
| WebXR Gamepad see https://www.w3.org/TR/2024/WD-webxr-gamepads-module-1-20240409/#xr-standard-heading. More... | |
Macros | |
| #define | webxr_init VTK_ABI_NAMESPACE_MANGLE(webxr_init) |
| #define | webxr_is_session_supported VTK_ABI_NAMESPACE_MANGLE(webxr_is_session_supported) |
| #define | webxr_request_session VTK_ABI_NAMESPACE_MANGLE(webxr_request_session) |
| #define | webxr_request_exit VTK_ABI_NAMESPACE_MANGLE(webxr_request_exit) |
| #define | webxr_get_viewer_pose VTK_ABI_NAMESPACE_MANGLE(webxr_get_viewer_pose) |
| #define | webxr_get_views VTK_ABI_NAMESPACE_MANGLE(webxr_get_views) |
| #define | webxr_get_framebuffer_size VTK_ABI_NAMESPACE_MANGLE(webxr_get_framebuffer_size) |
| #define | webxr_get_framebuffer() VTK_ABI_NAMESPACE_MANGLE(webxr_get_framebuffer) |
| Get WebXR framebuffer ID. | |
| #define | webxr_get_input_sources VTK_ABI_NAMESPACE_MANGLE(webxr_get_input_sources) |
| #define | webxr_get_input_pose VTK_ABI_NAMESPACE_MANGLE(webxr_get_input_pose) |
| #define | webxr_get_input_gamepad VTK_ABI_NAMESPACE_MANGLE(webxr_get_input_gamepad) |
| #define | WEBXR_SESSION_FEATURE_LOCAL 0x01 |
| WebXR 'XRSessionFeatures'. | |
| #define | WEBXR_SESSION_FEATURE_LOCAL_FLOOR 0x02 |
| #define | WEBXR_SESSION_FEATURE_BOUNDED_FLOOR 0x04 |
| #define | WEBXR_SESSION_FEATURE_UNBOUNDED 0x08 |
| #define | WEBXR_SESSION_FEATURE_HIT_TEST 0x10 |
Typedefs | |
| typedef struct WebXRRigidTransform | WebXRRigidTransform |
| WebXR rigid transform. | |
| typedef struct WebXRView | WebXRView |
| WebXR view. | |
| typedef struct WebXRInputSource | WebXRInputSource |
| typedef struct WebXRGamepadButton | WebXRGamepadButton |
| typedef struct WebXRGamepad | WebXRGamepad |
| WebXR Gamepad see https://www.w3.org/TR/2024/WD-webxr-gamepads-module-1-20240409/#xr-standard-heading. | |
| typedef void(* | webxr_error_callback_func) (void *userData, int error) |
| Callback for errors. | |
| typedef void(* | webxr_frame_callback_func) (void *userData, int time) |
| Callback for frame rendering. | |
| typedef void(* | webxr_session_callback_func) (void *userData, int mode) |
| Callback for VR session start. | |
| typedef void(* | webxr_session_supported_callback_func) (int mode, int supported) |
| Callback for webxr_is_session_supported. | |
Functions | |
| void | webxr_init (webxr_frame_callback_func frameCallback, webxr_session_callback_func sessionStartCallback, webxr_session_callback_func sessionEndCallback, webxr_error_callback_func errorCallback, void *userData) |
| Init WebXR rendering. | |
| void | webxr_is_session_supported (WebXRSessionMode mode, webxr_session_supported_callback_func supportedCallback) |
| void | webxr_request_session (WebXRSessionMode mode, unsigned int requiredFeatures, unsigned int optionalFeatures) |
| bool | webxr_get_viewer_pose (WebXRRigidTransform *pose) |
| Get viewer (hmd) pose. | |
| bool | webxr_get_views (WebXRView *views, int *viewCount, int maxViews) |
| Get views. | |
| bool | webxr_get_framebuffer_size (int *width, int *height) |
| Get framebuffer width and height. | |
| int | webxr_get_input_sources (WebXRInputSource *outArray, int max, int *outCount) |
| WebXR Input. | |
| int | webxr_get_input_pose (WebXRInputSource *source, WebXRRigidTransform *outPose, WebXRInputPoseMode mode=WEBXR_INPUT_POSE_GRIP) |
| Get input pose. | |
| int | webxr_get_input_gamepad (WebXRInputSource *source, WebXRGamepad *outGamepad) |
| Get input gamepad. | |
Minimal WebXR Device API wrapper.
Definition in file vtkWebXR.h.
| #define webxr_init VTK_ABI_NAMESPACE_MANGLE(webxr_init) |
Definition at line 18 of file vtkWebXR.h.
| #define webxr_is_session_supported VTK_ABI_NAMESPACE_MANGLE(webxr_is_session_supported) |
Definition at line 19 of file vtkWebXR.h.
| #define webxr_request_session VTK_ABI_NAMESPACE_MANGLE(webxr_request_session) |
Definition at line 20 of file vtkWebXR.h.
| void webxr_request_exit VTK_ABI_NAMESPACE_MANGLE(webxr_request_exit) |
Definition at line 21 of file vtkWebXR.h.
| #define webxr_get_viewer_pose VTK_ABI_NAMESPACE_MANGLE(webxr_get_viewer_pose) |
Definition at line 22 of file vtkWebXR.h.
| #define webxr_get_views VTK_ABI_NAMESPACE_MANGLE(webxr_get_views) |
Definition at line 23 of file vtkWebXR.h.
| #define webxr_get_framebuffer_size VTK_ABI_NAMESPACE_MANGLE(webxr_get_framebuffer_size) |
Definition at line 24 of file vtkWebXR.h.
| unsigned int webxr_get_framebuffer VTK_ABI_NAMESPACE_MANGLE(webxr_get_framebuffer) |
Get WebXR framebuffer ID.
Definition at line 25 of file vtkWebXR.h.
| #define webxr_get_input_sources VTK_ABI_NAMESPACE_MANGLE(webxr_get_input_sources) |
Definition at line 26 of file vtkWebXR.h.
| #define webxr_get_input_pose VTK_ABI_NAMESPACE_MANGLE(webxr_get_input_pose) |
Definition at line 27 of file vtkWebXR.h.
| #define webxr_get_input_gamepad VTK_ABI_NAMESPACE_MANGLE(webxr_get_input_gamepad) |
Definition at line 28 of file vtkWebXR.h.
| #define WEBXR_SESSION_FEATURE_LOCAL 0x01 |
WebXR 'XRSessionFeatures'.
Definition at line 68 of file vtkWebXR.h.
| #define WEBXR_SESSION_FEATURE_LOCAL_FLOOR 0x02 |
Definition at line 69 of file vtkWebXR.h.
| #define WEBXR_SESSION_FEATURE_BOUNDED_FLOOR 0x04 |
Definition at line 70 of file vtkWebXR.h.
| #define WEBXR_SESSION_FEATURE_UNBOUNDED 0x08 |
Definition at line 71 of file vtkWebXR.h.
| #define WEBXR_SESSION_FEATURE_HIT_TEST 0x10 |
Definition at line 72 of file vtkWebXR.h.
| typedef struct WebXRRigidTransform WebXRRigidTransform |
WebXR rigid transform.
| typedef struct WebXRView WebXRView |
WebXR view.
| typedef struct WebXRInputSource WebXRInputSource |
| typedef struct WebXRGamepadButton WebXRGamepadButton |
| typedef struct WebXRGamepad WebXRGamepad |
| typedef void(* webxr_error_callback_func) (void *userData, int error) |
Callback for errors.
| userData | User pointer passed to init_webxr() |
| error | Error code |
Definition at line 159 of file vtkWebXR.h.
| typedef void(* webxr_frame_callback_func) (void *userData, int time) |
Callback for frame rendering.
| userData | User pointer passed to init_webxr() |
| time | Current frame time |
Definition at line 167 of file vtkWebXR.h.
| typedef void(* webxr_session_callback_func) (void *userData, int mode) |
Callback for VR session start.
| userData | User pointer passed to set_session_start_callback |
| mode | The session mode |
Definition at line 175 of file vtkWebXR.h.
| typedef void(* webxr_session_supported_callback_func) (int mode, int supported) |
Callback for webxr_is_session_supported.
| mode | The session mode that was requested |
| supported | Whether given mode is supported by this device |
Definition at line 183 of file vtkWebXR.h.
| enum WebXRHandedness |
WebXR handedness.
| Enumerator | |
|---|---|
| WEBXR_HANDEDNESS_NONE | |
| WEBXR_HANDEDNESS_LEFT | |
| WEBXR_HANDEDNESS_RIGHT | |
Definition at line 44 of file vtkWebXR.h.
| enum WebXRTargetRayMode |
WebXR target ray mode.
| Enumerator | |
|---|---|
| WEBXR_TARGET_RAY_MODE_GAZE | |
| WEBXR_TARGET_RAY_MODE_TRACKED_POINTER | |
| WEBXR_TARGET_RAY_MODE_SCREEN | |
Definition at line 52 of file vtkWebXR.h.
| enum WebXRSessionMode |
WebXR 'XRSessionMode' enum.
| Enumerator | |
|---|---|
| WEBXR_SESSION_MODE_INLINE | |
| WEBXR_SESSION_MODE_IMMERSIVE_VR | |
| WEBXR_SESSION_MODE_IMMERSIVE_AR | |
Definition at line 60 of file vtkWebXR.h.
| enum WebXRInputPoseMode |
WebXR 'XRSessionMode' enum.
| Enumerator | |
|---|---|
| WEBXR_INPUT_POSE_GRIP | |
| WEBXR_INPUT_POSE_TARGET_RAY | |
Definition at line 75 of file vtkWebXR.h.
Definition at line 114 of file vtkWebXR.h.
| Enumerator | |
|---|---|
| WEBXR_AXIS_PRIMARY_TOUCHPAD_X | |
| WEBXR_AXIS_PRIMARY_TOUCHPAD_Y | |
| WEBXR_AXIS_PRIMARY_THUMBSTICK_X | |
| WEBXR_AXIS_PRIMARY_THUMBSTICK_Y | |
| WEBXR_AXIS_1 | |
| WEBXR_AXIS_2 | |
| WEBXR_AXIS_3 | |
| WEBXR_AXIS_4 | |
Definition at line 127 of file vtkWebXR.h.
|
extern |
Init WebXR rendering.
| frameCallback | Callback called every frame |
| sessionStartCallback | Callback called when session is started |
| sessionEndCallback | Callback called when session ended |
| errorCallback | Callback called every frame |
| userData | User data passed to the callbacks |
|
extern |
|
extern |
|
extern |
Get viewer (hmd) pose.
|
extern |
Get views.
|
extern |
Get framebuffer width and height.
|
extern |
WebXR Input.
Get input sources.
| outArray | WebXRInputSource array to fill. |
| max | Size of outArray (in elements). |
| outCount | Will receive the number of input sources valid in outArray. |
false if getting the input sources failed, true otherwise.
|
extern |
Get input pose.
Can only be called during the frame callback.
| source | The source to get the pose for. |
| outPose | Where to store the pose. |
| mode | Input pose mode, whether WEBXR_INPUT_POSE_GRIP or WEBXR_INPUT_POSE_TARGET_RAY |
false if updating the pose failed, true otherwise.
|
extern |
Get input gamepad.
Can only be called during the frame callback.
| source | The source to get the gamepad for. |
| outGamepad | Where to store the gamepad. |
false if updating the gamepad failed, true otherwise