diff options
author | Marius Kintel <marius@kintel.net> | 2010-03-29 01:31:47 (GMT) |
---|---|---|
committer | Marius Kintel <marius@kintel.net> | 2010-10-31 00:42:35 (GMT) |
commit | 184d0e041f6279dba5d1f6348f973478ae133a3a (patch) | |
tree | dccc0d26fd5b14e4f5ca834290e7f588febfcbe4 /src/PolySetRenderer.h | |
parent | 34a8206410f049f566535b1d795b4e89950c6a6f (diff) |
Initial implementation of CGALRenderer
Diffstat (limited to 'src/PolySetRenderer.h')
-rw-r--r-- | src/PolySetRenderer.h | 23 |
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 |