GCOP  1.0
gunicycle.h
Go to the documentation of this file.
00001 #ifndef GCOP_GUNICYCLE_H
00002 #define GCOP_GUNICYCLE_H
00003 
00004 #include "system.h"
00005 #include <utility>
00006 
00007 namespace gcop {
00008   
00009   using namespace std;
00010   using namespace Eigen;
00011 
00012   typedef Matrix<double, 5, 1> Vector5d;
00013   typedef Matrix<double, 5, 5> Matrix5d;
00014   typedef Matrix<double, 5, 2> Matrix52d;
00015   typedef Matrix<double, 5, Dynamic> Matrix5Xd;
00016   
00017   typedef pair<Matrix3d, Vector2d> M3V2d;
00018 
00031   class Gunicycle : public System<M3V2d, 5, 2> {
00032   public:
00033     Gunicycle();
00034     
00035     double Step(M3V2d &xb, double t, const M3V2d &xa, 
00036                 const Vector2d &u, double h, const VectorXd *p,
00037                 Matrix5d *A = 0, Matrix52d *B = 0, Matrix5Xd *C = 0);
00038     
00039     double dx; 
00040     double dy; 
00041   };  
00042 }
00043 
00044 
00045 #endif