···347347 * xrt_device::get_tracked_pose for that.
348348 *
349349 * @param[in] xdev The device.
350350- * @param[in] eye_relation The interpupillary relation as a 3D position.
351351- * Most simple stereo devices would just want to
352352- * set `out_pose->position.[x|y|z] = ipd.[x|y|z]
353353- * / 2.0f` and adjust for left vs right view.
354354- * Not to be confused with IPD that is absolute
355355- * distance, this is a full 3D translation
356356- * If a device has a more accurate/dynamic way of
357357- * knowing the eye relation, it may ignore this
358358- * input.
359359- * @param[in] view_index Index of view.
360360- * @param[out] out_pose Output pose. See eye_relation argument for
361361- * sample position. Be sure to also set
362362- * orientation: most likely identity
363363- * orientation unless you have canted screens.
364364- * (Caution: Even if you have eye tracking, you
365365- * won't use eye orientation here!)
366366- */
367367- void (*get_view_pose)(struct xrt_device *xdev,
368368- const struct xrt_vec3 *eye_relation,
369369- uint32_t view_index,
370370- struct xrt_pose *out_pose);
371371-372372- /*!
373373- * @brief Get the per-view pose in relation to the view space.
374374- *
375375- * On most device with coplanar displays, this just calls a helper to
376376- * process the provided eye relation, but this may also handle canted
377377- * displays as well as eye tracking.
378378- *
379379- * Does not do any device level tracking, use
380380- * xrt_device::get_tracked_pose for that.
381381- *
382382- * @param[in] xdev The device.
383350 * @param[in] default_eye_relation
384351 * The interpupillary relation as a 3D position.
385352 * Most simple stereo devices would just want to
···463430xrt_device_set_output(struct xrt_device *xdev, enum xrt_output_name name, union xrt_output_value *value)
464431{
465432 xdev->set_output(xdev, name, value);
466466-}
467467-468468-/*!
469469- * Helper function for @ref xrt_device::get_view_pose.
470470- *
471471- * @public @memberof xrt_device
472472- */
473473-static inline void
474474-xrt_device_get_view_pose(struct xrt_device *xdev,
475475- const struct xrt_vec3 *eye_relation,
476476- uint32_t view_index,
477477- struct xrt_pose *out_pose)
478478-{
479479- xdev->get_view_pose(xdev, eye_relation, view_index, out_pose);
480433}
481434482435/*!