GCOP
1.0
|
00001 #ifndef GCOP_MAP_H 00002 #define GCOP_MAP_H 00003 #include <Eigen/Dense> 00004 #include <assert.h> 00005 #include <iostream> 00006 #include "manifold.h" 00007 00008 namespace gcop { 00009 using namespace Eigen; 00016 template <typename T1, typename T2, int _n1 = Dynamic, int _n2 = Dynamic> class Manifoldmap { 00017 public: 00018 typedef Matrix<double, _n1, 1> Vectorn1d; 00019 typedef Matrix<double, _n1, _n> Matrixn1d; 00020 00021 typedef Matrix<double, _n2, 1> Vectorn2d; 00022 typedef Matrix<double, _n2, _n> Matrixn2d; 00023 00024 typedef Matrix<double, _n1, _n2> Matrixn1n2d; 00025 00026 int n1;//Input dimension 00027 int n2;//Output dimension 00028 00032 Manifoldmap(int n1, int n2): n1(_n1 != Dynamic ? _n1 : n1), n2(_n2 != Dynamic ? _n2 : n2) 00033 { 00034 }; 00035 00042 virtual void map(const T1 &m1, T2 &m2, Matrixn1n2d *J = 0) = 0; 00043 } 00044 } 00045 #endif