Fawkes API
Fawkes Development Version
|
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 ×tamp, 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 ×tamp, 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 ×tamp, 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 ×tamp, 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