summaryrefslogtreecommitdiff
path: root/src/node.h
diff options
context:
space:
mode:
authorkintel <kintel@b57f626f-c46c-0410-a088-ec61d464b74c>2010-02-09 13:48:09 (GMT)
committerkintel <kintel@b57f626f-c46c-0410-a088-ec61d464b74c>2010-02-09 13:48:09 (GMT)
commitc7b9a49c15f10ee76258f735ff66c1ed32e64c51 (patch)
treeebc9ef37dc44c0eed9c144441f5f763c381fdb08 /src/node.h
parent66ac9239767dd2151e61a11bc3fb9605c2a4d917 (diff)
Cleaned up progress handling, implemented cancel function. Needs more testing
git-svn-id: http://svn.clifford.at/openscad/trunk@420 b57f626f-c46c-0410-a088-ec61d464b74c
Diffstat (limited to 'src/node.h')
-rw-r--r--src/node.h8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/node.h b/src/node.h
index 9121a3b..969c80e 100644
--- a/src/node.h
+++ b/src/node.h
@@ -17,7 +17,10 @@ void progress_report_fin();
class AbstractNode
{
+ static int idx_counter; // Node instantiation index
public:
+ static void resetIndexCounter() { idx_counter = 1; }
+
QVector<AbstractNode*> children;
const class ModuleInstantiation *modinst;
@@ -26,7 +29,6 @@ public:
void progress_report() const;
int idx;
- static int idx_counter;
QString dump_cache;
AbstractNode(const ModuleInstantiation *mi);
@@ -36,7 +38,7 @@ public:
struct cgal_nef_cache_entry {
CGAL_Nef_polyhedron N;
QString msg;
- cgal_nef_cache_entry(CGAL_Nef_polyhedron N);
+ cgal_nef_cache_entry(const CGAL_Nef_polyhedron &N);
};
static QCache<QString, cgal_nef_cache_entry> cgal_nef_cache;
virtual CGAL_Nef_polyhedron render_cgal_nef_polyhedron() const;
@@ -64,7 +66,7 @@ public:
RENDER_OPENCSG
};
AbstractPolyNode(const ModuleInstantiation *mi) : AbstractNode(mi) { };
- virtual class PolySet *render_polyset(render_mode_e mode) const;
+ virtual class PolySet *render_polyset(render_mode_e mode) const = 0;
#ifdef ENABLE_CGAL
virtual CGAL_Nef_polyhedron render_cgal_nef_polyhedron() const;
#endif
contact: Jan Huwald // Impressum