center);
},
go: function() {
+ // Remove any previous download links
+ var old_download_link = document.getElementById("nt3d_download");
+ if (old_download_link) {
+ old_download_link.parentNode.removeChild(old_download_link);
+ }
+
+ // Continue in a callback, so that there's not a stale download
+ // link hanging around while we process.
+ setTimeout(function(the_this) { (function() {
+
// Get params from form
var params = [];
for (var i = 0; i < this.user_params.length; i++) {
- params[i] = this.form.elements["param"+i].value;
+ var as_string = this.form.elements["param"+i].value;
+ var as_num = +as_string;
+ params[i] = isNaN(as_num) ? as_string : as_num;
}
// Run user_function
}
this.stl += "endsolid " + this.user_function.name + "\n";
- // Remove any previous download links
- var old_download_link = document.getElementById("nt3d_download");
- if (old_download_link) {
- old_download_link.parentNode.removeChild(old_download_link);
- }
// Offer result as download
var download_link = document.createElement("a");
download_link.setAttribute("href", "data:application/sla," + encodeURIComponent(this.stl));
this.ui.appendChild(download_link);
setTimeout(function() { download_link.setAttribute("style", "-webkit-transition: background-color 0.4s; -moz-transition: background-color 0.4s; -o-transition: background-color 0.4s; -ms-transition: background-color 0.4s; transition: background-color 0.4s; background-color: inherit"); }, 0);
+
+ }).call(the_this); }, 0, this); // (We were in a callback this whole time, remember?)
},
framework: function (f, params) {
this.user_function = f;