X-Git-Url: http://git.chise.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=engine%2Fpolygons.js;h=a52305c79846ffc41cc4a24f6640b53b048553e4;hb=89391b0cb321beedeefb3b879599089fb1188bd7;hp=7467878cc8ab2a9b9aba64301eb2aaaeda4857f1;hpb=bcc1e782478cc1076a9e627f7e88b1a20989e826;p=chise%2Fkage.git diff --git a/engine/polygons.js b/engine/polygons.js index 7467878..a52305c 100755 --- a/engine/polygons.js +++ b/engine/polygons.js @@ -1,38 +1,47 @@ function Polygons(){ // method + function clear(){ // void + this.array = new Array(); + } + Polygons.prototype.clear = clear; + function push(polygon){ // void // only a simple check var minx = 200; var maxx = 0; var miny = 200; var maxy = 0; + var error = 0; for(var i = 0; i < polygon.array.length; i++){ if(polygon.array[i].x < minx){ - minx = polygon.array[i].x; + minx = polygon.array[i].x; } if(polygon.array[i].x > maxx){ - maxx = polygon.array[i].x; + maxx = polygon.array[i].x; } if(polygon.array[i].y < miny){ - miny = polygon.array[i].y; + miny = polygon.array[i].y; } if(polygon.array[i].y > maxy){ - maxy = polygon.array[i].y; + maxy = polygon.array[i].y; + } + if(isNaN(polygon.array[i].x) || isNaN(polygon.array[i].y)){ + error++; } } - if(minx != maxx && miny != maxy && polygon.array.length >= 3){ + if(error == 0 && minx != maxx && miny != maxy && polygon.array.length >= 3){ var newArray = new Array(); newArray.push(polygon.array.shift()); while(polygon.array.length != 0){ - var temp = polygon.array.shift(); - if(newArray[newArray.length - 1].x != temp.x || - newArray[newArray.length - 1].y != temp.y){ - newArray.push(temp); - } + var temp = polygon.array.shift(); + if(newArray[newArray.length - 1].x != temp.x || + newArray[newArray.length - 1].y != temp.y){ + newArray.push(temp); + } } if(newArray.length >= 3){ - polygon.array = newArray; - this.array.push(polygon); + polygon.array = newArray; + this.array.push(polygon); } } } @@ -40,7 +49,7 @@ function Polygons(){ function generateSVG(){ // string var buffer = ""; - buffer += "\n"; + buffer += "\n"; buffer += "\n"; for(var i = 0; i < this.array.length; i++){ buffer += "