Monado OpenXR Runtime
ht_interface.h
Go to the documentation of this file.
1// Copyright 2020-2021, Collabora, Ltd.
2// SPDX-License-Identifier: BSL-1.0
3/*!
4 * @file
5 * @brief Interface to camera based hand tracking driver code.
6 * @author Christoph Haag <christoph.haag@collabora.com>
7 * @author Moses Turner <moses@collabora.com>
8 * @ingroup drv_ht
9 */
10
11#pragma once
12
13#include "xrt/xrt_device.h"
14#include "xrt/xrt_config_drivers.h"
15
16#include "tracking/t_tracking.h"
18#include "xrt/xrt_prober.h"
19#include "xrt/xrt_tracking.h"
20
21
22#ifdef __cplusplus
23extern "C" {
24#endif
25
26/*!
27 * @defgroup drv_ht Camera based hand tracking
28 * @ingroup drv
29 *
30 * @brief Camera based hand tracking
31 */
32
33/*!
34 * Create hand tracker.
35 *
36 * @ingroup drv_ht
37 *
38 * @param xfctx Frame context to attach the tracker to
39 * @param calib Calibration struct for stereo camera
40 * @param create_info Additional creation options
41 * @param out_sinks Sinks to stream camera data to
42 * @param out_device Newly created hand tracker "device"
43 * @return int 0 on success
44 */
45int
47 struct t_stereo_camera_calibration *calib,
48 struct t_hand_tracking_create_info create_info,
49 struct xrt_slam_sinks **out_sinks,
50 struct xrt_device **out_device);
51
52
53/*!
54 * @dir drivers/ht
55 *
56 * @brief @ref drv_ht files.
57 */
58#ifdef __cplusplus
59}
60#endif
int ht_device_create(struct xrt_frame_context *xfctx, struct t_stereo_camera_calibration *calib, struct t_hand_tracking_create_info create_info, struct xrt_slam_sinks **out_sinks, struct xrt_device **out_device)
Create hand tracker.
Definition: ht_driver.c:235
Creation info for the creation of a hand tracker.
Definition: t_hand_tracking.h:111
Stereo camera calibration data to be given to trackers.
Definition: t_tracking.h:248
A single HMD or input device.
Definition: xrt_device.h:230
Object used to track all sinks and frame producers in a graph.
Definition: xrt_frame.h:108
Container of pointers to sinks that could be used for a SLAM system.
Definition: xrt_tracking.h:202
Hand tracking interfaces.
Tracking API interface.
Header defining an xrt display or controller device.
Common interface to probe for devices.
Header defining the tracking system integration in Monado.