GCOP  1.0
kinbody2dmanifold.h
Go to the documentation of this file.
00001 #ifndef GCOP_KINBODY2DMANIFOLD_H
00002 #define GCOP_KINBODY2DMANIFOLD_H
00003 
00004 #include "manifold.h"
00005 #include <limits>
00006 
00007 namespace gcop {
00008   
00009   using namespace std;
00010   using namespace Eigen;
00011   
00012   class Kinbody2dManifold : public Manifold<Matrix3d, 3> {
00013   public:
00014     
00015     static Kinbody2dManifold& Instance();
00016     
00017     void Lift(Vector3d &v,
00018               const Matrix3d &xa,
00019               const Matrix3d &xb);      
00020     
00021     void Retract(Matrix3d &xb,
00022                  const Matrix3d &xa,
00023                  const Vector3d &v);    
00024 
00025     void dtau(Matrix3d &M, const Vector3d &v);
00026 
00027     void Adtau(Matrix3d &M, const Vector3d &v);
00028     
00029   private:
00030     Kinbody2dManifold();
00031   };
00032 }
00033 
00034 #endif