summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--eigen.pri15
-rw-r--r--openscad.pro2
-rw-r--r--testdata/scad/features/scale2D-tests.scad10
-rw-r--r--testdata/scad/features/scale3D-tests.scad11
-rw-r--r--tests/CMingw-cross-env.cmake5
-rw-r--r--tests/regression/dumptest/scale2D-tests-expected.txt4
6 files changed, 43 insertions, 4 deletions
diff --git a/eigen.pri b/eigen.pri
index 5adac4b..5935a47 100644
--- a/eigen.pri
+++ b/eigen.pri
@@ -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);
}
contact: Jan Huwald // Impressum