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