summaryrefslogtreecommitdiff
path: root/src/csgtermnormalizer.h
diff options
context:
space:
mode:
authorMarius Kintel <marius@kintel.net>2012-07-05 13:41:15 (GMT)
committerMarius Kintel <marius@kintel.net>2012-07-05 13:41:15 (GMT)
commit694382bba9d1645547afc3ece9920e48f8767295 (patch)
tree9fb4c3e7f198a764472b7fa95a2e2600320ff04b /src/csgtermnormalizer.h
parent197a4e4d364fbdd0aca8fb9027476ee1c48652e3 (diff)
parent329295f17fe1b3d2d6b218c762201214f431b70a (diff)
Merge branch 'master' into value
Conflicts: src/parsersettings.cc
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