GCOP  1.0
airmmanifold.h
Go to the documentation of this file.
00001 #ifndef GCOP_AIRMMANIFOLD_H
00002 #define GCOP_AIRMMANIFOLD_H
00003 
00004 #include "manifold.h"
00005 
00006 namespace gcop {
00007   
00008   using namespace std;
00009   using namespace Eigen;
00010 
00011   typedef Matrix<double, 13, 1> Vector9d;
00012   typedef Matrix<double, 16, 1> Vector16d;
00013   typedef pair<Matrix3d, Vector13d> AirmState;
00014   
00015   class AirmManifold : public Manifold<AirmState, 16> {
00016     
00017   public:
00018     
00019     static AirmManifold& Instance();
00020 
00021     void Lift(Vector16d &v,
00022               const AirmState &xa,
00023               const AirmState &xb);      
00024 
00025     void Retract(AirmState &xb, 
00026                  const AirmState &xa,
00027                  const Vector16d &v);
00028 
00029   private:
00030     AirmManifold();
00031   };  
00032 }
00033 
00034 
00035 #endif