package net.systemeD.potlatch2.tools { import net.systemeD.halcyon.Map; import net.systemeD.halcyon.connection.Way; import net.systemeD.halcyon.connection.Node; public class Circularise { public static function circularise(way:Way,map:Map):void { if (way.length<4) { return; } var a:Node=way.getNode(0); var b:Node=way.getNode(way.length-1); if (a!=b) { return; } // Find centre-point // ** should be refactored to be within Way.as, so we can share with WayUI.as var patharea:Number=0; var cx:Number=0; var lx:Number=b.lon; var cy:Number=0; var ly:Number=b.latp; var i:uint,j:uint,n:Node; for (i=0; ia1) { a2=a2-360; } diff=a1-a2; if (diff>20) { for (ang=a1-20; ang>a2+10; ang-=20) { way.insertNode(j,map.connection.createNode({}, map.latp2lat(cy+Math.cos(ang*Math.PI/180)*d), cx+Math.sin(ang*Math.PI/180)*d)); j++; i++; } } } else { if (a1>a2) { a1=a1-360; } diff=a2-a1; if (diff>20) { for (ang=a1+20; ang