summaryrefslogtreecommitdiff
path: root/src/csgtermnormalizer.h
diff options
context:
space:
mode:
authorMarius Kintel <marius@kintel.net>2012-07-07 20:02:51 (GMT)
committerMarius Kintel <marius@kintel.net>2012-07-07 20:02:51 (GMT)
commit0d619e5ac155e37c432d57062d8224a58c9d59ab (patch)
tree10183df17cd4786ee1ef43b95c988fefd13ca990 /src/csgtermnormalizer.h
parentaa8aee623adc74cbfe87f9e92e30be4a9ed3a7c8 (diff)
parentb028b704e029a5161d3703efda35642a37c28cb6 (diff)
Merge branch 'master' into linear_extrude_argument
Diffstat (limited to 'src/csgtermnormalizer.h')
-rw-r--r--src/csgtermnormalizer.h11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/csgtermnormalizer.h b/src/csgtermnormalizer.h
index e5a2eca..c331f11 100644
--- a/src/csgtermnormalizer.h
+++ b/src/csgtermnormalizer.h
@@ -6,15 +6,20 @@
class CSGTermNormalizer
{
public:
- CSGTermNormalizer() {}
+ CSGTermNormalizer(size_t limit) : limit(limit) {}
~CSGTermNormalizer() {}
- shared_ptr<class CSGTerm> normalize(const shared_ptr<CSGTerm> &term, size_t limit);
+ shared_ptr<class CSGTerm> normalize(const shared_ptr<CSGTerm> &term);
private:
shared_ptr<CSGTerm> normalizePass(shared_ptr<CSGTerm> term) ;
- bool normalize_tail(shared_ptr<CSGTerm> &term);
+ bool match_and_replace(shared_ptr<CSGTerm> &term);
+ shared_ptr<CSGTerm> collapse_null_terms(const shared_ptr<CSGTerm> &term);
unsigned int count(const shared_ptr<CSGTerm> &term) const;
+
+ size_t limit;
+ size_t nodecount;
+ shared_ptr<class CSGTerm> rootnode;
};
#endif
contact: Jan Huwald // Impressum