axis_angle.h
Go to the documentation of this file.
00001 // HOG-Man - Hierarchical Optimization for Pose Graphs on Manifolds
00002 // Copyright (C) 2010 G. Grisetti, R. K├╝mmerle, C. Stachniss
00003 // 
00004 // HOG-Man is free software: you can redistribute it and/or modify
00005 // it under the terms of the GNU Lesser General Public License as published
00006 // by the Free Software Foundation, either version 3 of the License, or
00007 // (at your option) any later version.
00008 // 
00009 // HOG-Man is distributed in the hope that it will be useful,
00010 // but WITHOUT ANY WARRANTY; without even the implied warranty of
00011 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00012 // GNU Lesser General Public License for more details.
00013 // 
00014 // You should have received a copy of the GNU Lesser General Public License
00015 // along with this program.  If not, see <http://www.gnu.org/licenses/>.
00016 
00017 #ifndef _AXIS_ANGLE_H_
00018 #define _AXIS_ANGLE_H_
00019 #include "quaternion.h"
00020 
00023 
00027 template <typename Base=double>
00028 struct _AxisAngle : public _Vector<3, Base>
00029 {
00030   static const int Dimension=3;
00031   static const int Angles=3;
00032   _AxisAngle();
00033   _AxisAngle(const _Quaternion<Base>& q);
00034   _AxisAngle(const _RotationMatrix3<Base>& m);
00035   _AxisAngle(const _Vector<3, Base>& vec);
00036   _AxisAngle(Base roll, Base pitch, Base yaw);
00037   _AxisAngle(const _Vector<3, Base>& axis, Base angle);
00038   _AxisAngle<Base>& operator*=(const _AxisAngle& a);
00039   _AxisAngle<Base>  operator* (const _AxisAngle& a) const;
00040   _Vector<3, Base> operator*(const _Vector<3, Base>& v) const;
00041   inline _AxisAngle<Base> inverse() const;
00042   inline _Vector<3, Base> angles() const;
00043   _RotationMatrix3<Base> rotationMatrix() const;
00044   _Quaternion<Base> quaternion() const;
00045 };
00046 
00047 typedef _AxisAngle<double> AxisAngle;
00048 typedef _AxisAngle<float> AxisAnglef;
00049 
00051 
00052 #include "axis_angle.hpp"
00053 
00054 #endif


hogman_minimal
Author(s): Maintained by Juergen Sturm
autogenerated on Mon Oct 6 2014 00:06:58