diff options
author | clifford <clifford@b57f626f-c46c-0410-a088-ec61d464b74c> | 2009-10-20 11:34:16 (GMT) |
---|---|---|
committer | clifford <clifford@b57f626f-c46c-0410-a088-ec61d464b74c> | 2009-10-20 11:34:16 (GMT) |
commit | de239cbfaff16c7eae907324e244074190d4731d (patch) | |
tree | a07e17b4f77d59ad792c46c54d2718f1f74006b3 /mainwin.cc | |
parent | 3116be034bdba83e3a1b824f26dbd5463653be5e (diff) |
Clifford Wolf:
Added $vpt and $vpr special variables
git-svn-id: http://svn.clifford.at/openscad/trunk@116 b57f626f-c46c-0410-a088-ec61d464b74c
Diffstat (limited to 'mainwin.cc')
-rw-r--r-- | mainwin.cc | 23 |
1 files changed, 23 insertions, 0 deletions
@@ -49,6 +49,14 @@ MainWindow::MainWindow(const char *filename) root_ctx.set_variable("$fa", Value(12.0)); root_ctx.set_variable("$t", Value(0.0)); + Value zero3; + zero3.type = Value::VECTOR; + zero3.vec.append(new Value(0.0)); + zero3.vec.append(new Value(0.0)); + zero3.vec.append(new Value(0.0)); + root_ctx.set_variable("$vpt", zero3); + root_ctx.set_variable("$vpr", zero3); + root_module = NULL; absolute_root_node = NULL; root_raw_term = NULL; @@ -361,6 +369,21 @@ void MainWindow::compile(bool procevents) enableOpenCSG = false; root_ctx.set_variable("$t", Value(e_tval->text().toDouble())); + + Value vpt; + vpt.type = Value::VECTOR; + vpt.vec.append(new Value(-screen->object_trans_x)); + vpt.vec.append(new Value(-screen->object_trans_y)); + vpt.vec.append(new Value(-screen->object_trans_z)); + root_ctx.set_variable("$vpt", vpt); + + Value vpr; + vpr.type = Value::VECTOR; + vpr.vec.append(new Value(fmodf(360 - screen->object_rot_x + 90, 360))); + vpr.vec.append(new Value(fmodf(360 - screen->object_rot_y, 360))); + vpr.vec.append(new Value(fmodf(360 - screen->object_rot_z, 360))); + root_ctx.set_variable("$vpr", vpr); + root_module = parse(editor->toPlainText().toAscii().data(), false); if (!root_module) { |