GCOP  1.0
force.h
Go to the documentation of this file.
00001 #ifndef GCOP_FORCE_H
00002 #define GCOP_FORCE_H
00003 
00004 #include <Eigen/Dense>
00005 #include <vector>
00006 #include <assert.h>
00007 #include <iostream>
00008 
00009 namespace gcop {
00010   
00011   using namespace Eigen;
00012   
00013   
00023   template <typename Tx, int _l = Dynamic, int _n = Dynamic, int _c = Dynamic> class Force {
00024     
00025   public:
00026   
00027   typedef Matrix<double, _l, 1> Vectorld;
00028   typedef Matrix<double, _n, 1> Vectornd;
00029   typedef Matrix<double, _c, 1> Vectorcd;
00030   typedef Matrix<double, _l, _n> Matrixlnd;
00031   typedef Matrix<double, _l, _c> Matrixlcd;
00032   
00033   typedef Matrix<double, _l, Dynamic> MatrixlXd;
00034   
00035   virtual void Set(Vectorld &f, double t, const Tx &x, 
00036                    const Vectorcd &u, double h, const VectorXd *p = 0,
00037                    Matrixlnd *A = 0, Matrixlcd *B = 0, MatrixlXd *C = 0);
00038   };
00039   
00040   template <typename Tx, int _l, int _n, int _c> 
00041     void Force<Tx, _l, _n, _c>::Set(Vectorld &f, double t, const Tx &x, 
00042                                     const Vectorcd &u, double h, const VectorXd *p,
00043                                     Matrix<double, _l, _n> *A, Matrix<double, _l, _c> *B,
00044                                     MatrixlXd *C) {
00045     std::cout << "[W] Force::Set: unimplemented!" << std::endl;
00046   }  
00047 }
00048 
00049 #endif