Panda3D

Loading...
Searching...
No Matches
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
38PUBLISHED:
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.
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.