summaryrefslogtreecommitdiff
path: root/src/transform.cc
diff options
context:
space:
mode:
authorMarius Kintel <marius@kintel.net>2010-07-15 00:48:00 (GMT)
committerMarius Kintel <marius@kintel.net>2010-10-31 00:42:38 (GMT)
commitf0b49ee9e93c92982fe9a160c3e9aa7da17b581e (patch)
tree28056348e28bca5274e3bf7f48174fd42fb6ce94 /src/transform.cc
parentf2323c78b381c24d2924c6cea7c9230416542a17 (diff)
Started refactoring of render_csg_term() into a visitor
Diffstat (limited to 'src/transform.cc')
-rw-r--r--src/transform.cc35
1 files changed, 0 insertions, 35 deletions
diff --git a/src/transform.cc b/src/transform.cc
index 82e5659..3e24748 100644
--- a/src/transform.cc
+++ b/src/transform.cc
@@ -228,41 +228,6 @@ AbstractNode *TransformModule::evaluate(const Context *ctx, const ModuleInstanti
return node;
}
-CSGTerm *TransformNode::render_csg_term(double c[20], QVector<CSGTerm*> *highlights, QVector<CSGTerm*> *background) const
-{
- double x[20];
-
- for (int i = 0; i < 16; i++)
- {
- int c_row = i%4;
- int m_col = i/4;
- x[i] = 0;
- for (int j = 0; j < 4; j++)
- x[i] += c[c_row + j*4] * m[m_col*4 + j];
- }
-
- for (int i = 16; i < 20; i++)
- x[i] = m[i] < 0 ? c[i] : m[i];
-
- CSGTerm *t1 = NULL;
- foreach(AbstractNode *v, children)
- {
- CSGTerm *t2 = v->render_csg_term(x, highlights, background);
- if (t2 && !t1) {
- t1 = t2;
- } else if (t2 && t1) {
- t1 = new CSGTerm(CSGTerm::TYPE_UNION, t1, t2);
- }
- }
- if (t1 && modinst->tag_highlight && highlights)
- highlights->append(t1->link());
- if (t1 && modinst->tag_background && background) {
- background->append(t1);
- return NULL;
- }
- return t1;
-}
-
std::string TransformNode::toString() const
{
std::stringstream stream;
contact: Jan Huwald // Impressum