summaryrefslogtreecommitdiff
path: root/mainwin.cc
diff options
context:
space:
mode:
authorclifford <clifford@b57f626f-c46c-0410-a088-ec61d464b74c>2009-10-20 11:34:16 (GMT)
committerclifford <clifford@b57f626f-c46c-0410-a088-ec61d464b74c>2009-10-20 11:34:16 (GMT)
commitde239cbfaff16c7eae907324e244074190d4731d (patch)
treea07e17b4f77d59ad792c46c54d2718f1f74006b3 /mainwin.cc
parent3116be034bdba83e3a1b824f26dbd5463653be5e (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.cc23
1 files changed, 23 insertions, 0 deletions
diff --git a/mainwin.cc b/mainwin.cc
index 86411f7..d28271a 100644
--- a/mainwin.cc
+++ b/mainwin.cc
@@ -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) {
contact: Jan Huwald // Impressum