summaryrefslogtreecommitdiff
path: root/src/csgtermnormalizer.h
diff options
context:
space:
mode:
authorMarius Kintel <marius@kintel.net>2012-01-04 22:07:32 (GMT)
committerMarius Kintel <marius@kintel.net>2012-01-04 22:07:32 (GMT)
commitfdce8d15fc4a927d1a6a257783dde5054d9f3e7b (patch)
tree6a779b50ef65474af9c539ad7d42268f7e760ae8 /src/csgtermnormalizer.h
parentcbabbaed700536b3a1f513fd5a07d25382cb137f (diff)
parentba8aa515d14cf270c9d0fdf50b4c7c55b3c416a8 (diff)
Merge branch 'master' into boost_filesystem
Conflicts: boost.pri src/lexer.l tests/CMakeLists.txt
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