diff options
29 files changed, 37 insertions, 12 deletions
| diff --git a/scripts/macosx-build-dependencies.sh b/scripts/macosx-build-dependencies.sh index 088d8b4..03f8598 100755 --- a/scripts/macosx-build-dependencies.sh +++ b/scripts/macosx-build-dependencies.sh @@ -238,8 +238,9 @@ build_cgal()    cd $BASEDIR/src    rm -rf CGAL-$version    if [ ! -f CGAL-$version.tar.gz ]; then -    # 4.1 -    curl -O https://gforge.inria.fr/frs/download.php/31641/CGAL-$version.tar.gz +    # 4.2 +    curl -O https://gforge.inria.fr/frs/download.php/32359/CGAL-$version.tar.gz +    # 4.1 curl -O https://gforge.inria.fr/frs/download.php/31641/CGAL-$version.tar.gz      # 4.1-beta1 curl -O https://gforge.inria.fr/frs/download.php/31348/CGAL-$version.tar.gz      # 4.0.2 curl -O https://gforge.inria.fr/frs/download.php/31175/CGAL-$version.tar.gz      # 4.0 curl -O https://gforge.inria.fr/frs/download.php/30387/CGAL-$version.tar.gz @@ -306,7 +307,9 @@ build_eigen()    EIGENDIR="none"    if [ $version = "2.0.17" ]; then EIGENDIR=eigen-eigen-b23437e61a07; fi -  if [ $version = "3.1.2" ]; then EIGENDIR=eigen-eigen-5097c01bcdc4; fi +  if [ $version = "3.1.2" ]; then EIGENDIR=eigen-eigen-5097c01bcdc4; +  elif [ $version = "3.1.3" ]; then EIGENDIR=eigen-eigen-2249f9c22fe8; fi +    if [ $EIGENDIR = "none" ]; then      echo Unknown eigen version. Please edit script.      exit 1 @@ -435,12 +438,13 @@ fi  echo "Using basedir:" $BASEDIR  mkdir -p $SRCDIR $DEPLOYDIR  build_qt 4.8.4 -build_eigen 3.1.2 -build_gmp 5.1.1 +# NB! For eigen, also update the path in the function +build_eigen 3.1.3 +build_gmp 5.1.2  build_mpfr 3.1.2  build_boost 1.53.0  # NB! For CGAL, also update the actual download URL in the function -build_cgal 4.1 +build_cgal 4.2  build_glew 1.9.0  build_opencsg 1.3.2  if $OPTION_DEPLOY; then diff --git a/src/primitives.cc b/src/primitives.cc index 9b755ef..89c1573 100644 --- a/src/primitives.cc +++ b/src/primitives.cc @@ -242,9 +242,8 @@ AbstractNode *PrimitiveModule::instantiate(const Context *ctx, const ModuleInsta  */  int get_fragments_from_r(double r, double fn, double fs, double fa)  { -	if (r < GRID_FINE) return 0; -	if (fn > 0.0) -		return (int)fn; +	if (r < GRID_FINE) return 3; +	if (fn > 0.0) return (int)(fn >= 3 ? fn : 3);  	return (int)ceil(fmax(fmin(360.0 / fa, r*2*M_PI / fs), 5));  } diff --git a/src/rotateextrude.cc b/src/rotateextrude.cc index e073a69..a79b92e 100644 --- a/src/rotateextrude.cc +++ b/src/rotateextrude.cc @@ -33,7 +33,6 @@  #include "polyset.h"  #include "visitor.h"  #include "PolySetEvaluator.h" -#include "openscad.h" // get_fragments_from_r()  #include <sstream>  #include <boost/assign/std/vector.hpp> diff --git a/testdata/scad/dxf/arc.scad b/testdata/scad/dxf/arc.scad index fff70a3..f53b7bd 100644 --- a/testdata/scad/dxf/arc.scad +++ b/testdata/scad/dxf/arc.scad @@ -1 +1,2 @@  import("../../dxf/arc.dxf"); +translate([110,0]) import("../../dxf/arc.dxf", $fn=0.1); diff --git a/testdata/scad/dxf/circle.scad b/testdata/scad/dxf/circle.scad index 8b5d132..edb9f77 100644 --- a/testdata/scad/dxf/circle.scad +++ b/testdata/scad/dxf/circle.scad @@ -1 +1,2 @@  import("../../dxf/circle.dxf"); +translate([210,0,0]) import("../../dxf/circle.dxf", $fn=0.1); diff --git a/testdata/scad/features/circle-tests.scad b/testdata/scad/features/circle-tests.scad index 6b54d55..90cd9f6 100644 --- a/testdata/scad/features/circle-tests.scad +++ b/testdata/scad/features/circle-tests.scad @@ -8,3 +8,4 @@ translate([6,-3,0]) circle(1, $fn=12);  translate([0,-6,0]) circle(1, $fa=20, $fs=0.3);  translate([3,-6,0]) circle(1, $fa=30, $fs=0.3);  translate([6,-6,0]) circle(1, $fa=40, $fs=0.3); +translate([3,-9,0]) circle(1, $fn=0.1); diff --git a/testdata/scad/features/cylinder-tests.scad b/testdata/scad/features/cylinder-tests.scad index 71f43a6..3174bc4 100644 --- a/testdata/scad/features/cylinder-tests.scad +++ b/testdata/scad/features/cylinder-tests.scad @@ -16,5 +16,4 @@ translate([22,11,0]) cylinder(h=15, r=5, r2=5);  // tend to "abuse" this for captured nut slots  translate([-10,0,0]) cylinder(h=2, r=3, $fn=6); - -// FIXME: We could test $fs, $fa, $fn as well +translate([-10, -10, 0]) sphere(5, $fn=0.1); diff --git a/testdata/scad/features/rotate_extrude-tests.scad b/testdata/scad/features/rotate_extrude-tests.scad index 347bc78..010b7d2 100644 --- a/testdata/scad/features/rotate_extrude-tests.scad +++ b/testdata/scad/features/rotate_extrude-tests.scad @@ -28,3 +28,7 @@ translate([50,50,0]) {      translate([-50,0,0]) cube([100,100,100], center=true);    }  } + +// Minimal $fn +translate([0,-60,0]) rotate_extrude($fn=1) translate([20,0,0]) circle(r=10,$fn=1); + diff --git a/testdata/scad/features/sphere-tests.scad b/testdata/scad/features/sphere-tests.scad index e666c1b..cc80738 100644 --- a/testdata/scad/features/sphere-tests.scad +++ b/testdata/scad/features/sphere-tests.scad @@ -8,3 +8,4 @@ translate([11,11,0]) sphere(5, $fn=15);  translate([22,-11, 0]) sphere(5, $fa=20, $fs=0.3);  translate([22,  0, 0]) sphere(5, $fa=30, $fs=0.3);  translate([22, 11, 0]) sphere(5, $fa=40, $fs=0.3); +translate([11, 22, 0]) sphere(5, $fn=0.1); diff --git a/tests/regression/cgalpngtest/arc-expected.png b/tests/regression/cgalpngtest/arc-expected.pngBinary files differ index 2f555c4..23a67c7 100644 --- a/tests/regression/cgalpngtest/arc-expected.png +++ b/tests/regression/cgalpngtest/arc-expected.png diff --git a/tests/regression/cgalpngtest/circle-expected.png b/tests/regression/cgalpngtest/circle-expected.pngBinary files differ index aacf12d..89a7fd0 100644 --- a/tests/regression/cgalpngtest/circle-expected.png +++ b/tests/regression/cgalpngtest/circle-expected.png diff --git a/tests/regression/cgalpngtest/circle-tests-expected.png b/tests/regression/cgalpngtest/circle-tests-expected.pngBinary files differ index 0736af5..d640042 100644 --- a/tests/regression/cgalpngtest/circle-tests-expected.png +++ b/tests/regression/cgalpngtest/circle-tests-expected.png diff --git a/tests/regression/cgalpngtest/cylinder-tests-expected.png b/tests/regression/cgalpngtest/cylinder-tests-expected.pngBinary files differ index 843d70f..5d63548 100644 --- a/tests/regression/cgalpngtest/cylinder-tests-expected.png +++ b/tests/regression/cgalpngtest/cylinder-tests-expected.png diff --git a/tests/regression/dumptest/circle-tests-expected.txt b/tests/regression/dumptest/circle-tests-expected.txt index 910b375..28359d8 100644 --- a/tests/regression/dumptest/circle-tests-expected.txt +++ b/tests/regression/dumptest/circle-tests-expected.txt @@ -26,4 +26,7 @@  	multmatrix([[1, 0, 0, 6], [0, 1, 0, -6], [0, 0, 1, 0], [0, 0, 0, 1]]) {  		circle($fn = 0, $fa = 40, $fs = 0.3, r = 1);  	} +	multmatrix([[1, 0, 0, 3], [0, 1, 0, -9], [0, 0, 1, 0], [0, 0, 0, 1]]) { +		circle($fn = 0.1, $fa = 12, $fs = 2, r = 1); +	} diff --git a/tests/regression/dumptest/cylinder-tests-expected.txt b/tests/regression/dumptest/cylinder-tests-expected.txt index b1e8b6e..076835b 100644 --- a/tests/regression/dumptest/cylinder-tests-expected.txt +++ b/tests/regression/dumptest/cylinder-tests-expected.txt @@ -32,4 +32,7 @@  	multmatrix([[1, 0, 0, -10], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) {  		cylinder($fn = 6, $fa = 12, $fs = 2, h = 2, r1 = 3, r2 = 3, center = false);  	} +	multmatrix([[1, 0, 0, -10], [0, 1, 0, -10], [0, 0, 1, 0], [0, 0, 0, 1]]) { +		sphere($fn = 0.1, $fa = 12, $fs = 2, r = 5); +	} diff --git a/tests/regression/dumptest/rotate_extrude-tests-expected.txt b/tests/regression/dumptest/rotate_extrude-tests-expected.txt index 42faff2..023d78d 100644 --- a/tests/regression/dumptest/rotate_extrude-tests-expected.txt +++ b/tests/regression/dumptest/rotate_extrude-tests-expected.txt @@ -42,4 +42,11 @@  			}  		}  	} +	multmatrix([[1, 0, 0, 0], [0, 1, 0, -60], [0, 0, 1, 0], [0, 0, 0, 1]]) { +		rotate_extrude(convexity = 1, $fn = 1, $fa = 12, $fs = 2) { +			multmatrix([[1, 0, 0, 20], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { +				circle($fn = 1, $fa = 12, $fs = 2, r = 10); +			} +		} +	} diff --git a/tests/regression/dumptest/sphere-tests-expected.txt b/tests/regression/dumptest/sphere-tests-expected.txt index 84f8c23..461e946 100644 --- a/tests/regression/dumptest/sphere-tests-expected.txt +++ b/tests/regression/dumptest/sphere-tests-expected.txt @@ -26,4 +26,7 @@  	multmatrix([[1, 0, 0, 22], [0, 1, 0, 11], [0, 0, 1, 0], [0, 0, 0, 1]]) {  		sphere($fn = 0, $fa = 40, $fs = 0.3, r = 5);  	} +	multmatrix([[1, 0, 0, 11], [0, 1, 0, 22], [0, 0, 1, 0], [0, 0, 0, 1]]) { +		sphere($fn = 0.1, $fa = 12, $fs = 2, r = 5); +	} diff --git a/tests/regression/opencsgtest/arc-expected.png b/tests/regression/opencsgtest/arc-expected.pngBinary files differ index a930c0e..7361853 100644 --- a/tests/regression/opencsgtest/arc-expected.png +++ b/tests/regression/opencsgtest/arc-expected.png diff --git a/tests/regression/opencsgtest/circle-expected.png b/tests/regression/opencsgtest/circle-expected.pngBinary files differ index 7bc63b1..14fce98 100644 --- a/tests/regression/opencsgtest/circle-expected.png +++ b/tests/regression/opencsgtest/circle-expected.png diff --git a/tests/regression/opencsgtest/circle-tests-expected.png b/tests/regression/opencsgtest/circle-tests-expected.pngBinary files differ index 2e5b314..06f7d9c 100644 --- a/tests/regression/opencsgtest/circle-tests-expected.png +++ b/tests/regression/opencsgtest/circle-tests-expected.png diff --git a/tests/regression/opencsgtest/cylinder-tests-expected.png b/tests/regression/opencsgtest/cylinder-tests-expected.pngBinary files differ index 4c7ab79..d0c607c 100644 --- a/tests/regression/opencsgtest/cylinder-tests-expected.png +++ b/tests/regression/opencsgtest/cylinder-tests-expected.png diff --git a/tests/regression/opencsgtest/rotate_extrude-tests-expected.png b/tests/regression/opencsgtest/rotate_extrude-tests-expected.pngBinary files differ index 96452e1..861f6ab 100644 --- a/tests/regression/opencsgtest/rotate_extrude-tests-expected.png +++ b/tests/regression/opencsgtest/rotate_extrude-tests-expected.png diff --git a/tests/regression/opencsgtest/sphere-tests-expected.png b/tests/regression/opencsgtest/sphere-tests-expected.pngBinary files differ index d11e3bf..d1b4845 100644 --- a/tests/regression/opencsgtest/sphere-tests-expected.png +++ b/tests/regression/opencsgtest/sphere-tests-expected.png diff --git a/tests/regression/throwntogethertest/arc-expected.png b/tests/regression/throwntogethertest/arc-expected.pngBinary files differ index 8783806..7361853 100644 --- a/tests/regression/throwntogethertest/arc-expected.png +++ b/tests/regression/throwntogethertest/arc-expected.png diff --git a/tests/regression/throwntogethertest/circle-expected.png b/tests/regression/throwntogethertest/circle-expected.pngBinary files differ index c001955..14fce98 100644 --- a/tests/regression/throwntogethertest/circle-expected.png +++ b/tests/regression/throwntogethertest/circle-expected.png diff --git a/tests/regression/throwntogethertest/circle-tests-expected.png b/tests/regression/throwntogethertest/circle-tests-expected.pngBinary files differ index 2e5b314..06f7d9c 100644 --- a/tests/regression/throwntogethertest/circle-tests-expected.png +++ b/tests/regression/throwntogethertest/circle-tests-expected.png diff --git a/tests/regression/throwntogethertest/cylinder-tests-expected.png b/tests/regression/throwntogethertest/cylinder-tests-expected.pngBinary files differ index 4c7ab79..d0c607c 100644 --- a/tests/regression/throwntogethertest/cylinder-tests-expected.png +++ b/tests/regression/throwntogethertest/cylinder-tests-expected.png diff --git a/tests/regression/throwntogethertest/rotate_extrude-tests-expected.png b/tests/regression/throwntogethertest/rotate_extrude-tests-expected.pngBinary files differ index 94b0d9c..8956be2 100644 --- a/tests/regression/throwntogethertest/rotate_extrude-tests-expected.png +++ b/tests/regression/throwntogethertest/rotate_extrude-tests-expected.png diff --git a/tests/regression/throwntogethertest/sphere-tests-expected.png b/tests/regression/throwntogethertest/sphere-tests-expected.pngBinary files differ index d11e3bf..d1b4845 100644 --- a/tests/regression/throwntogethertest/sphere-tests-expected.png +++ b/tests/regression/throwntogethertest/sphere-tests-expected.png | 
