summaryrefslogtreecommitdiff
path: root/src/csgtermnormalizer.h
blob: e5a2eca43952c49c236fdfdb41077edf9785a75c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#ifndef CSGTERMNORMALIZER_H_
#define CSGTERMNORMALIZER_H_

#include "memory.h"

class CSGTermNormalizer
{
public:
	CSGTermNormalizer() {}
	~CSGTermNormalizer() {}

	shared_ptr<class CSGTerm> normalize(const shared_ptr<CSGTerm> &term, size_t limit);

private:
	shared_ptr<CSGTerm> normalizePass(shared_ptr<CSGTerm> term) ;
	bool normalize_tail(shared_ptr<CSGTerm> &term);
	unsigned int count(const shared_ptr<CSGTerm> &term) const;
};

#endif
contact: Jan Huwald // Impressum