Fawkes API  Fawkes Development Version
types_lua.h
00001 
00002 /***************************************************************************
00003  *  types_lua.h - Fawkes Lua compatibility tf types
00004  *
00005  *  Created: Mon Nov 28 13:22:29 2011
00006  *  Copyright  2011  Tim Niemueller [www.niemueller.de]
00007  ****************************************************************************/
00008 
00009 /*  This program is free software; you can redistribute it and/or modify
00010  *  it under the terms of the GNU General Public License as published by
00011  *  the Free Software Foundation; either version 2 of the License, or
00012  *  (at your option) any later version. A runtime exception applies to
00013  *  this software (see LICENSE.GPL_WRE file mentioned below for details).
00014  *
00015  *  This program is distributed in the hope that it will be useful,
00016  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
00017  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00018  *  GNU Library General Public License for more details.
00019  *
00020  *  Read the full text in the LICENSE.GPL_WRE file in the doc directory.
00021  */
00022 
00023 #ifndef __LIBS_TF_TYPES_LUA_H_
00024 #define __LIBS_TF_TYPES_LUA_H_
00025 
00026 #include <tf/types.h>
00027 
00028 namespace fawkes {
00029   namespace tf {
00030 #if 0 /* just to make Emacs auto-indent happy */
00031   }
00032 }
00033 #endif
00034 
00035 // The following classes are used for better Lua compatibility
00036 
00037 /// @cond LUA_COMPAT
00038 
00039 class StampedQuaternion : public Stamped<Quaternion>
00040 {
00041  public:
00042  StampedQuaternion() : Stamped<Quaternion>() {}
00043   StampedQuaternion(const Quaternion &input, const fawkes::Time &timestamp,
00044                     const std::string &frame_id)
00045     : Stamped<Quaternion>(input, timestamp, frame_id) {}
00046 };
00047 
00048 class StampedVector3 : public Stamped<Vector3>
00049 {
00050  public:
00051  StampedVector3() : Stamped<Vector3>() {}
00052   StampedVector3(const Vector3 &input, const fawkes::Time &timestamp,
00053                     const std::string &frame_id)
00054     : Stamped<Vector3>(input, timestamp, frame_id) {}
00055 
00056 };
00057 
00058 
00059 class StampedPoint : public Stamped<Point>
00060 {
00061  public:
00062  StampedPoint() : Stamped<Point>() {}
00063   StampedPoint(const Point &input, const fawkes::Time &timestamp,
00064                     const std::string &frame_id)
00065     : Stamped<Point>(input, timestamp, frame_id) {}
00066 
00067 };
00068 
00069 class StampedPose : public Stamped<Pose>
00070 {
00071  public:
00072  StampedPose() : Stamped<Pose>() {}
00073   StampedPose(const Pose &input, const fawkes::Time &timestamp,
00074                     const std::string &frame_id)
00075     : Stamped<Pose>(input, timestamp, frame_id) {}
00076 };
00077 
00078 /// @endcond
00079 
00080 } // end namespace tf
00081 } // end namespace fawkes
00082 
00083 #endif