diff options
author | Marius Kintel <marius@kintel.net> | 2011-12-22 03:12:15 (GMT) |
---|---|---|
committer | Marius Kintel <marius@kintel.net> | 2011-12-22 03:12:15 (GMT) |
commit | 8d5be2c5247f806fb3ec9c9a197ae97b5d565dc7 (patch) | |
tree | 154a4c2a15a52e99cdd82e181db3b6298a7ad44b /src/CSGTermEvaluator.cc | |
parent | d7ca192077f127a2d05bed73d1814a8045823335 (diff) |
Implemented CSG tree pruning - this should significantly improve performance of difficult models in OpenCSG preview mode
Diffstat (limited to 'src/CSGTermEvaluator.cc')
-rw-r--r-- | src/CSGTermEvaluator.cc | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/CSGTermEvaluator.cc b/src/CSGTermEvaluator.cc index 1aedfec..fc76d56 100644 --- a/src/CSGTermEvaluator.cc +++ b/src/CSGTermEvaluator.cc @@ -48,11 +48,11 @@ void CSGTermEvaluator::applyToChildren(const AbstractNode &node, CSGTermEvaluato t1 = t2; } else if (t2 && t1) { if (op == CSGT_UNION) { - t1.reset(new CSGTerm(CSGTerm::TYPE_UNION, t1, t2)); + t1 = CSGTerm::createCSGTerm(CSGTerm::TYPE_UNION, t1, t2); } else if (op == CSGT_DIFFERENCE) { - t1.reset(new CSGTerm(CSGTerm::TYPE_DIFFERENCE, t1, t2)); + t1 = CSGTerm::createCSGTerm(CSGTerm::TYPE_DIFFERENCE, t1, t2); } else if (op == CSGT_INTERSECTION) { - t1.reset(new CSGTerm(CSGTerm::TYPE_INTERSECTION, t1, t2)); + t1 = CSGTerm::createCSGTerm(CSGTerm::TYPE_INTERSECTION, t1, t2); } } } |