summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarius Kintel <marius@kintel.net>2014-02-05 04:49:10 (GMT)
committerMarius Kintel <marius@kintel.net>2014-02-06 05:50:00 (GMT)
commit716d8a7ab3b93404bfcc5f2687d412272e6b7cfd (patch)
treeaff3c4896a9cb56c1ba70576f419a2d7f22618ca
parent6a1d91dc76ec819e85b180b8cdaf40ddd639a538 (diff)
Moved % modifier handling from node to nodedumper. This makes nodes with % operators use the existing cache instead of recalculating the object
-rw-r--r--src/node.cc2
-rw-r--r--src/nodedumper.cc2
-rw-r--r--tests/regression/dumptest/background-modifier-expected.csg8
-rw-r--r--tests/regression/dumptest/example009-expected.csg4
-rw-r--r--tests/regression/dumptest/example017-expected.csg2
-rw-r--r--tests/regression/dumptest/example021-expected.csg4
-rw-r--r--tests/regression/dumptest/highlight-and-background-modifier-expected.csg10
7 files changed, 16 insertions, 16 deletions
diff --git a/src/node.cc b/src/node.cc
index a7a7630..f9c68d5 100644
--- a/src/node.cc
+++ b/src/node.cc
@@ -97,8 +97,6 @@ void AbstractNode::progress_report() const
std::ostream &operator<<(std::ostream &stream, const AbstractNode &node)
{
- // FIXME: Don't use deep access to modinst members
- if (node.modinst->isBackground()) stream << "%";
stream << node.toString();
return stream;
}
diff --git a/src/nodedumper.cc b/src/nodedumper.cc
index 4523bac..d2905c0 100644
--- a/src/nodedumper.cc
+++ b/src/nodedumper.cc
@@ -1,5 +1,6 @@
#include "nodedumper.h"
#include "state.h"
+#include "module.h"
#include <string>
#include <sstream>
@@ -47,6 +48,7 @@ std::string NodeDumper::dumpChildren(const AbstractNode &node)
iter != this->visitedchildren[node.index()].end();
iter++) {
assert(isCached(**iter));
+ if ((*iter)->modinst->isBackground()) dump << "%";
dump << this->cache[**iter] << "\n";
}
diff --git a/tests/regression/dumptest/background-modifier-expected.csg b/tests/regression/dumptest/background-modifier-expected.csg
index 0f69ec3..3fda01b 100644
--- a/tests/regression/dumptest/background-modifier-expected.csg
+++ b/tests/regression/dumptest/background-modifier-expected.csg
@@ -1,12 +1,12 @@
group() {
difference() {
sphere($fn = 0, $fa = 12, $fs = 2, r = 10);
- %cylinder($fn = 0, $fa = 12, $fs = 2, h = 30, r1 = 6, r2 = 6, center = true);
+% cylinder($fn = 0, $fa = 12, $fs = 2, h = 30, r1 = 6, r2 = 6, center = true);
}
- %group() {
+% group() {
cube(size = [25, 6, 3], center = true);
}
- %multmatrix([[1, 0, 0, 0], [0, 1, 0, -9], [0, 0, 1, 0], [0, 0, 0, 1]]) {
+% multmatrix([[1, 0, 0, 0], [0, 1, 0, -9], [0, 0, 1, 0], [0, 0, 0, 1]]) {
difference() {
color([0, 0.501961, 0, 1]) {
cube(size = [10, 4, 10], center = true);
@@ -20,7 +20,7 @@ group() {
}
multmatrix([[1, 0, 0, 25], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) {
minkowski(convexity = 0) {
- %cube(size = [10, 10, 10], center = true);
+% cube(size = [10, 10, 10], center = true);
cube(size = [5, 5, 5], center = true);
}
}
diff --git a/tests/regression/dumptest/example009-expected.csg b/tests/regression/dumptest/example009-expected.csg
index 5417d6b..22e4ebd 100644
--- a/tests/regression/dumptest/example009-expected.csg
+++ b/tests/regression/dumptest/example009-expected.csg
@@ -1,8 +1,8 @@
group() {
- %linear_extrude(height = 22, center = true, convexity = 10, scale = [1, 1], $fn = 0, $fa = 12, $fs = 2) {
+% linear_extrude(height = 22, center = true, convexity = 10, scale = [1, 1], $fn = 0, $fa = 12, $fs = 2) {
import(file = "example009.dxf", layer = "body", origin = [0, 0], scale = 1, convexity = 1, $fn = 0, $fa = 12, $fs = 2);
}
- %group() {
+% group() {
multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 12], [0, 0, 0, 1]]) {
linear_extrude(height = 2, center = true, convexity = 10, scale = [1, 1], $fn = 0, $fa = 12, $fs = 2) {
import(file = "example009.dxf", layer = "plate", origin = [0, 0], scale = 1, convexity = 1, $fn = 0, $fa = 12, $fs = 2);
diff --git a/tests/regression/dumptest/example017-expected.csg b/tests/regression/dumptest/example017-expected.csg
index 86bd2a0..a103945 100644
--- a/tests/regression/dumptest/example017-expected.csg
+++ b/tests/regression/dumptest/example017-expected.csg
@@ -188,7 +188,7 @@ group() {
}
}
}
- %multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 12], [0, 0, 0, 1]]) {
+% multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 12], [0, 0, 0, 1]]) {
group() {
rotate_extrude(convexity = 2, $fn = 0, $fa = 12, $fs = 2) {
square(size = [25, 68], center = false);
diff --git a/tests/regression/dumptest/example021-expected.csg b/tests/regression/dumptest/example021-expected.csg
index 3d4aee0..9876e44 100644
--- a/tests/regression/dumptest/example021-expected.csg
+++ b/tests/regression/dumptest/example021-expected.csg
@@ -17,7 +17,7 @@ group() {
}
}
}
- %group() {
+% group() {
difference() {
sphere($fn = 0, $fa = 30, $fs = 2, r = 25);
cylinder($fn = 0, $fa = 30, $fs = 2, h = 62.5, r1 = 12.5, r2 = 6.25, center = true);
@@ -251,7 +251,7 @@ group() {
}
}
}
- %group() {
+% group() {
difference() {
sphere($fn = 0, $fa = 30, $fs = 2, r = 25);
cylinder($fn = 0, $fa = 30, $fs = 2, h = 62.5, r1 = 12.5, r2 = 6.25, center = true);
diff --git a/tests/regression/dumptest/highlight-and-background-modifier-expected.csg b/tests/regression/dumptest/highlight-and-background-modifier-expected.csg
index 8402355..eaf9b1f 100644
--- a/tests/regression/dumptest/highlight-and-background-modifier-expected.csg
+++ b/tests/regression/dumptest/highlight-and-background-modifier-expected.csg
@@ -1,12 +1,12 @@
group() {
difference() {
sphere($fn = 0, $fa = 12, $fs = 2, r = 10);
- %cylinder($fn = 0, $fa = 12, $fs = 2, h = 30, r1 = 6, r2 = 6, center = true);
- %group() {
+% cylinder($fn = 0, $fa = 12, $fs = 2, h = 30, r1 = 6, r2 = 6, center = true);
+% group() {
cube(size = [25, 6, 3], center = true);
}
}
- %multmatrix([[1, 0, 0, 0], [0, 1, 0, -9], [0, 0, 1, 0], [0, 0, 0, 1]]) {
+% multmatrix([[1, 0, 0, 0], [0, 1, 0, -9], [0, 0, 1, 0], [0, 0, 0, 1]]) {
difference() {
color([0, 0.501961, 0, 1]) {
cube(size = [10, 4, 10], center = true);
@@ -18,7 +18,7 @@ group() {
}
}
}
- %multmatrix([[1, 0, 0, 13], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) {
+% multmatrix([[1, 0, 0, 13], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) {
difference() {
sphere($fn = 0, $fa = 12, $fs = 2, r = 10);
cylinder($fn = 0, $fa = 12, $fs = 2, h = 30, r1 = 6, r2 = 6, center = true);
@@ -47,7 +47,7 @@ group() {
cube(size = [25, 6, 3], center = true);
}
}
- %multmatrix([[1, 0, 0, 0], [0, 1, 0, -9], [0, 0, 1, 0], [0, 0, 0, 1]]) {
+% multmatrix([[1, 0, 0, 0], [0, 1, 0, -9], [0, 0, 1, 0], [0, 0, 0, 1]]) {
difference() {
color([0, 0.501961, 0, 1]) {
cube(size = [10, 4, 10], center = true);
contact: Jan Huwald // Impressum