fantaosha / SCOPE

Reviatalizing Optimization for 3D Human Pose and Shape Estimation: A Sparse Constrained Formulation
MIT License
58 stars 9 forks source link

Replace Eigen::Matrix3X<double> #3

Closed MuchenSun closed 2 years ago

MuchenSun commented 2 years ago

Hi Taosha,

In "C++/scope/utils/Setup.cpp", there are two places with "Eigen::Matrix3X", which seem to cause compilation error: "error: ‘Matrix3X’ is not a member of ‘Eigen’;". I fixed that by replacing them with "Eigen::Matrix<double, 3, Eigen::Dynamic>". Would you consider updating them in the repo?

Thank you! Muchen

fantaosha commented 2 years ago

Eigen::Matrix3X is available for Eigen 3.3 or later. Thus, this is not a bug.

MuchenSun commented 2 years ago

I believe Eigen::Matrix3X is only introduced after 3.4 (the error I received is from Eigen 3.3.7), below are the links to Eigen's documentation for global matrix typedefs, with version 3.3.9 and 3.4.0. In the link of 3.3.9, only Eigen::MatrixXd is mentioned. Global matrix typedefs (3.3.9): Global matrix typedefs (3.4.0):

But I found Eigen::Matrix3Xd is supported after Eigen 3.3, which can also pass the compilation.

Thanks!