summaryrefslogtreecommitdiff
path: root/src/PolySetEvaluator.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/PolySetEvaluator.h')
-rw-r--r--src/PolySetEvaluator.h28
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
contact: Jan Huwald // Impressum