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 /src/CSGTermEvaluator.cc | |
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)
Diffstat (limited to 'src/CSGTermEvaluator.cc')
-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; } /*! |