[eigen] alignment issues, conversion between aligned / unaligned data, unaligned Eigen::Rotation2D

[ Thread Index | Date Index | More lists.tuxfamily.org/eigen Archives ]


Hello.

We are developing a 3D printing software https://github.com/prusa3d/slic3r
(fork of http://slic3r.org/)

We are now trying to replace the homebrew point classes with the Eigen fixed size types. As the code base is quite large, we want to avoid alignment issues by declaring fixed vector types with the Eigen::DontAlign attribute. So far so good, with the exception of Eigen::Rotation2D, which is not templated with the alignment attribute, so it cannot be used against the fixed size matrices with Eigen::DontAlign. Is there any reason for that? Would you guys please extend the class with the alignment template attribute?

We are thinking of using https://github.com/libigl/libigl for some operations on triangle meshes, where the vectorized operations may or may not be beneficial. We may just disable alignment / vectorization for the whole application. We are not sure about the performance penalty, but looking at the evaluation of Eigen 2 from 2008 
http://eigen.tuxfamily.org/index.php?title=Benchmark-August2008
the loss may be significant.

We may then think about converting between the aligned / non aligned values. Does Eigen support any conversion between aligned / unaligned types? I know about the .cast<>() operator, but it does not allow me to change the alignment attribute.

Thanks for your time,
Vojtech



Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/