GCOP
1.0
|
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