summaryrefslogtreecommitdiff
path: root/src/CGALRenderer.h
diff options
context:
space:
mode:
authorMarius Kintel <marius@kintel.net>2010-11-03 18:26:06 (GMT)
committerMarius Kintel <marius@kintel.net>2010-11-03 18:26:06 (GMT)
commit264608981cfcd65de8e64af8d97648a315d52bc1 (patch)
tree486fed9c5c750d0e0b8c75290d315632db22c578 /src/CGALRenderer.h
parent4423c010301b8a94addee0ab0b3561023bba7290 (diff)
Fixed some issues with PolySetRenderer, causing e.g. extrusions to fail in OpenCSG mode
Diffstat (limited to 'src/CGALRenderer.h')
-rw-r--r--src/CGALRenderer.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/CGALRenderer.h b/src/CGALRenderer.h
index 9a36522..def07a6 100644
--- a/src/CGALRenderer.h
+++ b/src/CGALRenderer.h
@@ -5,6 +5,7 @@
#include "visitor.h"
#include "Tree.h"
#include "cgal.h"
+#include "PolySetCGALRenderer.h"
#include <string>
#include <map>
@@ -23,7 +24,7 @@ class CGALRenderer : public Visitor
public:
enum CsgOp {UNION, INTERSECTION, DIFFERENCE, MINKOWSKI};
// FIXME: If a cache is not given, we need to fix this ourselves
- CGALRenderer(QHash<string, CGAL_Nef_polyhedron> &cache, const Tree &tree) : cache(cache), tree(tree) {}
+ CGALRenderer(QHash<string, CGAL_Nef_polyhedron> &cache, const Tree &tree) : cache(cache), tree(tree), psrenderer(*this) {}
virtual ~CGALRenderer() {}
virtual Response visit(State &state, const AbstractNode &node);
@@ -35,6 +36,8 @@ public:
CGAL_Nef_polyhedron renderCGALMesh(const AbstractNode &node);
CGAL_Nef_polyhedron renderCGALMesh(const PolySet &polyset);
+ const Tree &getTree() const { return this->tree; }
+
private:
void addToParent(const State &state, const AbstractNode &node);
bool isCached(const AbstractNode &node) const;
@@ -47,6 +50,7 @@ private:
QHash<string, CGAL_Nef_polyhedron> &cache;
const Tree &tree;
+ PolySetCGALRenderer psrenderer;
};
#endif
contact: Jan Huwald // Impressum