diff --git a/include/dynamic-graph/eigen-io.h b/include/dynamic-graph/eigen-io.h index 60eab3f023aa56ac11f9e53b0dcc396c77f38ecc..89d8f3357b180119b550be49c4642f9a9e9328ba 100644 --- a/include/dynamic-graph/eigen-io.h +++ b/include/dynamic-graph/eigen-io.h @@ -138,9 +138,21 @@ namespace Eigen { + + /* \brief Eigen Homogeneous Matrix output + * + * Matrix format: [M,N]((val11,val12,val13,...,val1N),...,(valM1,valM2,...,valMN)) + * e.g. [2,5]((1 23 32.2 12.12 32),(2 32 23 92.01 19.2)) + */ + inline std::ostream& operator << (std::ostream &os, Transform<double,3,Affine> MH) { - os << MH.matrix(); return os; } + IOFormat boostFmt(StreamPrecision, DontAlignCols, + ",", ",", + "(",")", + "(",")"); + + os << "[4,4]"<< MH.matrix().format(boostFmt); return os; } inline std::ostream& operator << (std::ostream &os, diff --git a/include/dynamic-graph/linear-algebra.h b/include/dynamic-graph/linear-algebra.h index 7605815900c2f53a7dd603cc99ffdab47de7e39f..4b566fb6f881935454e5c019d542b58383cde15e 100644 --- a/include/dynamic-graph/linear-algebra.h +++ b/include/dynamic-graph/linear-algebra.h @@ -18,6 +18,7 @@ #ifndef DYNAMIC_GRAPH_LINEAR_ALGEBRA_H #define DYNAMIC_GRAPH_LINEAR_ALGEBRA_H #include <Eigen/Core> +#include <Eigen/Geometry> namespace dynamicgraph { typedef Eigen::MatrixXd Matrix;