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
28namespace fawkes {
29namespace tf {
30
31// The following classes are used for better Lua compatibility
32
33/// @cond LUA_COMPAT
34
35class StampedQuaternion : public Stamped<Quaternion>
36{
37public:
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
49class StampedVector3 : public Stamped<Vector3>
50{
51public:
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
61class StampedPoint : public Stamped<Point>
62{
63public:
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
73class StampedPose : public Stamped<Pose>
74{
75public:
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.