Monado OpenXR Runtime
t_documentation.h
Go to the documentation of this file.
1
// Copyright 2019-2021, Collabora, Ltd.
2
// SPDX-License-Identifier: BSL-1.0
3
/*!
4
* @file
5
* @brief Documentation-only header.
6
* @author Pete Black <pblack@collabora.com>
7
* @author Jakob Bornecrantz <jakob@collabora.com>
8
* @author Rylie Pavlik <rylie.pavlik@collabora.com>
9
* @ingroup aux_tracking
10
*/
11
12
#pragma once
13
14
#ifdef __cplusplus
15
extern
"C"
{
16
#endif
17
18
19
/*!
20
* @defgroup aux_tracking Tracking
21
* @ingroup aux
22
* @brief Trackers, filters and associated helper code.
23
*
24
*
25
* ### Coordinate system
26
*
27
* Right now there is no specific convention on where a tracking systems
28
* coordinate system is centered, and is something we probably need to figure
29
* out. Right now the stereo based tracking system used by the PSVR and PSMV
30
* tracking system is centered on the camera that OpenCV decided is origin.
31
*
32
* To go a bit further on the PSVR/PSMV case. Think about a idealized start up
33
* case, the user is wearing the HMD headset and holding two PSMV controllers.
34
* The HMD's coordinate system axis are perfectly parallel with the user
35
* coordinate with the user's coordinate system. Where -Z is forward. The user
36
* holds the controllers with the ball pointing up and the buttons on the back
37
* pointing forward. Which if you read the documentation of @ref psmv_device
38
* will that the axis of the PSMV are also perfectly aligned with the users
39
* coordinate system. So everything "attached" to the user has its coordinate
40
* system parallel to the user's.
41
*
42
* The camera on the other hand is looking directly at the user, its Z-axis and
43
* X-axis is flipped in relation to the user's. So to compare what is sees to
44
* what the user sees, everything is rotated 180° around the Y-axis.
45
*/
46
47
/*!
48
* @dir auxiliary/tracking
49
* @ingroup aux
50
*
51
* @brief Trackers, filters and associated helper code.
52
*/
53
54
55
#ifdef __cplusplus
56
57
namespace
xrt::auxiliary {
58
/*!
59
* @brief Namespace used by C++ interfaces in the auxiliary tracking library code.
60
*/
61
namespace
tracking {
62
// Empty
63
}
// namespace tracking
64
}
// namespace xrt::auxiliary
65
#endif
66
67
68
#ifdef __cplusplus
69
}
70
#endif
auxiliary
tracking
t_documentation.h
Generated by
1.9.4