summaryrefslogtreecommitdiff
path: root/src/PolySetRenderer.h
diff options
context:
space:
mode:
authorMarius Kintel <marius@kintel.net>2010-03-29 01:31:47 (GMT)
committerMarius Kintel <marius@kintel.net>2010-10-31 00:42:35 (GMT)
commit184d0e041f6279dba5d1f6348f973478ae133a3a (patch)
treedccc0d26fd5b14e4f5ca834290e7f588febfcbe4 /src/PolySetRenderer.h
parent34a8206410f049f566535b1d795b4e89950c6a6f (diff)
Initial implementation of CGALRenderer
Diffstat (limited to 'src/PolySetRenderer.h')
-rw-r--r--src/PolySetRenderer.h23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/PolySetRenderer.h b/src/PolySetRenderer.h
new file mode 100644
index 0000000..cff528f
--- /dev/null
+++ b/src/PolySetRenderer.h
@@ -0,0 +1,23 @@
+#ifndef POLYSETRENDERER_H_
+#define POLYSETRENDERER_H_
+
+#include "node.h"
+
+class PolySetRenderer
+{
+public:
+ enum RenderMode { RENDER_CGAL, RENDER_OPENCSG };
+ PolySetRenderer() {}
+ virtual ~PolySetRenderer() {}
+
+ virtual PolySet *renderPolySet(const class ProjectionNode &node, AbstractPolyNode::render_mode_e) = 0;
+ virtual PolySet *renderPolySet(const class DxfLinearExtrudeNode &node, AbstractPolyNode::render_mode_e) = 0;
+ virtual PolySet *renderPolySet(const class DxfRotateExtrudeNode &node, AbstractPolyNode::render_mode_e) = 0;
+
+ static PolySetRenderer *renderer() { return global_renderer; }
+ static void setRenderer(PolySetRenderer *r) { global_renderer = r; }
+private:
+ static PolySetRenderer *global_renderer;
+};
+
+#endif
contact: Jan Huwald // Impressum