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