···14861486 struct xrt_device *device = NULL;
1487148714881488#ifdef XRT_BUILD_DRIVER_HANDTRACKING
14891489+ //!@todo Turning it off is okay for now, but we should plug metric_radius (or whatever it's called) in, at some
14901490+ //! point.
14911491+ struct hand_tracking_image_boundary_info boundary_info;
14921492+ boundary_info.views[0].type = HT_IMAGE_BOUNDARY_NONE;
14931493+ boundary_info.views[1].type = HT_IMAGE_BOUNDARY_NONE;
1489149414901495 int create_status = ht_device_create(&wh->tracking.xfctx, //
14911496 stereo_calib, //
14921497 HT_OUTPUT_SPACE_LEFT_CAMERA, //
14931498 HT_ALGORITHM_MERCURY, //
14991499+ boundary_info, //
14941500 &sinks, //
14951501 &device);
14961502 if (create_status != 0) {
+31
src/xrt/include/tracking/t_hand_tracking.h
···3030 HT_ALGORITHM_OLD_RGB
3131};
32323333+enum hand_tracking_image_boundary_type
3434+{
3535+ HT_IMAGE_BOUNDARY_NONE,
3636+ HT_IMAGE_BOUNDARY_CIRCLE,
3737+};
3838+3939+struct hand_tracking_image_boundary_circle
4040+{
4141+ // The center, in normalized 0-1 UV coordinates.
4242+ // Should probably be between 0 and 1 in pixel coordinates.
4343+ struct xrt_vec2 normalized_center;
4444+ // The radius, divided by the image width.
4545+ // For Index, should be around 0.5.
4646+ float normalized_radius;
4747+};
4848+4949+struct hand_tracking_image_boundary_info_one_view
5050+{
5151+ enum hand_tracking_image_boundary_type type;
5252+ union {
5353+ struct hand_tracking_image_boundary_circle circle;
5454+ } boundary;
5555+};
5656+5757+5858+struct hand_tracking_image_boundary_info
5959+{
6060+ //!@todo Hardcoded to 2 - needs to increase as we support headsets with more cameras.
6161+ struct hand_tracking_image_boundary_info_one_view views[2];
6262+};
6363+3364/*!
3465 * Synchronously processes frames and returns two hands.
3566 */