openscad/openscad — pull request #183 by donbright (2012-08-19 13:51:47+00:00)
Title: Eigen3

This allows OpenSCAD to build against Eigen3 or Eigen2, whichever is available.

0. EIGEN2DIR environment variable has been replaced with EIGENDIR (although EIGEN2DIR is still read, for backwards compatability with any old scripts/websites)
1. #ifdefs detect which eigen version and use appropriate code
2. eigen::Transform3d -> eigen::Affine3d
3. "Using namespace boost::filesystem" appears to conflict with eigen3 in some cases. Switched to using 'namespace fs = boost::filesystem' and prepending fs:: to all relevant functions.
4. cwise() moved to array()
5. qmake and cmake build rewritten to detect both eigen3 / eigen2
6. dependency scripts rewritten to favor eigen3, but also allow eigen2 if needed.

see also http://eigen.tuxfamily.org/dox/Eigen2ToEigen3.html

tests pass with %100 on gcc 4.6 / linux 64bit / software renderer
1 test fails under clang / linux 32 bit, but im not sure if its related to eigen3 directly (see issue #182 )