Fawkes API  Fawkes Development Version
types_lua.h
1 
2 /***************************************************************************
3  * types_lua.h - Fawkes Lua compatibility tf types
4  *
5  * Created: Mon Nov 28 13:22:29 2011
6  * Copyright 2011 Tim Niemueller [www.niemueller.de]
7  ****************************************************************************/
8 
9 /* This program is free software; you can redistribute it and/or modify
10  * it under the terms of the GNU General Public License as published by
11  * the Free Software Foundation; either version 2 of the License, or
12  * (at your option) any later version. A runtime exception applies to
13  * this software (see LICENSE.GPL_WRE file mentioned below for details).
14  *
15  * This program is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18  * GNU Library General Public License for more details.
19  *
20  * Read the full text in the LICENSE.GPL_WRE file in the doc directory.
21  */
22 
23 #ifndef _LIBS_TF_TYPES_LUA_H_
24 #define _LIBS_TF_TYPES_LUA_H_
25 
26 #include <tf/types.h>
27 
28 namespace fawkes {
29 namespace tf {
30 
31 // The following classes are used for better Lua compatibility
32 
33 /// @cond LUA_COMPAT
34 
35 class StampedQuaternion : public Stamped<Quaternion>
36 {
37 public:
38  StampedQuaternion() : Stamped<Quaternion>()
39  {
40  }
41  StampedQuaternion(const Quaternion & input,
42  const fawkes::Time &timestamp,
43  const std::string & frame_id)
44  : Stamped<Quaternion>(input, timestamp, frame_id)
45  {
46  }
47 };
48 
49 class StampedVector3 : public Stamped<Vector3>
50 {
51 public:
52  StampedVector3() : Stamped<Vector3>()
53  {
54  }
55  StampedVector3(const Vector3 &input, const fawkes::Time &timestamp, const std::string &frame_id)
56  : Stamped<Vector3>(input, timestamp, frame_id)
57  {
58  }
59 };
60 
61 class StampedPoint : public Stamped<Point>
62 {
63 public:
64  StampedPoint() : Stamped<Point>()
65  {
66  }
67  StampedPoint(const Point &input, const fawkes::Time &timestamp, const std::string &frame_id)
68  : Stamped<Point>(input, timestamp, frame_id)
69  {
70  }
71 };
72 
73 class StampedPose : public Stamped<Pose>
74 {
75 public:
76  StampedPose() : Stamped<Pose>()
77  {
78  }
79  StampedPose(const Pose &input, const fawkes::Time &timestamp, const std::string &frame_id)
80  : Stamped<Pose>(input, timestamp, frame_id)
81  {
82  }
83 };
84 
85 /// @endcond
86 
87 } // end namespace tf
88 } // end namespace fawkes
89 
90 #endif
A class for handling time.
Definition: time.h:93
Fawkes library namespace.