summaryrefslogtreecommitdiff
path: root/src/CSGTermEvaluator.cc
diff options
context:
space:
mode:
authorMarius Kintel <marius@kintel.net>2011-10-04 19:06:40 (GMT)
committerMarius Kintel <marius@kintel.net>2011-10-04 19:06:40 (GMT)
commit799ca1d1b3f2e9142460ab3ce895a0641f54dfda (patch)
tree6c168de6d55cb92b94b0ddeb54c668bd4946c10d /src/CSGTermEvaluator.cc
parent9259d57659f61e9e56942bb36125f605f8f3c338 (diff)
parentf5e0f3a531b0c8806e4ebc62cd91ca31275ae481 (diff)
Merge branch 'master' into visitortests
Conflicts: src/polyset.h
Diffstat (limited to 'src/CSGTermEvaluator.cc')
-rw-r--r--src/CSGTermEvaluator.cc17
1 files changed, 3 insertions, 14 deletions
diff --git a/src/CSGTermEvaluator.cc b/src/CSGTermEvaluator.cc
index ebea89c..d1af987 100644
--- a/src/CSGTermEvaluator.cc
+++ b/src/CSGTermEvaluator.cc
@@ -86,8 +86,8 @@ Response CSGTermEvaluator::visit(State &state, const AbstractIntersectionNode &n
}
static CSGTerm *evaluate_csg_term_from_ps(const State &state,
- vector<CSGTerm*> &highlights,
- vector<CSGTerm*> &background,
+ std::vector<CSGTerm*> &highlights,
+ std::vector<CSGTerm*> &background,
const shared_ptr<PolySet> &ps,
const ModuleInstantiation *modinst,
const AbstractNode &node)
@@ -147,18 +147,7 @@ Response CSGTermEvaluator::visit(State &state, const CsgNode &node)
Response CSGTermEvaluator::visit(State &state, const TransformNode &node)
{
if (state.isPrefix()) {
- double m[16];
-
- for (int i = 0; i < 16; i++)
- {
- int c_row = i%4;
- int m_col = i/4;
- m[i] = 0;
- for (int j = 0; j < 4; j++) {
- m[i] += state.matrix()[c_row + j*4] * node.matrix[m_col*4 + j];
- }
- }
- state.setMatrix(m);
+ state.setMatrix(state.matrix() * node.matrix);
}
if (state.isPostfix()) {
applyToChildren(node, CSGT_UNION);
contact: Jan Huwald // Impressum