summaryrefslogtreecommitdiff
path: root/src/csgtermnormalizer.h
diff options
context:
space:
mode:
authorMarius Kintel <marius@kintel.net>2011-12-26 20:20:05 (GMT)
committerMarius Kintel <marius@kintel.net>2011-12-26 20:20:05 (GMT)
commitcde24f681580f8911ac4fe29265b169a0bac5f49 (patch)
treeb426b377e367a50b406bad51a0dbb76510278102 /src/csgtermnormalizer.h
parent36056e27f34a6049c18e49d5f24bfbd7cc6eabf4 (diff)
parentbc3454f369a21cd689f42f5e9ec5cb316f9ebdd5 (diff)
Merge branch 'master' into buildfix
Diffstat (limited to 'src/csgtermnormalizer.h')
-rw-r--r--src/csgtermnormalizer.h22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/csgtermnormalizer.h b/src/csgtermnormalizer.h
new file mode 100644
index 0000000..df37441
--- /dev/null
+++ b/src/csgtermnormalizer.h
@@ -0,0 +1,22 @@
+#ifndef CSGTERMNORMALIZER_H_
+#define CSGTERMNORMALIZER_H_
+
+#include "memory.h"
+
+class CSGTermNormalizer
+{
+public:
+ CSGTermNormalizer() : counter(0) {}
+ ~CSGTermNormalizer() {}
+
+ 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);
+ int count(const shared_ptr<CSGTerm> &term) const;
+
+ int counter;
+};
+
+#endif
contact: Jan Huwald // Impressum