diff options
-rw-r--r-- | src/node.h | 21 |
1 files changed, 16 insertions, 5 deletions
@@ -19,6 +19,10 @@ void progress_report_fin(); class AbstractNode { + // FIXME: the idx_counter/idx is mostly (only?) for debugging. + // We can hash on pointer value or smth. else. + // -> remove and + // use smth. else to display node identifier in CSG tree output? static int idx_counter; // Node instantiation index public: AbstractNode(const class ModuleInstantiation *mi); @@ -34,19 +38,28 @@ public: static void resetIndexCounter() { idx_counter = 1; } + // FIXME: Rewrite to STL container? + // FIXME: Make protected QVector<AbstractNode*> children; const ModuleInstantiation *modinst; - + + // progress_mark is a running number used for progress indication + // FIXME: Make all progress handling external, put it in the traverser class? int progress_mark; void progress_prepare(); void progress_report() const; int idx; // Node index (unique per tree) - QString dump_cache; + // FIXME: Remove these three with dump() method + QString dump_cache; + virtual QString mk_cache_id() const; + virtual QString dump(QString indent) const; + // FIXME: Rewrite to visitor + virtual class CSGTerm *render_csg_term(double m[20], QVector<CSGTerm*> *highlights, QVector<CSGTerm*> *background) const; - virtual QString mk_cache_id() const; + // FIXME: Rewrite to visitor #ifdef ENABLE_CGAL struct cgal_nef_cache_entry { CGAL_Nef_polyhedron N; @@ -57,8 +70,6 @@ public: virtual CGAL_Nef_polyhedron renderCSGMesh() const; class CSGTerm *render_csg_term_from_nef(double m[20], QVector<CSGTerm*> *highlights, QVector<CSGTerm*> *background, const char *statement, int convexity) const; #endif - virtual class CSGTerm *render_csg_term(double m[20], QVector<CSGTerm*> *highlights, QVector<CSGTerm*> *background) const; - virtual QString dump(QString indent) const; }; class AbstractIntersectionNode : public AbstractNode |