Panda3D

arToolKit.h
Go to the documentation of this file.
1 /**
2 * PANDA 3D SOFTWARE
3 * Copyright (c) Carnegie Mellon University. All rights reserved.
4 *
5 * All use of this software is subject to the terms of the revised BSD
6 * license. You should have received a copy of this license along
7 * with this source code in a file named "LICENSE."
8 *
9 * @file arToolKit.h
10 * @author jyelon
11 * @date 2007-11-01
12 */
13
14 #ifndef ARTOOLKIT_H
15 #define ARTOOLKIT_H
16
17 #include "pandabase.h"
18
19 #ifdef HAVE_ARTOOLKIT
20
21 #include "nodePath.h"
22 #include "texture.h"
23
24 /**
25 * ARToolKit is a software library for building Augmented Reality (AR)
26 * applications. These are applications that involve the overlay of virtual
27 * imagery on the real world. It was developed by Dr. Hirokazu Kato. Its
28 * ongoing development is being supported by the Human Interface Technology
29 * Laboratory (HIT Lab) at the University of Washington, HIT Lab NZ at the
30 * University of Canterbury, New Zealand, and ARToolworks, Inc, Seattle. It
31 * is available under a GPL license. It is also possible to negotiate other
32 * licenses with the copyright holders.
33 *
34 * This class is a wrapper around the ARToolKit library.
35 */
36 class EXPCL_VISION ARToolKit {
37
38 PUBLISHED:
39 static ARToolKit *make(NodePath camera, const Filename &paramfile, double markersize);
40 ~ARToolKit();
41
42 INLINE void set_threshold(double n);
43 void attach_pattern(const Filename &pattern, NodePath path);
44 void detach_patterns();
45 void analyze(Texture *tex, bool do_flip_texture = true);
46
47 private:
48 static int get_pattern(const Filename &pattern);
49 ARToolKit();
50 void cleanup();
51
52 typedef pmap<Filename, int> PatternTable;
53 static PatternTable _pattern_table;
54
55 typedef pmap<int, NodePath> Controls;
56 Controls _controls;
57
58 NodePath _camera;
59 void *_camera_param;
60 double _threshold;
61 double _marker_size;
62 double _prev_conv[3][4];
63 bool _have_prev_conv;
64 };
65
66 #include "arToolKit.I"
67
68 #endif // HAVE_ARTOOLKIT
69 #endif // ARTOOLKIT_H
arToolKit.I
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
Filename
The name of a file, such as a texture file or an Egg file.
Definition: filename.h:39
NodePath
NodePath is the fundamental system for disambiguating instances, and also provides a higher-level int...
Definition: nodePath.h:159
Texture
Represents a texture object, which is typically a single 2-d image but may also represent a 1-d or 3-...
Definition: texture.h:71
pmap
This is our own Panda specialization on the default STL map.
Definition: pmap.h:49
nodePath.h
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
pandabase.h
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
texture.h
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.