-
Notifications
You must be signed in to change notification settings - Fork 1
/
Apriltag.gen
51 lines (41 loc) · 1.54 KB
/
Apriltag.gen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
/*
* Copyright (c) 2012-2015,2018 LAAS/CNRS
*
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* Anthony Mallet on Fri Sep 28 2012
*/
#ifndef APRILTAG
#define APRILTAG
#include "or/time/time.idl"
#include "or/pose/t3d.idl"
/* Data structures */
struct point
{
double u, v;
};
typedef point corners[4];
interface apriltag {
/* Detected AprilTag parameters */
struct tag {
or::time::ts ts; /* timestamp of the image */
short id;
optional<or::t3d::pos> pos; /* position */
optional<or::t3d::att> att; /* orientation */
optional<point> center; /* Tag's center */
optional<corners> uv_corners_pos; /* Tag's corners position in pixels */
optional<double> area; /* Tag's area */
optional<string<128> > message; /* Tag's message */
};
};
#endif /* APRILTAG */