X-Git-Url: http://git.scottworley.com/nt3d/blobdiff_plain/d82d3571463f3aaf9de52c4b8754adf8e9b58b4a..a4cc880243177697bfa0a1e9091bfd12a60366ab:/nt3d.js?ds=inline diff --git a/nt3d.js b/nt3d.js index 878ee43..ae17af1 100644 --- a/nt3d.js +++ b/nt3d.js @@ -23,6 +23,26 @@ nt3d = { return this.triangle(a, b, c).concat( this.triangle(c, d, a)); }, + trianglefan: function(fan) { + var result = []; + for (var i = 2; i < fan.length; i++) { + result.push(fan[0], fan[i-1], fan[i]); + } + return result; + }, + quadstrip: function(strip) { + if (strip.length % 2 != 0) { + alert("quadstrip length not divisble by 2!"); + } + var result = []; + for (var i = 2; i < strip.length; i += 2) { + result = result.concat(nt3d.quad(strip[i-2], strip[i-1], strip[i+1], strip[i])); + } + return result; + }, + closed_quadstrip: function(strip) { + return nt3d.quadstrip(strip.concat([strip[0], strip[1]])); + }, sub: function(a, b) { return [a[0] - b[0], a[1] - b[1], @@ -77,9 +97,11 @@ nt3d = { var download_link = document.createElement("a"); download_link.appendChild(document.createTextNode("Download!")); download_link.setAttribute("id", "nt3d_download"); + download_link.setAttribute("style", "background-color: blue"); download_link.setAttribute("download", this.user_function.name + ".stl"); 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); }, framework: function (f, params) { this.user_function = f; @@ -93,6 +115,7 @@ nt3d = { document.body.appendChild(this.ui); } this.form = document.createElement("form"); + this.form.setAttribute("onsubmit", "nt3d.go(); return false"); this.ui.appendChild(this.form); var table = document.createElement("table"); this.form.appendChild(table);