X-Git-Url: http://git.scottworley.com/nt3d/blobdiff_plain/2d38f7243be5d76cca2812428cc90d0009e672cb..c92a9d3f963401b999f661dde190a739ebbeafde:/nt3d.js diff --git a/nt3d.js b/nt3d.js index 9c4aeb1..fd57824 100644 --- a/nt3d.js +++ b/nt3d.js @@ -98,19 +98,19 @@ nt3d = { }, extrude: function(path, shape, shapenormals, pathnormals) { - var guts_result = nt3d._extrude_guts(path, shape, shapenormals, pathnormals); + var guts_result = this._extrude_guts(path, shape, shapenormals, pathnormals); // Add the end-caps // XXX: This doesn't work if shape is not convex return guts_result.points.concat( - nt3d.trianglefan(guts_result.first_loop.reverse()), - nt3d.trianglefan(guts_result.last_loop)); + this.trianglefan(guts_result.first_loop.reverse()), + this.trianglefan(guts_result.last_loop)); }, closed_extrude: function(path, shape, shapenormals, pathnormals) { - var guts_result = nt3d._extrude_guts(path, shape, shapenormals, pathnormals); + var guts_result = this._extrude_guts(path, shape, shapenormals, pathnormals); // Stitch the ends together return guts_result.points.concat( - nt3d.closed_quadstrip(nt3d.zip(guts_result.first_loop, guts_result.last_loop))); + this.closed_quadstrip(this.zip(guts_result.first_loop, guts_result.last_loop))); }, _extrude_guts: function(path, shape, shapenormals, pathnormals) { var shape_fun = this.to_function(shape, false); @@ -164,7 +164,7 @@ nt3d = { if (i == 0) { result.first_loop = loop; } else { - result.points = result.points.concat(nt3d.closed_quadstrip(nt3d.zip(loop, prev_loop))); + result.points = result.points.concat(this.closed_quadstrip(this.zip(loop, prev_loop))); } prev_loop = loop; } @@ -211,7 +211,7 @@ nt3d = { }, project: function(a, b) { // Project b onto a var a_magnitude = this.magnitude(a); - return this.scale(a, this.dot(a, b) / a_magnitude * a_magnitude); + return this.scale(a, this.dot(a, b) / (a_magnitude * a_magnitude)); }, project_to_orthogonal: function(a, b) { // The nearest thing to b that is orthogonal to a