diff options
author | clifford <clifford@b57f626f-c46c-0410-a088-ec61d464b74c> | 2009-07-01 11:09:19 (GMT) |
---|---|---|
committer | clifford <clifford@b57f626f-c46c-0410-a088-ec61d464b74c> | 2009-07-01 11:09:19 (GMT) |
commit | 13888cfe9294d1649dff5ea84d5fd76a77182458 (patch) | |
tree | a759ce0590a6645d60189aa1664045be2e892956 /csgops.cc | |
parent | 82fad98cb63d6e27e7c156d4c5e4c9a9847abfd1 (diff) |
Clifford Wolf:
Support for hightlights
git-svn-id: http://svn.clifford.at/openscad/trunk@45 b57f626f-c46c-0410-a088-ec61d464b74c
Diffstat (limited to 'csgops.cc')
-rw-r--r-- | csgops.cc | 8 |
1 files changed, 5 insertions, 3 deletions
@@ -44,7 +44,7 @@ public: #ifdef ENABLE_CGAL virtual CGAL_Nef_polyhedron render_cgal_nef_polyhedron() const; #endif - CSGTerm *render_csg_term(double m[16]) const; + CSGTerm *render_csg_term(double m[16], QVector<CSGTerm*> *highlights) const; virtual QString dump(QString indent) const; }; @@ -83,11 +83,11 @@ CGAL_Nef_polyhedron CsgNode::render_cgal_nef_polyhedron() const #endif /* ENABLE_CGAL */ -CSGTerm *CsgNode::render_csg_term(double m[16]) const +CSGTerm *CsgNode::render_csg_term(double m[16], QVector<CSGTerm*> *highlights) const { CSGTerm *t1 = NULL; foreach (AbstractNode *v, children) { - CSGTerm *t2 = v->render_csg_term(m); + CSGTerm *t2 = v->render_csg_term(m, highlights); if (t2 && !t1) { t1 = t2; } else if (t2 && t1) { @@ -100,6 +100,8 @@ CSGTerm *CsgNode::render_csg_term(double m[16]) const } } } + if (modinst->tag_highlight && highlights) + highlights->append(t1->link()); return t1; } |