diff options
author | Marius Kintel <marius@kintel.net> | 2010-11-03 18:26:06 (GMT) |
---|---|---|
committer | Marius Kintel <marius@kintel.net> | 2010-11-03 18:26:06 (GMT) |
commit | 264608981cfcd65de8e64af8d97648a315d52bc1 (patch) | |
tree | 486fed9c5c750d0e0b8c75290d315632db22c578 /src/CSGTermRenderer.cc | |
parent | 4423c010301b8a94addee0ab0b3561023bba7290 (diff) |
Fixed some issues with PolySetRenderer, causing e.g. extrusions to fail in OpenCSG mode
Diffstat (limited to 'src/CSGTermRenderer.cc')
-rw-r--r-- | src/CSGTermRenderer.cc | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/src/CSGTermRenderer.cc b/src/CSGTermRenderer.cc index e59df1c..6f1f90c 100644 --- a/src/CSGTermRenderer.cc +++ b/src/CSGTermRenderer.cc @@ -26,10 +26,9 @@ CSGTerm *CSGTermRenderer::renderCSGTerm(const AbstractNode &node, vector<CSGTerm*> *highlights, vector<CSGTerm*> *background) { - CSGTermRenderer renderer; - Traverser render(renderer, node, Traverser::PRE_AND_POSTFIX); + Traverser render(*this, node, Traverser::PRE_AND_POSTFIX); render.execute(); - return renderer.stored_term[node.index()]; + return this->stored_term[node.index()]; } void CSGTermRenderer::applyToChildren(const AbstractNode &node, CSGTermRenderer::CsgOp op) @@ -101,7 +100,7 @@ static CSGTerm *render_csg_term_from_ps(const double m[20], Response CSGTermRenderer::visit(State &state, const AbstractPolyNode &node) { if (state.isPostfix()) { - PolySet *ps = node.render_polyset(AbstractPolyNode::RENDER_OPENCSG); + PolySet *ps = node.render_polyset(AbstractPolyNode::RENDER_OPENCSG, this->psrenderer); CSGTerm *t1 = render_csg_term_from_ps(state.matrix(), this->highlights, this->background, ps, node.modinst, node); this->stored_term[node.index()] = t1; addToParent(state, node); |