Eigen3 #183

Closed
wants to merge 45 commits into
from

Conversation

Projects
None yet
2 participants
@donbright
Member

donbright commented Aug 19, 2012

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

The point is to maybe have a way to build with clang on Mac OSX (see issue #174)

  1. EIGEN2DIR environment variable has been replaced with EIGENDIR (although EIGEN2DIR is still read, for backwards compatability with any old scripts/websites)
  2. #ifdefs detect which eigen version and use appropriate code
  3. eigen::Transform3d -> eigen::Affine3d
  4. "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.
  5. cwise() moved to array()
  6. qmake and cmake build rewritten to detect both eigen3 / eigen2
  7. 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 )

kintel and others added some commits May 27, 2012

Merge branch 'master' into lion
Conflicts:
	README.md
	scripts/macosx-build-dependencies.sh
	src/linearextrude.cc
	src/parsersettings.cc
Merge branch 'master' into lion
Conflicts:
	README.md
	src/linearextrude.cc
	src/parsersettings.cc
	src/value.cc
Merge branch 'master' into lion
Conflicts:
	src/dxfdata.cc
initial rework to enable eigen3 per issue #174.
1. enable eigen3 in qmake build system
2. convert Transform3d and cwise() per the eigen2->eigen3 porting faq online
3. get rid of 'using namespace boost::filesystem' as it conflicts with eigen3
more eigen3 fixes.
1. finish converting 'using namespace boost::filsystem' to 'namespace fs = boost::filesystem'.

2. initial version of changes to CMakelists.txt for the regression test
alter Mac OSX dependencies build script to get eigen version 3.1.1
This still allows the building of eigen, 2.0.17 just change the version
number at the bottom of the file.

Eigen3 requires an 'out of source' build.
Revert "more debug"
This reverts commit 8f17a48.
@@ -157,7 +168,8 @@ endif()
set(CMAKE_INCLUDE_DIRECTORIES_BEFORE OFF)
-# Eigen2
+
+# Eigen

This comment has been minimized.

@donbright

donbright Aug 19, 2012

Member

it would be possible to just set all the 'HINTS' and do one 'find_path' but i have seen find_path be very buggy in various situations and perferred to keep the calls to find_path extremely simple and straightforward.

@donbright

donbright Aug 19, 2012

Member

it would be possible to just set all the 'HINTS' and do one 'find_path' but i have seen find_path be very buggy in various situations and perferred to keep the calls to find_path extremely simple and straightforward.

@donbright

This comment has been minimized.

Show comment
Hide comment
@donbright

donbright Aug 19, 2012

Member

can confirm this has nothing to do with eigen3, because it happens also on eigen2 (boost 1.50 linux 64 bit, gcc 4.6 compiler)

Member

donbright commented Aug 19, 2012

can confirm this has nothing to do with eigen3, because it happens also on eigen2 (boost 1.50 linux 64 bit, gcc 4.6 compiler)

@kintel

This comment has been minimized.

Show comment
Hide comment
@kintel

kintel Aug 20, 2012

Member

I'm doing some tests under Mac OS X Lion, so I'm pushing a few related changes to this branch..

Member

kintel commented Aug 20, 2012

I'm doing some tests under Mac OS X Lion, so I'm pushing a few related changes to this branch..

@kintel kintel closed this Aug 20, 2012

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment