GCOP  1.0
mbsstate.h
Go to the documentation of this file.
00001 #ifndef GCOP_MBSSTATE_H
00002 #define GCOP_MBSSTATE_H
00003 
00004 #include <Eigen/Dense>
00005 #include "se3.h"
00006 
00007 namespace gcop {
00008   
00009   using namespace std;
00010   using namespace Eigen;
00011   
00012   // state dimension for nb-body system
00013 
00014   class MbsState {
00015   public:
00016   MbsState(int nb = 1, bool fixed = false) : 
00017     gs(nb), vs(nb), dgs(nb-1),
00018       r(nb-1), dr(nb-1), ub(nb-1, false), lb(nb-1, false), 
00019       zu(VectorXd::Zero(nb-1)), zl(VectorXd::Zero(nb-1)), fixed(fixed) {
00020     }
00021     
00022   MbsState(const MbsState &x) : 
00023     gs(x.gs), vs(x.vs), dgs(x.dgs),
00024       r(x.r), dr(x.dr), ub(x.ub), lb(x.lb), 
00025       zl(x.zl), zu(x.zu), fixed(x.fixed) {
00026     }
00027     
00028     vector<Matrix4d> gs;        
00029     vector<Vector6d> vs;        
00030     vector<Matrix4d> dgs;       
00031     
00032     VectorXd r;  
00033     VectorXd dr; 
00034     vector<bool> ub; 
00035     vector<bool> lb; 
00036 
00037     VectorXd zl;  
00038     VectorXd zu;  
00039 
00040     bool fixed;  
00041   };
00042 }
00043 
00044 #endif