GCOP  1.0
tparamdocp.h
Go to the documentation of this file.
00001 #ifndef GCOP_TPARAMDOCP_H
00002 #define GCOP_TPARAMDOCP_H
00003 
00004 #include "docp.h"
00005 #include "tparam.h"
00006 
00007 namespace gcop {
00008 
00009   using namespace std;
00010   using namespace Eigen;
00011  
00012   template <typename T, 
00013     int nx = Dynamic, 
00014     int nu = Dynamic,
00015     int np = Dynamic,
00016     int nz = Dynamic,
00017     int _ntp = Dynamic> class TparamDocp : 
00018     public Docp<T, nx, nu, np, nz>{
00019     
00020     typedef Matrix<double, nx, 1> Vectornd;
00021     typedef Matrix<double, nu, 1> Vectorcd;
00022     typedef Matrix<double, np, 1> Vectormd;
00023 
00024     typedef Matrix<double, nx, nx> Matrixnd;
00025     typedef Matrix<double, nx, nu> Matrixncd;
00026     typedef Matrix<double, nu, nx> Matrixcnd;
00027     typedef Matrix<double, nu, nu> Matrixcd;  
00028     
00029   public:
00047     TparamDocp(System<T, nx, nu, np, nz> &sys, Cost<T, nx, nu> &cost, 
00048                Tparam<T, nx, nu, np, nz, _ntp> &tp,
00049                vector<double> &ts, vector<T> &xs, vector<Vectorcd> &us,
00050                Vectormd *p = 0);
00051     
00052     virtual ~TparamDocp();
00053 
00057     void Iterate();
00058 
00059     Tparam<T, nx, nu, np, nz, _ntp> &tp; 
00060   };
00061 
00062   
00063   template <typename T, int nx, int nu, int np, int nz, int _ntp> 
00064     TparamDocp<T, nx, nu, np, nz, _ntp>::TparamDocp(System<T, nx, nu, np, nz> &sys, 
00065                                                     LqCost<T, nx, nu> &cost,
00066                                                     Tparam<T, nx, nu, np, nz, _ntp> &tp,
00067                                                     vector<double> &ts, 
00068                                                     vector<T> &xs, 
00069                                                     vector<Matrix<double, nu, 1> > &us,
00070                                                     Matrix<double, np, 1> *p) : 
00071     Docp<T, nx, nu, np, nz>(sys, cost, ts, xs, us, p, false) {
00072   }
00073   
00074   template <typename T, int nx, int nu, int np, int nz, int _ntp> 
00075     TparamDocp<T, nx, nu, np, nz, _ntp>::~TparamDocp()
00076     {
00077     }  
00078   
00079   template <typename T, int nx, int nu> 
00080     void Tparamdocp<T, nx, nu>::Iterate() {
00081     
00082   }
00083 }
00084 
00085 #endif