diff options
author | Marius Kintel <marius@kintel.net> | 2013-10-19 22:03:09 (GMT) |
---|---|---|
committer | Marius Kintel <marius@kintel.net> | 2013-10-19 22:03:09 (GMT) |
commit | 448f8b4142acb00efb7e57e575fe6d5aaabec47c (patch) | |
tree | a6ae671b444c39ce8d954be65e09e29a5e5e70ee | |
parent | d2a729bdfa91e2463cfb03e3177147f043ae0dc9 (diff) |
Fixed an issue which caused us to traverse the entire tree for OpenCSG rendering traversals, where we didn't actually use the traversal results (for all nodes requiring CGAL)
-rw-r--r-- | src/CSGTermEvaluator.cc | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/CSGTermEvaluator.cc b/src/CSGTermEvaluator.cc index 71cf149..4441561 100644 --- a/src/CSGTermEvaluator.cc +++ b/src/CSGTermEvaluator.cc @@ -108,7 +108,7 @@ static shared_ptr<CSGTerm> evaluate_csg_term_from_ps(const State &state, Response CSGTermEvaluator::visit(State &state, const AbstractPolyNode &node) { - if (state.isPostfix()) { + if (state.isPrefix()) { shared_ptr<CSGTerm> t1; if (this->psevaluator) { shared_ptr<PolySet> ps = this->psevaluator->getPolySet(node, true); @@ -121,7 +121,7 @@ Response CSGTermEvaluator::visit(State &state, const AbstractPolyNode &node) this->stored_term[node.index()] = t1; addToParent(state, node); } - return ContinueTraversal; + return PruneTraversal; } Response CSGTermEvaluator::visit(State &state, const CsgNode &node) @@ -174,7 +174,7 @@ Response CSGTermEvaluator::visit(State &state, const ColorNode &node) // FIXME: If we've got CGAL support, render this node as a CGAL union into a PolySet Response CSGTermEvaluator::visit(State &state, const RenderNode &node) { - if (state.isPostfix()) { + if (state.isPrefix()) { shared_ptr<CSGTerm> t1; shared_ptr<PolySet> ps; if (this->psevaluator) { @@ -188,12 +188,12 @@ Response CSGTermEvaluator::visit(State &state, const RenderNode &node) this->stored_term[node.index()] = t1; addToParent(state, node); } - return ContinueTraversal; + return PruneTraversal; } Response CSGTermEvaluator::visit(State &state, const CgaladvNode &node) { - if (state.isPostfix()) { + if (state.isPrefix()) { shared_ptr<CSGTerm> t1; // FIXME: Calling evaluator directly since we're not a PolyNode. Generalize this. shared_ptr<PolySet> ps; @@ -208,7 +208,7 @@ Response CSGTermEvaluator::visit(State &state, const CgaladvNode &node) this->stored_term[node.index()] = t1; addToParent(state, node); } - return ContinueTraversal; + return PruneTraversal; } /*! |