diff options
-rw-r--r-- | eigen.pri | 15 | ||||
-rw-r--r-- | openscad.pro | 2 | ||||
-rw-r--r-- | testdata/scad/features/scale2D-tests.scad | 10 | ||||
-rw-r--r-- | testdata/scad/features/scale3D-tests.scad | 11 | ||||
-rw-r--r-- | tests/CMingw-cross-env.cmake | 5 | ||||
-rw-r--r-- | tests/regression/dumptest/scale2D-tests-expected.txt | 4 |
6 files changed, 43 insertions, 4 deletions
@@ -59,6 +59,21 @@ isEmpty(EIGEN_INCLUDEPATH) { } } +!exists($$EIGEN_INCLUDEPATH/Eigen/Core) { + EIGEN_CFLAGS = $$system("pkg-config --cflags eigen2") + EIGEN_INCLUDEPATH = $$replace(EIGEN_CFLAGS,"-I","") +} + +!exists($$EIGEN_INCLUDEPATH/Eigen/Core) { + EIGEN_CFLAGS = $$system("pkg-config --cflags eigen3") + EIGEN_INCLUDEPATH = $$replace(EIGEN_CFLAGS,"-I","") +} + +mingw-cross-env { + EIGEN_CFLAGS = $$system("i686-pc-mingw32-pkg-config --cflags eigen3") + EIGEN_INCLUDEPATH = $$replace(EIGEN_CFLAGS,"-I","") +} + # disable Eigen SIMD optimizations for platforms where it breaks compilation !macx { !freebsd-g++ { diff --git a/openscad.pro b/openscad.pro index c7a3e43..6f3ddfb 100644 --- a/openscad.pro +++ b/openscad.pro @@ -291,7 +291,7 @@ SOURCES += src/version_check.cc \ src/OpenCSGWarningDialog.cc \ src/editor.cc \ src/GLView.cc \ - src/QGLview.cc \ + src/QGLView.cc \ src/AutoUpdater.cc \ \ src/builtin.cc \ diff --git a/testdata/scad/features/scale2D-tests.scad b/testdata/scad/features/scale2D-tests.scad new file mode 100644 index 0000000..87b2278 --- /dev/null +++ b/testdata/scad/features/scale2D-tests.scad @@ -0,0 +1,10 @@ +module obj2D() square([2,3], center=true); + +// 3 variants of 3D scale of 2D object +scale([2,4/3,2]) obj2D(); +translate([5,0,0]) scale([2,4/3]) obj2D(); +translate([10,0,0]) scale(2) obj2D(); + +// Scale by zero; 2D object +linear_extrude() scale([0,0]) obj2D(); +linear_extrude() scale([0,1]) obj2D(); diff --git a/testdata/scad/features/scale3D-tests.scad b/testdata/scad/features/scale3D-tests.scad new file mode 100644 index 0000000..c46aae6 --- /dev/null +++ b/testdata/scad/features/scale3D-tests.scad @@ -0,0 +1,11 @@ +module obj3D() cylinder(r=1, center=true, $fn=8); + +// 3 variants of 3D scale of 3D object +translate([0,0,0]) scale([1,2,3]) obj3D(); +translate([5,0,0]) scale([2,1]) obj3D(); +translate([10,0,0]) scale(2) obj3D(); + +// Scale by zero; 3D object +linear_extrude() scale([0,0,0]) obj3D(); +linear_extrude() scale([0,1,0]) obj3D(); +linear_extrude() scale([1,1,0]) obj3D(); diff --git a/tests/CMingw-cross-env.cmake b/tests/CMingw-cross-env.cmake index 186c35e..c2883eb 100644 --- a/tests/CMingw-cross-env.cmake +++ b/tests/CMingw-cross-env.cmake @@ -13,7 +13,6 @@ # the setenv-mingw-xbuild.sh script will set MXEDIR # cd openscad/tests && mkdir build-mingw32 && cd build-mingw32 # # set env variables: -# PKG_CONFIG_PATH=$PKG_CONFIG_PATH:$MXEDIR/usr/i686-pc-mingw32/qt/lib/pkgconfig # OPENSCADPATH=../../libraries # (to find MCAD for some tests) # cmake .. -DCMAKE_TOOLCHAIN_FILE=../CMingw-cross-env.cmake \ # -DMINGW_CROSS_ENV_DIR=$MXEDIR @@ -125,6 +124,10 @@ set(QT_UIC_EXECUTABLE ${MINGW_CROSS_ENV_DIR}/usr/bin/i686-pc-mingw32-uic) function(mingw_cross_env_find_qt) # called from CMakeLists.txt + set(PKGC_DEST ${MINGW_CROSS_ENV_DIR}/usr/i686-pc-mingw32/lib/pkgconfig) + set(QT_PKGC_SRC ${MINGW_CROSS_ENV_DIR}/usr/i686-pc-mingw32/qt/lib/pkgconfig/) + file(COPY ${QT_PKGC_SRC} DESTINATION ${PKGC_DEST} FILES_MATCHING PATTERN "*.pc") + find_package( PkgConfig ) pkg_check_modules( QTCORE QtCore ) pkg_check_modules( QTGUI QtGui ) diff --git a/tests/regression/dumptest/scale2D-tests-expected.txt b/tests/regression/dumptest/scale2D-tests-expected.txt index aa1eca2..6d4c096 100644 --- a/tests/regression/dumptest/scale2D-tests-expected.txt +++ b/tests/regression/dumptest/scale2D-tests-expected.txt @@ -1,10 +1,10 @@ - multmatrix([[2, 0, 0, 0], [0, 1.33333, 0, 0], [0, 0, 2, 0], [0, 0, 0, 1]]) { + multmatrix([[2, 0, 0, 0], [0, 1.33333333333, 0, 0], [0, 0, 2, 0], [0, 0, 0, 1]]) { group() { square(size = [2, 3], center = true); } } multmatrix([[1, 0, 0, 5], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { - multmatrix([[2, 0, 0, 0], [0, 1.33333, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { + multmatrix([[2, 0, 0, 0], [0, 1.33333333333, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { group() { square(size = [2, 3], center = true); } |