summaryrefslogtreecommitdiff
path: root/src/node.h
diff options
context:
space:
mode:
authorMarius Kintel <marius@kintel.net>2010-03-03 03:59:32 (GMT)
committerMarius Kintel <marius@kintel.net>2010-10-31 00:42:34 (GMT)
commite8b84d36c51327447334ce3bd6909501bab44805 (patch)
tree585c484aada2d9e0ecb0baa5ebd5d960a116a42e /src/node.h
parent393c5a19fedfa4f97ca939fbcf52c2ccab1cde6a (diff)
FIXME's added to AbstractNode
Diffstat (limited to 'src/node.h')
-rw-r--r--src/node.h21
1 files changed, 16 insertions, 5 deletions
diff --git a/src/node.h b/src/node.h
index 08a5cb1..f3a5b0b 100644
--- a/src/node.h
+++ b/src/node.h
@@ -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
contact: Jan Huwald // Impressum