summaryrefslogtreecommitdiff
path: root/csgops.cc
diff options
context:
space:
mode:
authorclifford <clifford@b57f626f-c46c-0410-a088-ec61d464b74c>2010-01-06 10:48:51 (GMT)
committerclifford <clifford@b57f626f-c46c-0410-a088-ec61d464b74c>2010-01-06 10:48:51 (GMT)
commit2ff53c89ce5c1e30d6f001fdd4361b8fcad36e82 (patch)
tree3b4607c9e49d5eb53859086a6299dffbae5f67ca /csgops.cc
parent6575732286d3f8909972d3705b748c6cfc02f8a8 (diff)
Clifford Wolf:
Added caching of messages along wioth synthesis products git-svn-id: http://svn.clifford.at/openscad/trunk@215 b57f626f-c46c-0410-a088-ec61d464b74c
Diffstat (limited to 'csgops.cc')
-rw-r--r--csgops.cc10
1 files changed, 8 insertions, 2 deletions
diff --git a/csgops.cc b/csgops.cc
index c6b3742..f4e945d 100644
--- a/csgops.cc
+++ b/csgops.cc
@@ -21,6 +21,7 @@
#define INCLUDE_ABSTRACT_NODE_DETAILS
#include "openscad.h"
+#include "printutils.h"
enum csg_type_e {
CSG_TYPE_UNION,
@@ -66,9 +67,12 @@ CGAL_Nef_polyhedron CsgNode::render_cgal_nef_polyhedron() const
QString cache_id = mk_cache_id();
if (cgal_nef_cache.contains(cache_id)) {
progress_report();
- return *cgal_nef_cache[cache_id];
+ PRINT(cgal_nef_cache[cache_id]->msg);
+ return cgal_nef_cache[cache_id]->N;
}
+ print_messages_push();
+
bool first = true;
CGAL_Nef_polyhedron N;
foreach (AbstractNode *v, children) {
@@ -97,8 +101,10 @@ CGAL_Nef_polyhedron CsgNode::render_cgal_nef_polyhedron() const
}
}
- cgal_nef_cache.insert(cache_id, new CGAL_Nef_polyhedron(N), N.weight());
+ cgal_nef_cache.insert(cache_id, new cgal_nef_cache_entry(N), N.weight());
+ print_messages_pop();
progress_report();
+
return N;
}
contact: Jan Huwald // Impressum