summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/import.cc19
-rw-r--r--testdata/scad/features/import_stl-tests.scad2
-rw-r--r--tests/regression/cgalpngtest/import_stl-tests-expected.pngbin7857 -> 9164 bytes
-rw-r--r--tests/regression/dumptest/import_stl-tests-expected.txt6
-rw-r--r--tests/regression/opencsgtest/import_stl-tests-expected.pngbin7991 -> 9438 bytes
-rw-r--r--tests/regression/throwntogethertest/import_stl-tests-expected.pngbin7991 -> 9438 bytes
6 files changed, 17 insertions, 10 deletions
diff --git a/src/import.cc b/src/import.cc
index 07100e3..a95fce7 100644
--- a/src/import.cc
+++ b/src/import.cc
@@ -115,7 +115,7 @@ AbstractNode *ImportModule::evaluate(const Context *ctx, const ModuleInstantiati
return node;
}
-PolySet *ImportNode::evaluate_polyset(class PolySetEvaluator *evaluator) const
+PolySet *ImportNode::evaluate_polyset(class PolySetEvaluator *) const
{
PolySet *p = NULL;
@@ -188,8 +188,8 @@ PolySet *ImportNode::evaluate_polyset(class PolySetEvaluator *evaluator) const
}
else
{
-/*
- f.read(80-5+4);
+ f.ignore(80-5+4);
+ int total = 84;
while (1) {
#ifdef _MSC_VER
#pragma pack(push,1)
@@ -204,19 +204,18 @@ PolySet *ImportNode::evaluate_polyset(class PolySetEvaluator *evaluator) const
#ifdef __GNUC__
__attribute__ ((packed))
#endif
- data;
+ stldata;
#ifdef _MSC_VER
#pragma pack(pop)
#endif
- if (f.read((char*)&data, sizeof(data)) != sizeof(data))
- break;
+ f.read((char*)&stldata, sizeof(stldata));
+ if (f.eof()) break;
p->append_poly();
- p->append_vertex(data.x1, data.y1, data.z1);
- p->append_vertex(data.x2, data.y2, data.z2);
- p->append_vertex(data.x3, data.y3, data.z3);
+ p->append_vertex(stldata.x1, stldata.y1, stldata.z1);
+ p->append_vertex(stldata.x2, stldata.y2, stldata.z2);
+ p->append_vertex(stldata.x3, stldata.y3, stldata.z3);
}
-*/
}
}
diff --git a/testdata/scad/features/import_stl-tests.scad b/testdata/scad/features/import_stl-tests.scad
index b634d12..7104078 100644
--- a/testdata/scad/features/import_stl-tests.scad
+++ b/testdata/scad/features/import_stl-tests.scad
@@ -1 +1,3 @@
import_stl("import.stl");
+translate([2,0,0]) import("import.stl");
+translate([4,0,0]) import("import_bin.stl");
diff --git a/tests/regression/cgalpngtest/import_stl-tests-expected.png b/tests/regression/cgalpngtest/import_stl-tests-expected.png
index 31395c2..08aa225 100644
--- a/tests/regression/cgalpngtest/import_stl-tests-expected.png
+++ b/tests/regression/cgalpngtest/import_stl-tests-expected.png
Binary files differ
diff --git a/tests/regression/dumptest/import_stl-tests-expected.txt b/tests/regression/dumptest/import_stl-tests-expected.txt
index ac702f6..648a207 100644
--- a/tests/regression/dumptest/import_stl-tests-expected.txt
+++ b/tests/regression/dumptest/import_stl-tests-expected.txt
@@ -1,2 +1,8 @@
import(file = "import.stl", layer = "", origin = [0, 0], scale = 1, convexity = 1, $fn = 0, $fa = 12, $fs = 2);
+ multmatrix([[1, 0, 0, 2], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) {
+ import(file = "import.stl", layer = "", origin = [0, 0], scale = 1, convexity = 1, $fn = 0, $fa = 12, $fs = 2);
+ }
+ multmatrix([[1, 0, 0, 4], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) {
+ import(file = "import_bin.stl", layer = "", origin = [0, 0], scale = 1, convexity = 1, $fn = 0, $fa = 12, $fs = 2);
+ }
diff --git a/tests/regression/opencsgtest/import_stl-tests-expected.png b/tests/regression/opencsgtest/import_stl-tests-expected.png
index e6fdbca..19e233a 100644
--- a/tests/regression/opencsgtest/import_stl-tests-expected.png
+++ b/tests/regression/opencsgtest/import_stl-tests-expected.png
Binary files differ
diff --git a/tests/regression/throwntogethertest/import_stl-tests-expected.png b/tests/regression/throwntogethertest/import_stl-tests-expected.png
index e6fdbca..19e233a 100644
--- a/tests/regression/throwntogethertest/import_stl-tests-expected.png
+++ b/tests/regression/throwntogethertest/import_stl-tests-expected.png
Binary files differ
contact: Jan Huwald // Impressum