diff options
author | Marius Kintel <marius@kintel.net> | 2013-04-18 22:34:14 (GMT) |
---|---|---|
committer | Marius Kintel <marius@kintel.net> | 2013-04-18 22:34:14 (GMT) |
commit | 58bd9c9e3f4454d055bf51d63463a9965a9dcbd7 (patch) | |
tree | 732cd423858685365a4115d44a52f85ae90866a1 /src/transform.cc | |
parent | 73c2a45af6afca253159d2cf9c1ecf5747f0217e (diff) |
Cleaned up argument list handling, related to #116
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) { |