diff options
Diffstat (limited to 'src/transform.cc')
-rw-r--r-- | src/transform.cc | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/src/transform.cc b/src/transform.cc index 6246a59..cc026fb 100644 --- a/src/transform.cc +++ b/src/transform.cc @@ -59,31 +59,30 @@ AbstractNode *TransformModule::evaluate(const Context *ctx, const ModuleInstanti node->matrix = Transform3d::Identity(); - std::vector<std::string> argnames; - std::vector<Expression*> argexpr; + AssignmentList args; switch (this->type) { case SCALE: - argnames += "v"; + args += Assignment("v", NULL); break; case ROTATE: - argnames += "a", "v"; + args += Assignment("a", NULL), Assignment("v", NULL); break; case MIRROR: - argnames += "v"; + args += Assignment("v", NULL); break; case TRANSLATE: - argnames += "v"; + args += Assignment("v", NULL); break; case MULTMATRIX: - argnames += "m"; + args += Assignment("m", NULL); break; default: assert(false); } Context c(ctx); - c.setVariables(argnames, argexpr, evalctx); + c.setVariables(args, evalctx); if (this->type == SCALE) { |