diff options
Diffstat (limited to 'src/PolySetEvaluator.h')
-rw-r--r-- | src/PolySetEvaluator.h | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/src/PolySetEvaluator.h b/src/PolySetEvaluator.h new file mode 100644 index 0000000..833b079 --- /dev/null +++ b/src/PolySetEvaluator.h @@ -0,0 +1,28 @@ +#ifndef POLYSETEVALUATOR_H_ +#define POLYSETEVALUATOR_H_ + +#include "node.h" +#include "Tree.h" +#include "memory.h" + +class PolySetEvaluator +{ +public: + PolySetEvaluator(const Tree &tree) : tree(tree) {} + virtual ~PolySetEvaluator() {} + + const Tree &getTree() const { return this->tree; } + + virtual shared_ptr<PolySet> getPolySet(const class AbstractNode &, bool cache); + + virtual PolySet *evaluatePolySet(const class ProjectionNode &) { return NULL; } + virtual PolySet *evaluatePolySet(const class DxfLinearExtrudeNode &) { return NULL; } + virtual PolySet *evaluatePolySet(const class DxfRotateExtrudeNode &) { return NULL; } + virtual PolySet *evaluatePolySet(const class CgaladvNode &) { return NULL; } + virtual PolySet *evaluatePolySet(const class RenderNode &) { return NULL; } + +private: + const Tree &tree; +}; + +#endif |