blob: 2aab3a44cb1c6b60c8462c6fd4810f2ea1a36a86 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
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, size_t limit);
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
|