summaryrefslogtreecommitdiff
path: root/src/CSGTermRenderer.cc
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/CSGTermRenderer.cc
parent4423c010301b8a94addee0ab0b3561023bba7290 (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.cc7
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);
contact: Jan Huwald // Impressum